我创建了一个模块,它为 magento 实现了一种新的运输方法。目前该模块运行良好。
送货方式显示在单页结帐中。
class Tigerbytes_Barverkauf_Model_Carrier_Selbstabholung extends Mage_Shipping_Model_Carrier_Abstract
现在我想扩展功能。新的运输模块不应再在前端可见。因此,我为我的模块添加了一个新属性。(show_frontend)
配置文件
<default>
<carriers>
<selbstabholung>
<active>1</active>
<allowed_methods>selbstabholung</allowed_methods>
<methods>selbstabholung</methods>
<sallowspecific>0</sallowspecific>
<model>Tigerbytes_Barverkauf_Model_Carrier_Selbstabholung</model>
<name>Selbstabholung</name>
<title>Selbstabholung</title>
<specificerrmsg>Zur Zeit ist die Versandmethode nicht verfuegbar</specificerrmsg>
<handling>0</handling>
<handling_type>F</handling_type>
<show_frontend>0</show_frontend>
</selbstabholung>
</carriers>
system.xml
<show_frontend translate="label">
<label>zeige im Frontend?</label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_yesno</source_model>
<sort_order>1</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</show_frontend>
属性 show_frontend 显示在后端,也保存在 core_config_data 表中。
现在最大的问题是在获取单页结帐以供用户选择的运输方法时,对象中没有 show_frontend 属性。
我认为用于运输方式列表的对象是
Mage_Sales_Model_Quote_Address_Rate
那么我必须扩展什么,让 rate 对象知道 show_frontend 属性?