1

目前,货币选择器位于顶部,这是我的开发站点:

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

但是,我想将货币选择器切换到表格“价格”标题下方。

我试过

echo $this->getCurrency();

但什么都没有。我想我需要一些类似的方法getCurrencyHtml(),但似乎没有这样的方法。

或者我必须编辑布局文件,我应该怎么做?

4

1 回答 1

5

我可以向您展示一种方法来做到这一点,但为了了解发生了什么,您至少需要对 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'); ?>

您希望块出现的位置。

于 2009-05-22T10:57:45.293 回答