Поиск сообщества
Показаны результаты для тегов 'контейнеры'.
Найдено: 1 результат
-
В большинстве случаев ваши Ноды будут контейнером для элементов контента - это типичная структура, используемая большинством приложений. Модели нод и модели их элементов контента предоставляют ряд методов для работы друг с другом в таких отношениях. Эта взаимосвязь состоит из двух частей: функциональности, которая становится доступной для контейнера (т.е. Ноды), и функциональности, которая становится доступной для элементов контента в этой ноде. Настройка модели ноды В вашей модели ноды вы должны указать название модели элемента контента, который вы используете. public static $contentItemClass = 'string'; Например, в модели ноды Форум, мы должны указать модель элемента контента следующим образом: public static $contentItemClass = 'IPS\forums\Topic'; Настройка модели элемента контента В модели элемента контент вы должны указать название используемой модели ноды. public static $containerNodeClass = 'string'; Например, в модели ноды Topic, мы укажем модель ноды таким образом public static $containerNodeClass = 'IPS\forums\Forum'; Кроме того, вам нужно добавить ключ с именем container к свойству $databaseColumnMap, значение которого должно быть именем столбца в таблице базы данных, который содержит ID ноды, которая является родительской для каждого элемента контента. protected static $databaseColumnMap = array( 'container' => 'parent_id', //other column maps... ); Геттеры/Сеттеры, доступные для модели ноды После установления двусторонней привязки эти дополнительные геттеры и сеттеры становятся доступными для класса вашей модели. Все они определены в базовом классе модели ноды, и по умолчанию все методы get__* возвращают NULL, тогда как все методы set__* ничего не делают. Вы можете переопределить их в своем собственном классе, если вам нужно отслеживать значения.