1

現在、通貨セレクターが一番上にあります。これが私の開発サイトです。

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

ただし、通貨セレクターを表の「価格」見出しのすぐ下に切り替えたいと思います。

私は試した

echo $this->getCurrency();

しかし、何もありません。のような方法が必要だと思いますがgetCurrencyHtml()、そのような方法はないようです。

または、レイアウトファイルを編集する必要がありますか?これを行うにはどうすればよいですか?

4

1 に答える 1

5

これを行う方法を示すことはできますが、何が起こっているのかを理解するには、Magento のレイアウト ファイルがどのように機能するかについて、少なくとも基本的な理解が必要です。そのためには、こちらのデザイナー ガイドと、すべてがどのように機能するかについての基本的な説明をお読みください

これを処理する方法はいくつかありますが、既存の通貨ブロックを使用するのが最も簡単な方法だと思います。その小さなセルに入力することになるので、「通貨を選択してください」という見出しは必要ないと思います。そのため、新しいテンプレートが必要になります。

Magento のブロックは 2 つのファイルで構成されます。動的コンテンツを生成するすべての作業を行うブロック クラスと、ブロック クラスのメソッドと 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 に答える