2013-01-15 32 views
1

我创建了一个自定义的运输模块在按照以下教程转换运输方式名称在Magento

http://techportal.inviqa.com/2011/06/09/creating-a-custom-magento-shipping-method/

http://www.magentocommerce.com/wiki/5_-_modules_and_development/shipping/create-shipping-method-module

我现在需要翻译的运输方式标题,但是,我得到出现以下错误

Invalid method VMR_Shipping_Model_Carrier_Customrate::__(Array 
    (
     [0] => Flat Rate: 3-10 Days 
    ) 
) 

使用此行代码

$optionTitle = $this->__('Flat Rate: 3-10 Days'); 

任何想法或输入非常感谢!

回答

2

这是因为__()函数是在核心块,核心控制器和核心帮助器的抽象类中定义的,而不是核心模型。您可以通过设置一个帮助程序来轻松翻译任何您想要的内容,该帮助程序可以延伸至Mage_Core_Helper_Abstract并运行该功能。

echo Mage::helper('vrm_shipping')->__('Flat Rate: 3-10 Days')

...或者,如果你感觉懒得做,只是让抽象的帮手为你翻译

echo Mage::helper('core')->__('Flat Rate: 3-10 Days')

...但是,我不知道具体细节你在做什么,但通常最好的做法是在块或模板本身内进行翻译。为什么不在调用输出方法的模板中调用__()函数呢?