Отображение выбора валюты в заголовке - PullRequest
2 голосов
/ 24 февраля 2012

Я пытаюсь добавить пункт выбора валюты в заголовок моего магазина magento.У меня установлены три валюты, и их курсы импортируются и сохраняются через менеджер валют magentos.Вот что я сделал:

1.Отредактируйте page.xml
Я отредактировал page.xml файл и добавил

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

строку в header block

2.Отредактируйте header.phtml
Я отредактировал файл header.phtml и добавил

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

После этих двух шагов я не могу видеть средство выбора валюты в моем заголовке.Я могу отобразить его в т. Е. В левом столбце в области содержимого, но не в заголовке.Ты хоть представляешь, что мне не хватает?Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 24 февраля 2012

Моим первым предположением будет неправильный тип вашего блока.

Пример типа блока

Давайте рассмотрим общий тип блока: page/html.

page будет псевдонимом класса модуля.В этом случае мы ссылаемся на класс Mage_Page_Block.

html.Итак, теперь у нас есть полный тип блока: Mage_Page_Block_Html

Так что вполне возможно, что это правильно: у нас недостаточно информации от вас.Если у вас есть пользовательский модуль, а Company_Directory_Block_Currency существует, то это, в конце концов, правильно.

Я думаю, у вас есть простой шаблон (currency.phtml), который вы хотите отобразить.В этом случае вы бы использовали тип блока core/template.Если вы хотите использовать методы, которые есть в Mage_Page_Block_Html (что, вероятно, очень вероятно), тогда вы будете использовать тип блока page/html, который мы видели выше.

Дальнейшее устранение неполадок

Вероятно, само собой разумеется, но убедитесь, что 'directory / currency.phtml' существует в правильном пути.

Помимо этого, включите подсказки пути / шаблона и убедитесь, что вы загружаете текущие шаблоны.

0 голосов
/ 25 августа 2016

Откройте header.phtml и вставьте код ниже в нужном месте

<?php echo $this->getLayout()->createBlock('directory/currency')->setTemplate('directory/currency.phtml')->toHtml(); ?>

Принятый код: http://chandreshrana.blogspot.in/2014/04/display-currency-selector-in-header.html

0 голосов
/ 24 февраля 2012

Хорошо, похоже, проблема в том, что я не мог использовать один и тот же блок валюты в заголовке и в левом столбце.Все, что мне нужно было сделать, это изменить эту строку page.xml (в блоке заголовка):

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

на

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

и я, конечно, клонировал directory/currency.phtml файл как directory/currency_top.phtml.Теперь переключатель валют работает нормально.Спасибо за вашу помощь!

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