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


Как добавлять 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 без проверок.

 

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

  • Если на Formit повесить хук на отправку данных (в конце списка хуков) в платежную систему и в этом хуке (сниппете) пытаться читать значения shk.id, shk.price, то они содержат значения предыдущего заказа.

    Всё в соответствии с документацией, так и задумано.

    Тоже самое, если вызывать отправку данных через плагин и событие OnSHKSaveOrder.

    А зачем в плагине читать значение плейсхолдера, если там есть переменная $order_id?

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

    Добрый день, коллеги.
    Использую MODx Rev 2.7.1, Shopkeeper 3.2.7.
    Вопрос следующий. Страница оформления заказа, вызываю FormIt, затем [[!$shopOrderFormCart]]. В форме заполняются все необходимые поля, для того чтобы передать в платежную систему. Если на Formit повесить хук на отправку данных (в конце списка хуков) в платежную систему и в этом хуке (сниппете) пытаться читать значения shk.id, shk.price, то они содержат значения предыдущего заказа. Тоже самое, если вызывать отправку данных через плагин и событие OnSHKSaveOrder. Пробовал из скрипта обновлять страницу, не помогает. Актуальная информация появляется в плейсхолдерах только если перенаправлять из страницы оформления заказа на другую html страницу и там читать эти плейсхолдеры. Как получить актуальные значения без пересылки на дополнительную страницу?
    Спасибо.

    Читать далее
  • Читать далее
  • А где скачать это чудо компонент?

    Читать далее