Вопрос о Shopware, платформе электронной коммерции.У меня есть требование изменить способ сохранения URL-адресов товаров в магазине.Клиенту нужен короткий URL, поэтому сохраняется только первая категория.Нет пути к категории.
Не категория1 / категория2 / категория3 / имя продукта
, но это одна категория1 / имя продукта.
Пробовал что-то из бэкэнда Основные настройки-> Внешний интерфейс -> SEO-маршрутНастройки -> Шаблон элемента SEO URL.Но не смог заставить его работать.
Так что я попробовал со слушателем.Событие:
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 ();
Как изменить функцию ядра, возвращаемую слушателем?Является ли это возможным?Я что-то не так понял?