2012-11-02 13 views
7

ブロックから値を渡したいが、欲望の結果を得ることができない。
何かが間違っていて、なぜそれがわからないのですか。
コード"block type="multibanners/multibanners" name="multibanners" category_id="5" alias="multibanners"をxmlファイルで試してみます。
私はecho $this->getCategoryId()getData('category_id')を使用しました。
私はいつも同じコードを検索します。
誰も私に何が悪いのコードを助けることができます。ブロックからphtmlへマジェンタで変数を渡す方法

ありがとうございました。

答えて

9

あなたはこのようなあなたの変数を設定することができます。

<block type="multibanners/multibanners" name="multibanners" alias="multibanners"> 
<action method="setData"><name>category_id</name><value>5</value></action> 
</block> 

とこのようにそれを盗ん:

$this->getCategoryId(); 
+0

感謝を作っています。どのように私は価値を動的に渡すことができますか教えていただけますか? –

+0

動的にスルーPHPのように? –

+0

私は何をしようとしているか説明しましょう。カスタムコードを使ってカテゴリベースのデータにアクセスしています。上記のコードが表示されたら、id = 5のcategory_idを取得できます。マゼンタのどこからでもその値を渡しますか?何らかの方法で –

1

またはあなたのコントローラでは、

$this->loadLayout(); 

後で

使用このコード:

$this->getLayout()->getBlock('multibanners')->setCategoryId(42); 
+0

あなたのコードは機能しません私は$ this-> getCategoryId()で結果を得ています。 –

+0

あなたはより多くのコンテキストを提供する必要があります。あなたは$ this-> getCategoryId()**を呼び出しています。いつ?私の解決策では、$ this-> getCategoryId()をブロックによってレンダリングされるテンプレートphtmlの中で(テンプレートブロックの場合)行うことができます。 –

+0

はいフロントコントローラーでレンダリングされたphtmlファイルのコードにアクセスしようとしています。テンプレートfolder.rightのmuultibanner.phtmlのコードにアクセスしていますか?私はあなたのコードを私のフロントコントローラのインデックス機能に追加します。 –

3

Mage_Core_Block_Template::assign()breadcrumbs.phtmlテンプレートファイルで$crumbs VARのMage_Page_Block_Html_Breadcrumbs::_toHtml() +ダイレクトコールに使用すること

たとえば、あなたの答えはニキ私のために働い

関連する問題