Хотели поинтересоваться когда будет решен вопрос с правильным формированием ссылок на товары заказа для отложенных (триггерных) сообщений с предложением оставить отзыв о купленных товарах. Данный вопрос рассматривался в нескольких темах:
Проблема в том, что при использовании предложенной конструкции:
<ul>
{foreach $order.items as $item}
{$product = $wa->shop->product($item.product_id)}
{$product_url = $wa->shop->productUrl($product)}
<li><a href="http://{$order.params.storefront}{$product_url}">{$item.name|escape}</a></li>
{/foreach}
</ul>
при отправке тестового сообщения формируются рабочие ссылки, а при отправке через CRON нерабочие, такого вида:
http://мойдомен.руhttp//мойдомен.ру/товар
или http://мойдомен.руhttp//второйдомен.ру/товар, если имеется несколько витрин.
Для решения этой проблемы на форуме предлагалось следующее решение:
<ul>
{foreach $order.items as $item}
{$product=$wa->shop->product($item.product_id)}
<li><a href="{$wa->shop->productUrl($product)|replace:'http//':'http://'}reviews/" target="_blank">{$item.name|escape}</a></li>
{/foreach}
</ul>
В данном случае ссылка в тестовом сообщении была нерабочая, а через CRON рабочая, но этот вариант подходит, если имеется только одна витрина, но не позволяет выбрать нужную витрину, если используется несколько витрин, так как в ссылку подставляется та витрина, которая не нужна в данном случае.
Также ссылки формируются с http, а не с https.
Просьба решить этот вопрос, так как использование отложенных сообщений в данном случае становится неполноценным.
2 комментария
В шпаргалке под редактором шаблона триггерного уведомления есть конструкция для получения URL товара с учётом указанного адреса витрины:
В неё вместо переменной $storefront_url подставьте переменную $order.params.storefront, в которой хранится адрес витрины, на которой оформлен заказ. Получится вот так:
Если заказ оформлен через бекенд, то переменная $order.params.storefront с адресом витрины будет пустой, и ссылка на товар не сформируется. Чтобы ссылки формировались для всех заказов, можно указать адрес какой-то витрины по умолчанию с помощью строки
Только убедитесь, что в свойствах этой витрины выбраны все типы товаров, иначе некоторые ссылки могут оказаться нерабочими.
Итоговый код:
Здравствуйте Михаил!
Спасибо! Попробуем и отпишемся.