我像这样重写一个控制器:
<frontend>
<routers>
<checkout>
<args>
<modules>
<My_Foo before="Mage_Checkout">My_Foo</My_Foo>
</modules>
</args>
</checkout>
</routers>
我只覆盖一个函数。$this->__('A string');
当我在调试器中跟踪它时,控制器(左原始)调用的另一个函数到Mage_Core_Controller_Front_Action::__()
翻译表达式($expr
)是
_text = 'A string',
_module = 'My_Foo'
并且找不到翻译 - 因为它仅在Mage_Checkout
.
我认为最好的解决方案是避免控制器重写和使用事件,但这并非在所有情况下都是可能的。
是否有任何干净的解决方案 - 除了使用事件 - 将原始翻译保留在覆盖的控制器中?