Magento - Где заменяются {{...}} заполнители? - PullRequest
4 голосов
/ 21 декабря 2011

Я создаю несколько пользовательских блоков и хочу поддерживать {{skin url = "..."}} функции динамического заполнителя Magento внутри XML-кода обновления макета .

Ex:

<action method="setImageSrc">
    <name><![CDATA[{{skin url=images/banners/MyBanner.jpg}}]]></name>
</action>

Внутри моего блочного класса я беру переменные (т. Е. $this->getImageSrc()), собираю HTML и выводю его. К сожалению, он буквально выводит {{skin url = "..."}} . Где этот перевод выполняется? Это то, что я могу просто передать мой HTML, чтобы очистить его перед выводом? Если да, то как?

ПРИМЕЧАНИЕ. Я пробовал как с CDATA, так и без него, а также без кавычек вокруг URL. Ничто не работает ... некоторые ломают это хуже, чем другие

1 Ответ

5 голосов
/ 21 декабря 2011

Благодаря информации от @clockworkgeek я понял это. Эти 2 ресурса объясняют это очень хорошо ... кроме как использовать это.

Синтаксис Magento CMS

Как работают шаблоны тегов

Чтобы реально использовать это, это ОЧЕНЬ просто. Я просто создал свой собственный метод _toHtml() в своем классе пользовательских блоков следующим образом:

public function _toHtml()
{
    $processor = Mage::getModel('core/email_template_filter');
    return $processor->filter(parent::_toHtml());
}
...