Последние темы


Как добавлять id к alias при импорте catalogfill

  • хз в какой раздел писать, поэтому написал сюда.
    Catalogfill импортирует alias из файла, затем по задумке должен срабатывать плагин, добавляющий id к алиасу, но не вмжу в описании упоминаний на какие события можно повесить плагин

    <?php
    switch ($modx->event->name) {
            case 'OnBeforeDocFormSave';
            // Для новых ресурсов
       if ($mode == 'new') {
                if ($resource->get('template') == 4) {
                $alias = $resource->get('alias');
                $aliasid = $id .'-'. $alias;
                $resource->set('alias',$aliasid);
                $resource->save();
              }
       }
    
            break;
        }
    

    Если есть альтернативные решения - поделитесь

  • но не вмжу в описании упоминаний на какие события можно повесить плагин

    Не предусмотрено, поэтому и нет упоминаний.

    В конфиге есть функция filter_import(), через неё можно отредактировать значение алиаса. Например, можно добавить уникальную строку.

    output_arr['content']['alias'] .= uniqid();
    
  • @Andchir дело не в том, чтобы было уникальное значение. Оно именно должно соответствовать реальному id ресурса.
    В принципе ресурс импортируется неопубликованным и потом публикуется вручную, может знаете, как при таком раскладе переделать плагин, чтобы он подставлял id?

  • В принципе ресурс импортируется неопубликованным и потом публикуется вручную

    Есть событие редактирования ресурса, можно привязаться к этому событию.

  • @Andchir редактироваться могут и старые. опубликованные, ресурсы, не хотелось бы чтобы к ним приписались дубли id. Есть событие OnDocPublished но по-моему оно не срабатывает...

  • редактироваться могут и старые. опубликованные, ресурсы, не хотелось бы чтобы к ним приписались дубли id

    В коде плагина можно всё учесть, а не всегда добавлять ID без проверок.

 

Последние комментарии

  • R

    @Andchir Спасибо. Получилось.

    Читать далее
  • Похоже, что в этой форме у вас используется FormIt. Но, как я уже писал выше, он там не нужен. Сначала нужно добавить товар в корзину, тогда и будет срабатывать плагин. Формы добавления товара в корзину я у вас не увидел. Далее можно сделать хитрость, добавить форму (можно на этой же странице), где будет кнопка "Подтвердить" и скрытые поля, которые будут заполнены данными из предыдущей формы.
    В общем пока я не увидел даже намека на то, что Вы понимаете что делаете, поэтому дальше я не помощник.

    Читать далее
  • K

    Уже разобрался, забыл указать тв в системных настройках tag_mgr2.numeric
    Спасибо спец. отделу. Канал открылся довольно быстро.

    Читать далее