Было принято решение, реализовать добавление параметров по умолчанию в 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 комментариев