1

Magento CE 1.6.2に取り組んでおり、特定のカテゴリの「新製品」を表示したいと思います。これを行うために、このような静的ブロックを作成し、必要なカテゴリを渡しました。

 {{block type="catalog/product_new" category_id="20" template="catalog/product/new.phtml"}} 

ただし、カテゴリIDは、.phtmlファイルの1つにあるコードから動的に渡す必要があります。この静的ブロックで使用できる変数を作成する方法はありますか?私の.phtmlコードのように:

 $_categoryId = $this->getCurrentCategory()->getId(); //Store my category id

この変数を静的ブロックに次のように渡すことができるように、何かを行うことができますか?

 {{block type="catalog/product_new" category_id="var $_categoryId" template="catalog/product/new.phtml"}} //Which is nothing but 20 so that it displays new products from only category 20

助けてください !

編集:私は似たようなことをするリンクを見つけました。私はそれに続いて結びましたが、成功しませんでした。 http://magentophp.blogspot.co.uk/2011/08/passing-paramters-to-magento-cms-static.html

誰かが私がリンクをたどってそれを機能させるのを手伝ってくれる?

4

3 に答える 3

2

それはあなたが求めていたものと正確に一致しないかもしれませんが、正しい方向にあなたを向けるかもしれません:

phtmlファイルでは、次のように実行できます。

$category = "23";
$this->getChild('home.catalog.product.new')->setData('category_id', $category);

echo $this->getChildHtml('home.catalog.product.new', false);

最後の「false」は、ブロックをキャッシュしないように指示することに注意してください。

あなたはそれをあなたのレイアウトファイルにも含める必要があるでしょう、あなたのブロックのために次のようなもの:

<block type="catalog/product_new" name="home.catalog.product.new" alias="product_new" template="catalog/product/new.phtml"/>
于 2012-05-09T15:54:28.070 に答える
1

あなたが置く必要があります

     $this->getChild('testpage')->setData("test", "xyz")
     echo $this->getChildHtml('testpage');

次に、次の方法で電話/アクセスできます

    $this->test; 
于 2012-11-05T06:57:13.733 に答える
0

CMSページで使用すると、次のようなブロックに変数を配置できます。-

{{block type="yourmodule/testblock" product_id=10 template="module/yourmodule/bestproduct.phtml"}}

または注文オブジェクトについても同じです:-

{{block type="yourmodule/testblock" order=$order template="module/yourmodule/bestproduct.phtml"}}
于 2017-06-01T09:58:51.747 に答える