Magento地址字段在One Page Checkout中不可用

时间:2013-12-20 20:00:37

标签: php magento

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

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

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

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

我做了什么:

我已覆盖

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

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

来加载电话号码
$this->getAddress()->getTelephone();

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

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

系统无法提取价值,就像拉电话一样。以下是该字段在隐藏部分中的显示方式的源代码。

Html Code

1 个答案:

答案 0 :(得分:0)

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

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

在这种情况下,查看可以更改的帐单邮寄地址,如果需要,您也可以执行相同的运输。

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

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