【问题标题】:Magento Address Field not available in One Page CheckoutMagento 地址字段在单页结帐中不可用
【发布时间】:2013-12-20 20:00:36
【问题描述】:

我使用here 提供的教程在 Magento 的客户地址中创建了几个自定义字段。

当客户编辑他/她的地址时,会显示这些字段,当他通过登录的单页结帐结帐时,地址会显示为下拉列表。在这种情况下,使用 display:none; 对客户端隐藏地址。风格。

问题是自定义地址属性不可用,但常规属性可用。

我认为当客户编辑地址时,控制器是客户,而当他在一个页面上时,控制器是结帐。有一些错误或我遗漏了某些内容,导致 onepage 控制器无法提取自定义地址字段。

我做了什么:

我已经覆盖了

中的 billing.phtml 文件
 /app/design/frontend/base/default/template/checkout/onepage

这些字段显示在单页结帐结算部分中。但是当系统加载默认地址时,不会像加载其他值一样加载字段值。比如调用函数加载电话号码

$this->getAddress()->getTelephone();

但是当我调用名为 address_mobile 的自定义字段时

$this->getAddress()->getAddressMobile();

系统无法拉取值,就像电话拉取一样。下面是该字段如何在隐藏部分显示的源代码。

【问题讨论】:

    标签: php magento


    【解决方案1】:

    一步结帐不会查找任何自定义字段。

    如果你查看 app/design/frontend/base/default/template/persistent/checkout/onepage/Billing.phtml

    在这种情况下,我们正在查看可以更改的帐单地址,如果需要,您也可以对发货进行相同的操作。

    您需要做的是更新上面的模板文件(最好将其移动到应用程序设计前端下的包中)。这将在结帐时显示新的表单字段,但实际上不会持久保存到数据库中。为了将这些值保存到数据库中,您需要覆盖 OnePageController.php 和 saveBilling / saveShipping 方法来存储数据。

    如果您在这方面需要更多帮助,请告诉我,我会寻找一个您可以使用的示例。

    【讨论】:

    • 谢谢。我已经为你更新了这个问题。请您看一下并确认解决方案就是您所写的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    • 2011-12-30
    • 2014-01-03
    相关资源
    最近更新 更多