Как изменить возврат основной функции из слушателя Shopware

Вопрос касается 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 ();

Как изменить базовую функцию, возвращаемую слушателем? Является ли это возможным? Я что-то неправильно понял?


person zeljko miloradovic    schedule 28.02.2019    source источник


Ответы (1)


Для этого не нужен плагин. Вы можете использовать это как шаблон SEO продукта:

{assign var='tree' value='/'|explode:{sCategoryPath articleID=$sArticle.id}}{$tree.0}/{$sArticle.name}

Объяснение:

  1. Добавьте дерево категорий в переменную и разбейте его на массив
  2. Используйте первую запись массива как ключ
person Rotfuchs    schedule 28.02.2019
comment
Спасибо друг! Я должен тебе пиво - person zeljko miloradovic; 28.02.2019