К содержанию

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

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

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

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