Дополнение модулей

#
Дополнение модулей
Здравствуйте!
Не пойму как дополнить в стандратный модуль свою модель, чтоб не слетало все при обновлении. Например, я пытаюсь сделать комментарии пользователя. Создал таблицу comment_siteusers, наподобии comment_shop_items. Вытащил код из shop_items - все работает, но понимаю, что при первом обновлении, все труды улетят.
Проблема я так понимаю решаеться через хуки, например вывод комментов
Siteuser.onBeforeGetXml легко повесить например

$object->addEntities($oSiteuser->Comments->findAll());

тут упростил, не проверял правильность, просто для примера
Вроде как бы сложного и ничего нет, но вот я не пойму, как связь с Comments добавить к самой модели, если исправлять модуль, то в модели нужно дописать
'comment' => array('through' => 'comment_siteuser',
не могу так же понять, как добавить параметр в хуки, например,что-то типа showXMLComments, чтобы можно было отключать вывод, собственно и как его вызывать в дин.страницу. Может конечно непонятно проблему описал. Может сам дурак, а все это легко и просто, но вот не понимаю я как это сделать
Модератор
#
Re: Дополнение модулей
В том то и дело, что связь в модель хуком Вы не добавите, только унаследовав модель и используя в своих контроллерах унаследованную модель.
Либо обходиться без связей а просто получать через ORM+QueryBuilder комментарии пользователя.
#
Re: Дополнение модулей
Тема старая, но ничего более подходящего я поиском не нашел.

А разве можно унаследовать модель, не создавая таблицу в БД?
Модератор
#
Re: Дополнение модулей
lezhenkin,
можно, имя таблицы указываете в
protected $_tableName = 'modules';
, посмотрите, например, Company_Department_Site_Module_Model
#
Re: Дополнение модулей
hostcms,
А как добавить связь "один-ко-многим", например? В модели, которая наследовала родительскую модель, создать метод, который добавит связь к массиву $_hasMany? Или есть более правильный способ?
#
Re: Дополнение модулей
В дочерний класс добавил массив $_hasMany, в котором указал нужную мне связь. А в другой моей пользовательской модели чуть подправил массив $_belongsTo, заменив там array() на array( "foreign_key" => "site_id" )

Походу сделал всё как надо. Работает 0_О
Авторизация