这不完全是关于如何使用事件来攻击辅助类的问题的答案,但它确实回答了我的问题。我错了,因为我需要修改getRegionJson的JSON输出。纠正我,如果我错了,但只有当你选择一个不同的国家,然后状态/服务下拉将改变使用。由于我只需要从选择菜单中删除选项,该JSON输出可以保留它是因为如果我删除国家选项,用户从来没有机会选择它来需要该JavaScript。
所以我没有找到一个方法来与观察者通过建立一个事件观察者像下面
<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>
下改变这种下降所以你可以看到我是观察者core_block_abstract_to_html_before
事件,然后在我的代码看到该块的块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 2011-02-08 20:31:41
嗯我只是想根据购物车中的某些商品去除某些国家。 – 2011-02-08 20:54:41