Передача вспомогательному классу параметра через XML-файл макета
У меня есть рабочая ссылка, которая добавляется в блок top.links следующим образом:
<block type="page/template_links" name="top.links" as="topLinks">
<action method="addLink">
<label>About Us</label>
<url helper="mymodule/getAboutUsUrl"/>
<title>About Us</title>
<prepare/>
<urlParams/>
<position>20</position>
</action>
</block>
В конце концов я хотел, чтобы getAboutUsUrl превратился в getExternalSiteUrl. Я хочу, чтобы одна функция принимала параметры. Например, getExternalSiteUrl ('about-us'), который затем возвращает что-то вроде / the / url / about-us. Однако я не могу найти способ отправить параметры вспомогательного класса в XML-файл Layout. Я уже искал другие модули, делающие это, и не смог найти ни одного в модуле Customer, где я искал.
Кто-нибудь может помочь?
1 ответ
Решение
<block type="page/template_links" name="top.links" as="topLinks">
<action method="addLink">
<label>About Us</label>
<url helper="mymodule/getAboutUsUrl">
<arg>Now with more args!</arg>
<!-- will result in the string being passed as first arg -->
</url>
<title>About Us</title>
<prepare/>
<urlParams/>
<position>20</position>
</action>
</block>
Обратите внимание, что помощники не расширяются Varien_Object
поэтому ваш метод должен будет явно определить getAboutUsUrl()
метод.