Как добавить ссылки на Magento top.links, которые перенаправляют на другой домен? - PullRequest
8 голосов
/ 30 марта 2011

Я могу добавить пользовательские ссылки на top.links Magento со следующим кодом, который я сохраняю в ../myCustomTheme/layout/local.xml

<reference name="root">
<reference name="top.links">
    <action method="addLink" translate="label title">
        <label>example</label>
        <url>example</url> 
        <title>example</title>
        <prepare>true</prepare> 
        <urlParams helper="core/url/getHomeUrl"/> 
        <position>100</position>
        <liParams/>
        <aParams>class="top-link-example"</aParams>
        <beforeText></beforeText>
        <afterText></afterText>
    </action>
</reference>
</reference>

Приведенный выше код создаст ссылку с именем example, которая указывает на http://myexampledomain.com/example. Если я изменю эту строку кода

<url>example</url>

до

<url>http://myotherexampledomain.com</url>

Я получаю ссылку с именем example, которая указывает на http://myexampledomain.com/http:/myotherexampledomain.com. Я попытался установить для параметра prepare значение false и добавить различные параметры в urlParams, посмотрев на ../app/code/core/Mage/Core /Model/Url.php безрезультатно.

1 Ответ

13 голосов
/ 31 марта 2011

Итак, я продолжал в том же духе, и у меня это работает. По сути, подготовка должна быть отключена, потому что, если для нее установлено значение «истина» или «ложь», она добавит URL к базовому URL вашего сайта. Вот исправленный код:

<reference name="root">
<reference name="top.links">
    <action method="addLink" translate="label title">
        <label>example</label>
        <url>http://myotherexampledomain.com</url> 
        <title>example</title>
        <prepare/>
        <urlParams/> 
        <position>100</position>
        <liParams/>
        <aParams>class="top-link-example"</aParams>
        <beforeText></beforeText>
        <afterText></afterText>
    </action>
</reference>
</reference>

Я также удалил helper = "core / url / getHomeUrl" из urlParams, потому что функция getHomeUrl в этом случае не нужна. Приведенный выше код создает ссылку с именем example, которая правильно указывает на http://myotherexapmpledomain.com.

...