Проблема с замененным именем массива в /topic/add/

 
Поменял в конфиге имя массива 'topic' на другое. При нажатие «Написать» открывается меню для добавдения новых топиков с выделенным «Новые» и все работает хорошо, в адресе отображает новое имя массива, если нажать «Черновики» то тоже все будет отображать правильно, но если повторно нажать «Новые» то возникает ошибка «404» и в адресе уже вместо нового имя массива появляется старое 'topic'. Выхожу на главную страницу и повторяю все те же действия все работает, до повторного нажатия на «Новые». В чем проблема?

UPD
Такая же проблема и при редактирование топика.

Помогите переопределить в плагине энтити класс топика [РЕШЕНО]

1
Всем доброго времени суток.
Есть замечательное руководство Как создать свой вид топика, используя систему плагинов.
Однако, у меня есть необходимость переопределить еще и стандартный энтити класс, через плагин. Подскажите как это сделать?

Спасибо пользователям gran , beauty_free

Рекомендация к использованию: Наследование шаблонов

19
На примере будущего jQuery-шаблона для ПриветСочи.ру решил выложить мини-инструкцию использования наследования шаблонов, сильно сокращающий количество часто повторяющегося Smarty-кода.

Коротко о файлах в примере (ссылка на архив внизу):

  • topic.prototype.tpl — прототип топика, содержащий всю повторяющуюся разметку. Использованы вложенные конструкции типа
    {block name=...}
  • topic_link.tpl, topic_photoset.tpl, topic_question.tpl, topic_topic.tpl — файлы, наследующие и заменяющие/дописывающие некоторые блоки прототипа топика (topic.prototype.tpl)
  • topic.social.tpl — включение с кодом кнопочек публикации в разные соц-сети.


Коротко о содержании файлов:

Посмотрев файлы примера, не сложно заметить, что файлы topic_*.tpl содержат:
  1. в начале каждого файла наличиствует код
    {extends file=topic.prototype.tpl}
  2. минимум специфической разметки, обрамленной в конструкции
    {block name=... флаг}
    — это замены и дополнения блоков. Флаг может либо отсутствовать (что означает полную замену содержимого блока), либо принимать принимать значения:
    • append — дописывает в конец содержимое блока к наследуемому блоку.
    • prepend — дописывает в начало содержимое блока к наследуемому блоку.
    • hide — скрывает блок (насколько я понял, если добавить в блок прототипа, то по умолчанию блок будет скрыт).
    • nocache — запрещает кеширование содержания блока (а это вообще актуально для LS?).


Документация


ZIP-архив с примером

ORM для встроенных модулей

5
Пока еще модули Topic, Comment, User… не являются наследниками ORM классов, а зачастую хочется использовать преимущества ORM в плагинах, дополняющих данные модули. Скажем релейшены.

Конечно, можно отредактировать класс модуля жестко:
заменить
extends Module

на
extends ModuleORM

Только придется прописывать еще в методе Init():
parent::Init();

+ сделать тоже самое для сущностей.
Согласитесь, каждый раз при развертывании проекта выполнять эти манипуляции совсем неинтересно. Да и в итоге можно забыть, где и что менять. При чем, при обновлении модуля придется все вставлять заново.


Читать дальше
  • +1
  • 17 ноября 2011, 19:08
  • kpoxas

Что происходит после удаления топика?

 
Когда я удаляю топик (на сайте, кнопкой удалить).
Из таблиц удаляется только prefix_topic т.е. информация о том, что существует некий топик.
Однако, содержание этого топика не исчезет(таблица prefix_topic_content). Подскажите, это так и должно быть? Таблицы у меня вроди бы как InnoDB