2012-02-24 16 views
2

私はマゼンタストアのヘッダーに通貨ピッカーを追加しようとしています。 私は3つの通貨を設定しており、それらのレートはmagentos通貨マネージャーを通してインポートされ、保存されます。ここで私が何をやったかである:ヘッダーに通貨ピッカーを表示

1.編集page.xml
私はpage.xmlファイルを編集しheader block

2.編集ヘッダに

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

ラインを追加しました。 phtml
header.phtmlを編集し、

を追加しました。
<?php echo $this->getChildHtml('currency') ?> 

これらの2つの手順の後、私はヘッダーに通貨ピッカーを見ることができません。コンテンツ領域には左の列が表示されますが、ヘッダーには表示されません。私は何が欠けているか何か考えてもらえますか?前もって感謝します。

+0

を。 – Ovidiu

+0

プロファイラが通貨ピッカーに関連するものを表示していません – mbajur

+0

これは私の行です - 私はlocal.xmlで呼び出すので前に追加しましたが、とにかくプロファイラで参照する必要があります。また、ディレクトリ/ currency.phtmlファイルでエラーを調べることもできます。何かが起こるかどうかを見るためにそこに出口を投げてください。 – Ovidiu

答えて

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"/> 

に、私はoffcourse directory/currency_top.phtmlとしてdirectory/currency.phtmlファイルをclonded。今すぐ通貨の切り替えがうまくいきます。あなたのすべての協力に感謝します!

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を使用します。さらに

をTrouleshooting

はおそらく言うまでもないが、 'ディレクトリ/ currency.phtmlが' 正しいパスに存在することを確認してください。

それ以外では、パス/テンプレートのヒントを有効にして、現在のテンプレートを読み込んでいることを確認してください。

+0

Zachary、あなたは間違っています。コードは問題ありません。通貨ブロックはタイプディレクトリ/通貨でなければなりません - これはそのモデルを使用していることを意味します。そしてモデルはマゼンタで存在します。 – Ovidiu

+0

ええ、 'directory/currency.phtml'は存在しますが、読み込まれていません。 – mbajur

関連する問題