2009-07-10 7 views
2

親テンプレートの変数を子テンプレートに渡すことは可能ですか?例えば、私はその親テンプレートで、foreachループの中に含まれていた別のテンプレートには、いくつかの繰り返しHTMLを入れたい場合Magentoテンプレート変数の継承と再利用

<?php 

foreach ($items as $item) 
{ 
    echo $this->getChildHtml('item_info'); 
} 

?> 

私はitem_infoテンプレート内の$ item変数にアクセスできるようにしたいでしょう。

おかげ

答えて

4

私はいくつかの場所でそれを使用することができますので、私は別のファイルに私の製品リストテンプレートを分割しました。子テンプレートで

<?PHP 
$this->getChild('product_list_list')->setData('products', $_productCollection); 
echo $this->getChildHtml('product_list_list'); 
?> 

私が行うことができます:親テンプレートで

、私のような何かを行う

<?php foreach ($this->products as $_product): ?> 
    // display products 
<?php endforeach; ?> 

だからあなたが行うことができるはず:

$this->getChild('item_info')->setData('item', $item); 

と入力してからitem_infoにアクセスし、

$this->item 

希望はあなたのために働く。 Magento 1.3で私のために働いていますが、これはかなり基本的なので、おそらくすべてのバージョン共通です。

1

私はそれが新しい投稿はありませんが、ここで少し完了です知っている:

あなたのような、偽のキャッシュ属性でgetChildHtmlを呼び出す必要があります:

$this->getChildHtml('item_info', false); 

そして、それは完璧に動作します。

ありがとうbenlumley