我正在尝试在我的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') ?>
在这两个步骤之后,我无法在标题中看到货币选择器。我可以在内容区域中显示左列,但从不在标题中显示。你知道我错过了什么吗?提前谢谢。
答案 0 :(得分:2)
我的第一个猜测是您的块类型错误。
阻止类型示例
我们采用一种常见的块类型: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'存在于正确的路径中。
除此之外,启用路径/模板提示并确保加载当前模板。
答案 1 :(得分:0)
好的,看起来问题是我无法在标题和左栏中使用相同的货币块。我需要做的就是改变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
。现在货币切换器工作正常。谢谢你的帮助!
答案 2 :(得分:0)
打开header.phtml并在适当位置粘贴代码
[System.Web.Services.WebMethod]
public static Dictionary<string, string> GetTradingTypeToSelect()
{
var dict = new Dictionary<string, string>();
dict.Add("1", "Item 1");
dict.Add("2", "Item 2");
return dict;
}
采取的代码:http://chandreshrana.blogspot.in/2014/04/display-currency-selector-in-header.html