Мелкие шероховатости с кавычкой и модификатором escape Принято

0

Есть два шаблона checkout.confirmation.html и my.order.html. В шаблонах есть вывод списка товаров в уже сделанном заказе и в заказе, который в процессе подтверждения. В одном и в другом шаблонах добавлены конструкции вида.

{foreach $items as $item}
{$product = $wa->shop->product($item.product_id)}

<a href="{$wa->shop->productUrl($product)}" class="item-photo">
{$wa->shop->productImgHtml($product, &#039;48x48&#039;, [&#039;default&#039; => "`$wa_theme_url`img/dummy48.png", &#039;alt&#039; => "", &#039;title&#039; => "Перейти к товару `$item.name|escape`"])}
</a>                
<b>{$item.name}</b> (добавление escape в этой строке вообще не влияет ни на что)

и

{foreach $order.items as $item}
{$product = $wa->shop->product($item.product_id)}

<a href="{$wa->shop->productUrl($product)}" class="item-photo">
{$wa->shop->productImgHtml($product, &#039;48x48&#039;, [&#039;default&#039; => "`$wa_theme_url`img/dummy48.png", &#039;alt&#039; => "", &#039;title&#039; => "Перейти к товару `$item.name`"])}
</a>
<b>{$item.name}</b>

В названии товара используются кавычки типа Товар "Супер-товар" универсальный 0,75л.

Суть проблемы в следующем. В $item.name при формировании title в одном случае нужно использовать |escape и без него никак вообще ибо разрывается и ломается title на куски по кавычкам и пробелам, а в другом категорически нельзя, т.к. с ним кавычка преобразуется на &quot; и это некрасиво вылезает.

При этом в названии товара в checkout.confirmation.html влияние escape вообще нет. Хоть он есть, хоть нет, всё едино правильно выводится.

<b>{$item.name}</b>

В случае my.order.html добавление escape вытаскивает кавычку в виде &quot; и этот модификатор там использовать нельзя.

Вопрос в следующем. Почему при практически одинаковых действиях с получением данных приходится приспосабливаться и "танцевать" в теме дизайна, используя разные методы, несмотря на практически полную индентичность кода и методов?

0 комментариев

    Добавить комментарий

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