これは、イベントを使用してヘルパークラスを攻撃する方法に関する質問への回答とは正確には一致しませんが、私の問題には答えます。 getRegionJsonのJSON出力を変更する必要があるという点で私は間違っていました。私が間違っている場合は私を修正しますが、それはあなたが別の国を選択し、州/制度のドロップダウンが変更された場合にのみ使用されます。私は選択メニューからオプションを削除する必要があったので、JSON出力は国のオプションを削除してもユーザーがそのjavascriptを必要とする機会を決して取ることができなかったからです。
は、だから私は、だから、私は
core_block_abstract_to_html_before
イベントオブザーバーだと見ることができ、次の
<core_block_abstract_to_html_before>
<observers>
<modify_country_dropdown>
<type>singleton</type>
<class>module/observer</class>
<method>modifyCountryDropDown</method>
</modify_country_dropdown>
</observers>
</core_block_abstract_to_html_before>
のようなイベントオブザーバを設定することにより、観測者にこのドロップダウンを変更する方法を見つけた後、私のコードのIでそのブロックのブロックMage_Core_Block_Html_Select
では、次の
のオプションは、私は私がやりたいことができます別の選択メニューオプションのすべてです
if($observer->getBlock()->getName() == 'country_id' || $observer->getBlock()->getName() == 'billing[country_id]' || $observer->getBlock()->getName() == 'shipping[country_id]'){
$options = $observer->getBlock()->getOptions();
code here
}
のような名前を検索することができました。
私はこれを行いましたが、オブザーバーでヘルパークラスから出力されたjson文字列を変更したい場合はどうすればよいか知っておいて嬉しいです。
これは、データベースの 'directory_country_region'テーブルを変更することでできないものですか? – clockworkgeek
hmmmカート内の特定のアイテムに基づいて特定の国を削除したいだけでした。 –