К содержанию

Не срабатывает плагин на событие OnDocUnPublished

Всем, привет!
Делаю плагин, который должен срабатывать после снятия с публикации документа!
Но дело в том что почему-то он не срабатывает. Вот код плагина. Документ снимается с публикации, но в логи ничего не пишет. Может кто-нибудь подскажет в чем дело. Спасибо!
<?php
switch($modx->event->name){
    case 'OnDocUnPublished ':
        $modx->log(1, 'ok');
        break;
}
Владимир
Владимир
10 августа 2015, 15:46
modx.pro
1 408
Реклама

Комментарии: 9

Василий Наумкин
Василий Наумкин Администратор
10 августа 2015, 19:01
Событие это работает ровно в одном процессоре — снятия с публикации в контекстном меню админки.

При сохранении ресурса, то есть, при его редактировании, нужно использовать OnBeforeDocFormSave и OnDocFormSave.
    Владимир
    Владимир Старожил
    10 августа 2015, 19:08
    Огромное спасибо, Василий! Буду тогда вешать на OnDocFromSave. А то не мог понять в чем проблема
    Владимир
    Владимир Старожил
    10 августа 2015, 19:38
    Появилась другая проблема. Сделал плагин
    switch($modx->event->name){
        case 'OnDocFormSave':
            $modx->log(modX::LOG_LEVEL_ERROR, 'ok');
            break;
    }
    Но он срабатывает только когда сохраняются ресурсы «modResource». Но я писал компонент и расширял стандартный класс / И вот при сохранении моих ресурсов плагин не работает, хотя сами ресурсы сохраняет
      Воеводский Михаил
      Воеводский Михаил Проверенный
      10 августа 2015, 20:07
      Как сохраняешь ресурсы?
        Владимир
        Владимир Старожил
        10 августа 2015, 21:00
        Через процессор
        $response = $this->modx->runProcessor('resource/update', $data);
          Василий Наумкин
          Василий Наумкин Администратор
          10 августа 2015, 21:16
          Если у тебя там свой класс ресурса, то может быть и свой процессор.

          А в нём и события, которые вызываются при сохранении.
            Владимир
            Владимир Старожил
            11 августа 2015, 10:01
            Точно!)) Просто не заметил, что не указал в своем процессоре
            public $beforeSaveEvent = 'OnBeforeDocFormSave';
            	public $afterSaveEvent = 'OnDocFormSave';

            Вчера вечером заметил, что у меня в админке, при полном редактировании не сохраняются мои ресурсы… лоадер бегает постоянно по кругу. Ошибок нет. Но потом заметил такую особенность. Что если из дерева редактировать ресурс (быстрое редактирование), то нормально работает сохранением. А при полном редактировании нет. И вторая особенность — не хочет сохранять именно тогда, когда в поле контента есть какой-то текст. и кстати, стандартные ресурсы сохраняет без проблем.
              Василий Наумкин
              Василий Наумкин Администратор
              11 августа 2015, 10:10
              У тебя будет еще масса подобных вопросов, так что советую сразу открывать исходники Tickets и смотреть, как они работают.
                Владимир
                Владимир Старожил
                11 августа 2015, 10:35
                Так и сделаю. Но я так понимаю, что проблема в моем процессоре update
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      9