Доработанный алиас для товаров minishop

Добры день, подскажите кто может)

Есть задача сделать урл у товаров по правилу alias-id, чтобы не было проблем у менеджеров при забивки товаров с одинаковыми именами.

Можно конечно использовать настройку минишоп и использовать id вместо псевдонима, но тогда пропадает чпу у товаров.

в итоге создав плагин
if ($modx->event->name == 'OnDocFormSave') {
    $alias = $resource->get('alias');
    $parent = $resource->get('parent');
    $template = $resource->get('template');

$id=(int)$id;

    if ($template == 2 ) { 
    $resource->set('alias', $alias.'-'.$id);
    $resource->save();
    }

}
Призадумался, а как заставить генерировать псевдоним только для новых товаров, так как с этим плагином при редактировании товаров урл будет все время меняться? добавляя к урл -id.

Подскажите, как же генерировать урл только для вновь создаваемых товаров.
Ilya Ev
02 ноября 2014, 09:20
modx.pro
1
2 201
0

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

    Сергей
    Сергей
    24 августа 2017, 18:07
    0
    Никто не решил? Тоже хотел бы такую фишку
      Павел Гвоздь
      24 августа 2017, 19:11
      4
      0
      Так а чего там решать, все просто до ужаса:
      if ($modx->event->name == 'OnDocFormSave' && $mode == 'new' && is_object($resource) && $resource->get('class_key') == 'msProduct') {
          $resource->set('alias', ($resource->get('alias') . '-' . $id));
          $resource->save();
      }
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3