Selector - custom TV для составления списка документов в Evolution CMS.
Скачивать здесь: Pathologic
Selector является заменой для mm_ddSelectDocuments.
В отличие от mm_ddSelectDocuments:
Код получился простой, разобраться при желании не сложно.
Для работы требуется DocLister.
Больше и нечего написать про этот компонент, разве что некоторых пояснений требует процесс настройки под себя. Сразу поясню на примере.
Допустим, есть tv-параметр c названием related, для хранения списка похожих товаров. Чтобы его поведение отличалось от базового, нужно создать в файле assets/tvs/selector/lib/related.controller.class.php класс:
<?php namespace Selector; include_once(MODX_BASE_PATH.'assets/tvs/selector/lib/controller.class.php'); class RelatedController extends SelectorController { ... //переопределяем что нужно }
В большинстве случаев, думаю, будет достаточно изменить свойство dlParams, в котором хранятся параметры по умолчанию для запуска DocLister:
<?php namespace Selector; include_once(MODX_BASE_PATH.'assets/tvs/selector/lib/controller.class.php'); class RelatedController extends SelectorController { public function __construct($modx) { parent::__construct($modx); $this->dlParams['parents'] = 5; $this->dlParams['addWhereList'] = 'c.published = 1'; } }
Если эта часть не понятна, то могу посоветовать обратиться сюда: bezumkin
Следует обратить внимание, что параметр – related, название файла – related.controller.class.php, а название класса – RelatedController (с большой буквы).
Можно также подгружать нужный класс вручную с помощью плагина на OnManagerPageInit. В этом случае значение имеет только правильное название класса. Также есть ограничение на название tv-параметра: допускаются только латинские буквы и символ подчеркивания.