Вопрос

Допустим, мы хотим добавить значок корзины для покупок прямо перед ссылкой «My Cart» на главных ссылках Magento (см. Верхние ссылки ниже).

enter image description here

Как лучше всего это сделать?

  1. Сделать что -нибудь в toplinks.php?
  2. Что -нибудь, чтобы links.phtml?
  3. XML -файл?
  4. Есть другие варианты?

Я понимаю, что это можно сделать с помощью 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". Анкет Просто прокомментируйте их.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top