Изменить положение селектора валют в Magento - PullRequest
1 голос
/ 22 мая 2009

В настоящее время селектор валют находится сверху, вот мой сайт разработки:

http://nordschleife.metaforix.net/118/118/index.php/kyocera.html

Однако я бы хотел переключить переключатель валют под заголовком таблицы «Цена».

Я пытался

echo $this->getCurrency();

но там ничего нет. Думаю, мне нужен какой-то метод, например getCurrencyHtml(), но, похоже, такого метода нет.

Или я должен редактировать файлы макетов, и как мне это сделать?

1 Ответ

5 голосов
/ 22 мая 2009

Я могу показать вам способ сделать это, но для того, чтобы понять, что происходит, вам нужно иметь хотя бы базовые знания о том, как работают файлы макетов Magento. Для этого вы должны прочитать руководство дизайнера здесь и базовое объяснение того, как все это работает здесь .

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

Блок в Magento состоит из двух файлов: класса блока, который выполняет всю работу по генерации динамического содержимого, и файла шаблона, который использует методы класса блока вместе с некоторым HTML для создания окончательного результата. Класс блока уже проделал тяжелую работу по получению валютных опций, поэтому, если мы сможем использовать его в паре с новым файлом шаблона, мы установим.

Существующее объявление в файлах макета и, в частности, directory.xml:

<block type="directory/currency" name="currency" before="catalog.leftnav" template="directory/currency.phtml"/>

Итак, файл шаблона: app \ design \ frontend [interface] [theme] \ template \ directory \ currency.phtml

Скопируйте это в currency2.phtml и удалите заголовок.

Теперь, чтобы создать новый блок с именем "currency2", состоящий из старого класса блоков и нового файла шаблона, мы пишем

<block type="directory/currency" name="currency2" as="currency2" template="directory/currency2.phtml"/>

Мы будем использовать это в /template/catalog/product/list.phtml, поэтому откройте catalog.xml и поместим объявление нового блока в

<block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">

в соответствующем разделе (я предполагаю catalog_category_default).

Наконец, откройте /template/catalog/product/list.phtml и добавьте

<?php echo $this->getChildHtml('currency2'); ?>

где вы хотите, чтобы блок появился.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...