Наверх

Запретить Tickets заполнять introtext

<?php
if ($modx->event->name == "OnDocFormSave") {
	if ($resource->class_key != 'Ticket') return;
	$introtext = $resource->get('introtext');
	$generateIntrotext = $resource->getIntroText($resource->get('content'), false);
	if (empty($resource->getProperty('disable_jevix'))) {
		$generateIntrotext = $resource->Jevix($generateIntrotext);
	}
	if ($introtext == $generateIntrotext) {
	    $resource->set('introtext', '');
	    $resource->save();
	}
}


5 комментариев

  1. Василий Столейков 28 сентября 2017, 09:59 # 0
    Плагин ещё рабочий?
    У меня он не сохраняет.
    1. Скопировал код плагина
    2. Указал плагину событие OnDocFormSave
    3. Очистил у тикета интротекст и сохранил.
    4. Обновил страницу — сгенерированный интротекст снова на месте…
    1. Василий Столейков 28 сентября 2017, 10:03 # 0
      Приоритеты плагину задавал, не помогает.
      1. Василий Столейков 28 сентября 2017, 10:15 # 0
        if ($introtext == $generateIntrotext) {
        Это условие не выполняется.
        1. Илья Уткин 28 сентября 2017, 10:23 # 0
          Всё работает. Вот тестовый сайт с этим плагином:

          http://s11140.h5.modhost.pro/manager/
          Логин: s11140
          Пароль: JWZTqxSHMlno
          1. Василий Столейков 28 сентября 2017, 10:31(Комментарий был изменён) # 0
            Нет, не работает, создал там новый тикет.
            Я понял в чём дело: если в настройках именно секции отключить Jevix для дочерних тикетов, то в introtext будет просто копироваться контент.
            Я переделал у себя плагин, сравнивая intotext и с content, теперь работает:
            <?php
            if ($modx->event->name == "OnDocFormSave") {
            	if ($resource->class_key != 'Ticket') return;
            	$introtext = $resource->get('introtext');
            	$content = $resource->getContent();
            	$generateIntrotext = $resource->getIntroText($resource->get('content'), false);
            	if (empty($resource->getProperty('disable_jevix'))) {
            		$generateIntrotext = $resource->Jevix($generateIntrotext);
            	}
            	if ($introtext == $generateIntrotext || $introtext == $content) {
            	    $resource->set('introtext', '');
            	    $resource->save();
            	}
            }
            
            Спасибо за плагин — всё работает!

        Авторизация

        через сервис Loginza:


        Шаблоны MODX

        1 2 Дальше »

        Объектная
        модель
        MODX