Обновлено: 04 февраля 2016, 20:11
 Marabar

Плагин для добавления параметров в TV

Для добавления в TV MODX параметров по умолчанию, можно написать простейший плагин, который будет срабатывать на событие OnDocFormSave. Для чего это нужно, в моём случае — есть интернет-магазин по продаже контрактных автозапчастей, где одна и та же запчасть подходит к разным моделям одной и той же марки авто. Т.е. TV использует множественный выбор, а так как модели могут добавляться, необходимо исключить редактирование менеджером данного TV — всё-равно напортачит.

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

Комментарии ()




    Вы должны авторизоваться , чтобы оставлять комментарии.

    Marabar 21 сентября 2018, 00:32
    Login в MODX revolution 25
    Marabar 17 мая 2018, 12:22
    Выводим облако тегов в MODX revo 17
    medortex 14 июля 2017, 16:26
    Меню Аккордеон в MODX revo 54
    Madao 16 мая 2017, 18:28
    msMiniCartDynamic 3
    Семён 05 мая 2017, 23:30
    Создание ресурсов из фронтенда 41
    Филитович Владимир 26 февраля 2017, 22:25
    Apache 2.2.22, установка и настройка 41
    valery 30 ноября 2016, 15:51
    phpMyAdmin 3.5.1, установка и настройка 3