Доработанный алиас для товаров minishop
Добры день, подскажите кто может)
Есть задача сделать урл у товаров по правилу alias-id, чтобы не было проблем у менеджеров при забивки товаров с одинаковыми именами.
Можно конечно использовать настройку минишоп и использовать id вместо псевдонима, но тогда пропадает чпу у товаров.
в итоге создав плагин
Подскажите, как же генерировать урл только для вновь создаваемых товаров.
Есть задача сделать урл у товаров по правилу 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.Подскажите, как же генерировать урл только для вновь создаваемых товаров.
Комментарии: 3
Никто не решил? Тоже хотел бы такую фишку
Так а чего там решать, все просто до ужаса:
if ($modx->event->name == 'OnDocFormSave' && $mode == 'new' && is_object($resource) && $resource->get('class_key') == 'msProduct') {
$resource->set('alias', ($resource->get('alias') . '-' . $id));
$resource->save();
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.