質問

多くの場合、私は Magento テンプレートまたはブロックで作業しており、変数を探しているときにゲッター メソッドを使用しようとします。

私は xDebug を使用しているので、通常はデバッガーを使用して必要なものを見つけてゲッター メソッドを推測するだけで、通常は機能します。例えば:

$this->getProduct()->getId();

ただし、ゲッター メソッドが見つからず、PHPStorm で xDebug を使用して、必要な値の式を評価することがあります。enter image description here

通常、これにより次のような表現が得られます。

$program['type']->_data['special_url_key']

これは機能しますが、最善の方法ではないようです。 $program->getType(); しかし、それは機能しません。

何かが足りないのでしょうか?上記の例はカスタムモジュールからのものです。 Magento の Magic Getter メソッドと Setter メソッド まだ動作するはずです。ただし、このモジュールを見ると、問題のブロックは継承または拡張されています。 メイジコアブロックテンプレート

役に立ちましたか?

解決

のように見えます $program どちらのインスタンスでもない Varien_Object オブジェクトでもありません。したがって、 メソッドのオーバーロード ご利用いただけます。

$program['type']->getSpecialUrlKey() 配列にキーを持つエントリがある場合は機能する可能性があります type それはの例です Varien_Object.

開発者の作業を容易にするために、「魔法の」メソッドを提供するクラスにはそれに応じて注釈を付ける必要があります。 Mage_Sales_Model_Order 例えば。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top