2011-06-22 9 views
1

最近Magentoのニッチウェブサイトを運営する小さな会社で新しい仕事を始めました。これは私の最初のモジュールですが、私はMagentoの経験はありませんが、PHPはかなり安定しています。私はそれを拡張し、どのようにする必要があるかを理解するのに苦労しています。Magentoカスタムオプションフィールドをモジュールに追加

私がする必要があるのは、ヘルプバブルを必要とするすべてのオプションの横にヘルプバブルを表示し、クリックすると画像を表示することです。バックエンドでは、これは各製品内の各カスタムオプションボックスのドロップダウンボックスになります。ボックスの実際の機能を取得することは問題ではありません。私はちょうど最初にそこにボックスを取得する方法については失われています。

私が試したことでは、Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Optionを見て、getOptionValues()メソッドを上書きしましたが、そこにはMage_Catalog_Model_Product_Optionに住むと主張するゲッターがあります。

私の質問は、何を上書きするのですか、どこで見つけることができますか?どんな助けでも素晴らしいでしょう。どうもありがとう。

+0

あなたは '$ value ['id'] = $ option-> getOptionId();'のような行についてお話していると思います。これらのget *()メソッドは魔法のメソッドです。Varien_Objectクラスは、すべてのmagentoモデルクラスの親クラスです。Varien_Objectクラスの '__call()'メソッドを参照してください。あなたが何を必要としているのか(あるいはあなたが何をするのかわからないもの)正確に説明してください。 – Zyava

+1

あなたのモジュールのバックエンドレイアウトのアップデートXMLファイルにレイアウト更新を書き込んで、adminhtml/catalog_product_edit_tab_optionsブロックを独自のブロックに置き換えました。(Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Optionを置き換えることはできません。 '_prepareLayout()'のこのブロッククラスでは、Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Optionから拡張した( 'adminhtml/catalog_product_edit_tab_options_option'の代わりに)ブロックを読み込みます。ですから、getOptionValues()で何をしたいのですか?この部分はまだ分かりませんが、残念です。( – Zyava

+0

$値の配列は203行目です;別のセルを入れる必要はありませんか? – ambagesia

答えて

1

私はここで議論を要約しようとしています。

    adminhtml/catalog_product_edit_tab_optionsを交換するためにあなたのモジュールのバックエンドのレイアウト更新XMLファイル内の
  1. 書き込みレイアウトの更新は独自のブロックとブロック(我々の両方が知っているようにあなたが直接レイアウトアップデート経由Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Optionを置き換えることはできません)(のはAそれを呼びましょう)。
  2. Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Options_Optionからあなたのブロックを拡張(のは、このブロックBを呼びましょう)、あなたの_prepareLayout()メソッドでは、このあなたのブロックのクラスをロード
  3. クラスAをブロックし、あなたがgetOptionValuesに必要なものですか()ブロックB
  4. のブロックBテンプレートファイル(\ app \ design \ adminhtml \ default \ default \ template \ catalog \ product \ edit \ options \ opti on.phtmlの内容をテンプレートファイルにコピーして必要な変更を加える)を変更します。
関連する問題