我正在尝试在Magento中使用客户地址模板来获取我目前正在处理的自定义模块。该模块的作用是获取订单的地址并根据System-> Configuration-> Customers-> Customer Configuration-> Address Templates中设置的模板对其进行格式化。
例如:
echo $address->format('html');
问题在于我希望Magento根据不同的商店视图加载不同的模板,商店视图与下订单的商店相对应。
我试图在Magento核心文件(app / code / core / Mage / Customer / Model / Address / Abstract.php)中回溯格式($ type)函数来理解这个函数是如何工作的,但我可以似乎没有找到如何基于正确的商店视图加载不同的配置。
我在过去的一年里与Magento(从1.7.x及以上)合作过,为核心功能创建了模块和自定义调整,所以我对Magento的设计模式有所了解,并且我总是愿意学习。
提前致谢,
AJ
答案 0 :(得分:1)
对于那些也在寻找答案的人,我现在最终有能力解决这个问题,如下:
我已将Abstract.php文件复制到本地代码库,并复制到与原始位置对应的位置,以允许我覆盖Magento Core文件。之后我修改了格式($ type)方法,允许设置一个额外的参数,包含放置订单的商店。设置后,它将允许加载与Store View相对应的正确Addres模板。如果没有设置,它将被忽略,因此依赖于此方法的所有其他Magento功能仍将正常运行。
这可能不是最佳解决方案,但目前已足够。
答案 1 :(得分:0)
如果您在系统中更改配置范围(在页面的左上角),这是不起作用 - >配置? 所以你取消选中"使用默认"复选框并设置商店视图的所需值。