【问题标题】:Magento Customer Address temlates per Store View每个商店视图的 Magento 客户地址模板
【发布时间】:2014-12-13 19:38:52
【问题描述】:

我正在尝试将 Magento 中的客户地址模板用于我目前正在开发的自定义模块。该模块的作用是获取订单地址并根据系统->配置->客户->客户配置->地址模板中设置的模板对其进行格式化。

例如:

   echo $address->format('html');

问题是我希望 Magento 加载基于不同商店视图的不同模板,该商店视图与下订单的商店相对应。

我尝试回溯 Magento 核心文件 (app/code/core/Mage/Customer/Model/Address/Abstract.php) 中的 format($type) 函数以了解该函数的工作原理,但我可以'似乎不知道如何根据正确的商店视图加载不同的配置。

在过去的一年中,我一直在使用 Magento(从 1.7.x 及更高版本),创建模块并对核心功能进行自定义调整,因此我对 Magento 的设计模式有所了解,并且总是愿意学习。

提前致谢,

AJ

【问题讨论】:

    标签: php magento e-commerce


    【解决方案1】:

    对于那些也在寻找答案的人,我现在终于能够解决这个问题了,如下:

    我已将 Abstract.php 文件复制到本地代码库,复制到与原始位置相对应的位置,以允许我覆盖 Magento Core 文件。之后,我修改了 format($type) 方法以允许设置一个额外的参数,其中包含放置订单的 Store。一旦设置,它将允许加载正确的地址模板,对应于商店视图。如果未设置,它将被忽略,因此依赖此方法的所有其他 Magento 功能仍将正常运行。

    这可能不是最好的解决方案,但暂时就足够了。

    【讨论】:

      【解决方案2】:

      如果您在 System -> Configuration 中更改配置范围(在页面左上角),这是否不起作用? 因此,您取消选中“使用默认”复选框并为您的商店视图设置所需的值。

      【讨论】:

      • 这正是我的想法,但事实并非如此。即使我为每个商店视图设置了不同的模板,取消选中“使用默认”复选框,它仍会继续加载默认模板。 (我知道这是默认设置,因为当我更改它时,输出确实会更改。)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-21
      相关资源
      最近更新 更多