2

親テンプレートから子テンプレートに変数を渡すことは可能ですか?たとえば、親テンプレートのforeachループ内に含まれている別のテンプレートに繰り返しHTMLを配置したい場合

<?php

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

?>

item_infoテンプレート内の$item変数にアクセスできるようにしたいと思います。

ありがとう

4

2 に答える 2

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

それがあなたのために働くことを願っています。私はmagento1.3で動作しますが、かなり基本的なように見えるので、おそらくすべてのバージョンに共通です。

于 2009-07-11T12:20:00.420 に答える
1

私はそれが新しい投稿ではないことを知っていますが、ここに少し完成があります:

次のように、falseでキャッシュ属性を指定してgetChildHtmlを呼び出す必要があります。

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

そして、それは完全に機能します。

ありがとうbenlumley

于 2009-09-09T16:51:50.487 に答える