Php 如何更改Magento订单电子邮件地址格式?

Php 如何更改Magento订单电子邮件地址格式?,php,magento,Php,Magento,我有一个问题,我已经玩了几个小时了,现在变得很烦人 在System->Configuration->Customer Configuration->Address Templates中Magento为用户提供了如何格式化地址(国家、城市、地区等) 我的问题是如何从完整的地区名称更改为地区代码?我还查看了Mage/Customer/Address中的代码,似乎找不到解决方案 有什么想法吗?谢谢。穆罕默德是对的。编辑核心文件是一种糟糕的做法。您找到了解决方案,但无论如何,我在这里添加了一些代码来创建

我有一个问题,我已经玩了几个小时了,现在变得很烦人

System->Configuration->Customer Configuration->Address Templates中
Magento为用户提供了如何格式化地址(国家、城市、地区等)

我的问题是如何从完整的地区名称更改为地区代码?我还查看了
Mage/Customer/Address
中的代码,似乎找不到解决方案


有什么想法吗?谢谢。穆罕默德是对的。编辑核心文件是一种糟糕的做法。您找到了解决方案,但无论如何,我在这里添加了一些代码来创建新的模块。我只是在改写课程

app/code/local/Packagename/Modulename/etc/config.xml

<?xml version="1.0"?>
<config>
  <modules>
    <Packagename_Modulename>
      <version>0.1.0</version>
    </Packagename_Modulename>
  </modules>
  <global>
    <blocks>
      <modulename>
        <class>Packagename_Modulename_Block</class>
      </modulename>
            <customer>
                <rewrite>
                    <address_renderer_default>Packagename_Modulename_Block_Customer_Address_Renderer_Default</address_renderer_default>
                </rewrite>
            </customer>
    </blocks>
  </global>
</config> 

0.1.0
包装名称模块名称块
Packagename\u Modulename\u Block\u Customer\u Address\u Renderer\u默认值
app/code/local/Packagename/Modulename/Block/Customer/Address/Renderer/Default.php

    <?php
    class Packagename_Modulename_Block_Customer_Address_Renderer_Default extends Mage_Customer_Block_Address_Renderer_Default
    {

//your stuff goes here..

    }

我相信如果不重载Mage\u Customer\u Block\u Address\u Renderer\u Default中的render()函数,就无法更改行为。检查Mage/Customer/Block/Address/Renderer/Default.php以进行进一步调查。您好,muhammedv-请添加此作为答案,我会将其标记为正确答案。在指定路径的
render
函数的
$data
变量中添加了一个新条目,该条目起作用。非常感谢。我很高兴你的问题得到了解决,但恐怕你自己找到了答案:)此外,我不能推荐你作为MCD编辑核心文件。我将添加一个答案,包括如何重载此函数以在以后添加新属性。没有在/core/Mage中进行编辑,而是在/local/Mage中进行了编辑。您仍然是对的,编辑核心文件是一种不好的做法,但当最后一个解决方案是编辑核心时,则是好的。如果你高兴,你应该看到我是多么的高兴,我是这样工作的:)是的,我实施了这个解决方案,并且工作了。谢谢你,埃拉瓦拉桑。非常好的解决方案,避免了修改核心文件的方式。
<?xml version="1.0"?>
<config>
  <modules>
    <Packagename_Modulename>
      <active>true</active>
      <codePool>local</codePool>
      <version>0.1.0</version>
    </Packagename_Modulename>
  </modules>
</config>