在标题中显示货币选择器

时间:2012-02-24 01:35:41

标签: magento

我正在尝试在我的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 个答案:

答案 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