Лучшие практики способ редактировать топ-ссылки Magento
-
16-10-2019 - |
Вопрос
Допустим, мы хотим добавить значок корзины для покупок прямо перед ссылкой «My Cart» на главных ссылках Magento (см. Верхние ссылки ниже).
Как лучше всего это сделать?
- Сделать что -нибудь в toplinks.php?
- Что -нибудь, чтобы links.phtml?
- XML -файл?
- Есть другие варианты?
Я понимаю, что это можно сделать с помощью CSS, но по мере того, как растут мои потребности в настройке, я хочу знать, как это можно сделать без CSS, поэтому я могу настроить более сложные вещи.
Решение
В любом случае не редактируйте файл шаблона (links.phtml
) Это служит общим шаблоном для всех списков ссылок. Например, он используется для ссылок в нижнем колонтитуле.
С toplinks.php
Вы можете делать все, что хотите, потому что это устарело с CE V1.4.0.1.
Я рекомендую использовать файлы XML, которые добавляют ссылки в верхний контейнер для достижения того, что вам нужно.
А addLink
Метод, который вызывается при добавлении новой ссылки, поддерживает некоторые параметры, которые позволяют добавлять классы и другие атрибуты на li
а также a
Теги в ссылках и немного текста перед ссылкой и после ссылки.
public function addLink($label, $url='', $title='', $prepare=false, $urlParams=array(),
$position=null, $liParams=null, $aParams=null, $beforeText='', $afterText='')
{ ... }
Если вы хотите добавить значок в меню моей учетной записи, вы можете установить $beforeText
к <span class="icon"></span>
И добавьте несколько стилей в класс значков.
Для ссылок на корзину и оформления заказа это немного сложнее, потому что они добавляются через объект блока, не непосредственно из файла макета.
Если вам нужно что -то другое для корзины или заказа, все, что вам нужно сделать, это переопределить методы Mage_Checkout_Block_Links::addCartLink()
или же Mage_Checkout_Block_Links::addCheckoutLink()
. Анкет Эти 2 называют то же самое addLink()
И вы можете передать различные параметры.
Другие советы
В случае, если вам нужно применить пользовательский шаблон только для лучших ссылок, вы можете сделать это так, как это в Local.xml вашей темы:
<default>
<reference name="top.links">
<action method="setTemplate">
<template>page/template/my_links.phtml</template>
</action>
</reference>
<default>
Затем копировать Страница/шаблон/links.phtml и переименовать его в Page/Template/my_links.phtml и делайте все, что вам нужно в этом новом файле шаблонов.
Чтобы добавить пользовательскую ссылку на верхние ссылки через local.xml:
<reference name="top.links">
<action method="addLink" translate="label title">
<label>My Link</label>
<url>path/to/page</url>
<title>My link tooltip</title>
<prepare>true</prepare>
<urlParams/>
<position>150</position>
<liParams>id="my-custom-id"</liParams>
</action>
</reference>
Также см. Эта страница: http://www.classyllama.com/development/magento-development/editing-magentos-top-links-the-better-way
Пожалуйста, найдите этот путь, чтобы изменить верхние ссылки:
/app/design/frontend/base/default/layout/customer.xml
и ищите: Войдите в систему (в моем случае).
Теперь измените заголовок и маркировку с желаемым текстом.
Вам нужно отредактировать следующие 2 файла.
app/design/frontend/default/default/layout/checkout.xml
app/design/frontend/default/default/layout/customer.xml
В этих файлах ссылки добавляются в name="top.links"
. Анкет Просто прокомментируйте их.