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

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

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

Евгений
27 ноября 2021, 23:53
0
может плагин какой то сдлеать чтобы эту проверку делал и снимал публикацию при сохранении например… хмм
    Артур
    28 ноября 2021, 17:44
    +1
    Если XParser создаёт ресурсы через процессоры, то скорее всего срабатывают системные события, значит можно попробовать на OnDocFormSave отменять публикацию.
      Евгений
      28 ноября 2021, 18:02
      0
      да, вот пытаюсь разобраться как такой плагин сделать :)
        Артур
        28 ноября 2021, 22:05
        0
        Так ты проверил, событие срабатывает?
          Евгений
          03 декабря 2021, 21:07
          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