Было принято решение, реализовать добавление параметров по умолчанию в TV через создание ресурсов с pegetitle этой модели. Ну и собственно сам плагин.
<?php // Работаем при сохранении документа - событие OnDocFormSave if ($modx->event->name == 'OnDocFormSave') { // Если сохраняемый ресурс имеет родителя с ID = 52 if($resource->get('parent') == 52) { // Получаем объекты дочерних ресурсов $res = $modx->getCollection('modResource',array('parent' => 52)); // Получаем объект TV $arr = $modx->getObject('modTemplateVar', array('id' => 13)); // Проходим циклом получаем pagetitle и записываем foreach ($res as $resources) { $out .= $resources->get('pagetitle'). '==' . $resources->get('pagetitle') . '||'; } // Удаляем в конце два прямых слеша и сохраняем в таблицу $str = substr($out, 0, strlen($out)-2); $arr->set('elements', $str); $arr->save(); return; } }
Ресурс с ID = 52 содержит в себе название моделей авто. Сами ресурсы называются по названию моделей, например: Almera, Primera и т.д. В БД, в таблицу modx_site_tmplvars, в колонку elements попадают значения вида: Almera==Almera||Primera==Primera
Источник: marabar.ru/blog-snippetyi-modx/122/
0 комментариев