Получить URL продукта в бэкенде

День добрый!

При получении коллекции продуктов во фронтэнде одним из элементов продукта является frontend_url. При получении же коллекции из бэкэнда frontend_url у продукта отсутствует. Для того чтоб он появился, как мне подсказали, необходимо правильно инициализировать роутинг. Попробовал основываясь на примере плагина экспорта в ЯндексМаркет, но результата так и не добился.

Собственно, прошу помощи... Я правильно понимаю, что инициализация активного роутинга в рамках исполняемого контроллера происходит после вызова $routing->setRoute($route, $domain) с правильно переданными параметрами? Если так, то после этого при формировании коллекции я ожидал получить frontend_url для запрошенных товаров, однако этого не происходит. Или может быть его надо запрашивать явно при формировании коллекции? Ну или может все вовсе не так...? :) Буду благодарен за разъяснения.

Спасибо.


1 ответ

  • 1
    Алексей Webasyst 20 мая 2015 04:35 #

    Пример:
    $routing = wa()->getRouting();
    $main_domain = $routing->getDomain();
    $frontend_url = $routing->getUrl('shop/frontend/product', array('product_url' => $product->url), null, $main_domain);

    У каждом товаре указан URL, который постоянен на разных витринах. И уже ссылку на витрину нужно генерировать с учетом конкретного домена.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите