дополнительные параметры в файле макета customer.xml magento - PullRequest
3 голосов
/ 06 сентября 2011

Я пытаюсь добавить пояснительный текст к верхним ссылкам клиентов (мой аккаунт, моя корзина и т. Д.) Через файл customer.xml из пустой темы (это в Magento 1.4.1.1)

Я думаю, что magento имеет возможность «из коробки», выдавая параметры afterText или beforeText, но когда я их использую, кажется, что дело только в ссылке (а не после, что я и хочу). *

вот выдержка из customer.xml, которая включает дополнительный параметр :

<default>
    <!-- Mage_Customer -->
    <reference name="top.links">
      <action method="addLink" translate="label title" module="customer"><label>Your Account</label><url helper="customer/getAccountUrl"/><title>Your Account</title><prepare/><urlParams/><position>10</position><null /><aParams>rel="nofollow"</aParams><afterText>click to login</afterText></action>  
    </reference>
</default>

кто-нибудь имел счастье с этим раньше? нужны ли дополнительные аргументы для liParams?

Заранее спасибо!

РЕДАКТИРОВАТЬ: вот последний код, который, кажется, работает для меня. Обратите внимание на добавление дополнительных полей, как предложено спасибо за это, это очень помогло. и вы, и ответ @Zyava ниже помогли мне разобраться. В предложении выше отсутствует одно поле (поле innerText). Я поместил полный код ниже, который, кажется, работает для меня. надеюсь, это поможет кому-то еще!

    <action method="addLink" translate="label title" module="customer">
         <label>Your Account</label>
         <url helper="customer/getAccountUrl"/>
         <title>Your Account</title>
         <prepare/>
         <urlParams/>
         <liParams/>
         <aParams>rel="nofollow"</aParams>
         <innerText/>
         <beforeText>yourbeforetext</beforeText>
         <afterText>youraftertext</afterText></action>

большое спасибо @clockworkgeek и @zyava - оба ваших ответа помогли мне пройти через это.

Ответы [ 2 ]

3 голосов
/ 07 сентября 2011

К сожалению, имена тегов XML не относятся к параметрам переменной, важен только ряд параметров.Вам необходимо указать все параметры вплоть до afterText, включая beforeText.

<action method="addLink" translate="label title" module="customer">
    <label>Your Account</label>
    <url helper="customer/getAccountUrl"/>
    <title>Your Account</title>
    <prepare/>
    <urlParams/>
    <position>10</position>
    <liParams/>
    <aParams>rel="nofollow"</aParams>
    <beforeText/>
    <afterText>click to login</afterText>
</action>
1 голос
/ 07 сентября 2011

Блок «top.links» имеет тип Mage_Page_Block_Template_Links.Посмотрите на метод Mage_Page_Block_Template_Links::addLink():

public function addLink($label, $url='', $title='', $prepare=false, $urlParams=array(),
    $position=null, $liParams=null, $aParams=null, $beforeText='', $afterText='')
{

Как мы видим, здесь есть параметр $afterText.Теперь перейдите к page/template/links.phtml вашей темы, в моем случае это \app\design\frontend\base\default\template\page\template\links.phtml и проверьте, что там присутствует что-то вроде <?php echo $_link->getAfterText() ?>.

...