Вопрос касается Shopware, платформы электронной коммерции. У меня есть требование изменить способ сохранения URL-адресов товаров в магазине. Заказчику нужен короткий URL, поэтому сохраняется только первая категория. Нет пути к категории.
Не категория 1 / категория 2 / категория 3 / название продукта
но это одна категория1 / название продукта.
Пробовал что-то из базовых настроек бэкэнда -> Интерфейс -> Настройки маршрута SEO -> Шаблон элемента URL-адреса SEO. Но заставить его работать не удалось.
Итак, я попробовал со слушателем. Мероприятие:
public static function getSubscribedEvents()
{
return [
'sRewriteTable::sSmartyCategoryPath::before' => 'onTableRewrite'
];
}
И связанная функция:
public function onTableRewrite(\Enlight_Hook_HookArgs $args)
{
/** @var \Shopware_Controllers_Backend_Article $subject */
$subject = $args->getSubject();
$paramArgs = $args->getArgs();
//$args->setReturn('asdfasdf');
//$paramArgs = $args->set('categoryID', 1);
if(!empty($paramArgs[0]['articleID'])){
return 'ThisisKeva';
}
return true;
}
Я пытался вернуть что-то, чтобы посмотреть, работает ли это, но это никогда не работает. Как будто мой слушатель не влияет на то, как работает основная функция. Но это останавливается на die ();
Как изменить базовую функцию, возвращаемую слушателем? Является ли это возможным? Я что-то неправильно понял?