Внедрить проверку на заполненность полей в сниппет

в xparser есть файлик и в нем такой код, как я понимаю это то самое место которое отвечает за создание ресурса после парсинга
$class = !empty($resource['class_key']) ? $resource['class_key'] : 'modResource';
$action = empty($resource['id']) ? 'create' : 'update';
а задача такая чтобы исключить создание ресурсов с пустыми полями (контент и TV картинка), еслиоба эти поля по каким то причинам не заполнились то его не нужно создавать илихотя бы не публиковать
может кто работал с xparser и знает иной способ и тп, буду благодарен
Евгений
27 ноября 2021, 20:35
modx.pro
529
0

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

Евгений
27 ноября 2021, 23:53
0
может плагин какой то сдлеать чтобы эту проверку делал и снимал публикацию при сохранении например… хмм
    Артур Шевченко
    28 ноября 2021, 17:44
    +1
    Если XParser создаёт ресурсы через процессоры, то скорее всего срабатывают системные события, значит можно попробовать на OnDocFormSave отменять публикацию.
      Евгений
      28 ноября 2021, 18:02
      0
      да, вот пытаюсь разобраться как такой плагин сделать :)
    Евгений
    04 декабря 2021, 10:14
    0
    у xparser есть такие экшны
    xParserOnBeforeTaskActions
    xParserOnTaskParseDone
    как только оформить такое под них непонятно
    if(empty($resource->get('content')) && empty($resource->getTVValue('video') && $resource->get('template')==2){
                $resource->set('published', 0);
            }
      Евгений
      04 декабря 2021, 10:26
      0
      даже вот так в событиях парсера нужно, без проверки темплейта
      if(empty($resource->get('content')) && empty($resource->getTVValue('video')){
                  $resource->set('published', 0);
              }
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7