我使用可用的教程here在Magento的客户地址中创建了几个自定义字段。
当客户编辑他/她的地址时,会显示字段,当他通过登录的一页结帐退房时,地址显示为下拉列表。在这种情况下,使用display:none;从客户端隐藏地址;样式。
问题是自定义地址属性不可用,但常规属性可用。
我认为当客户编辑地址时,控制器是客户,当他在一个页面上时,控制器是结帐。有一些错误或者我遗漏了某些内容,因此onepage控制器无法提取自定义地址字段。
我做了什么:
我已覆盖
中的billing.phtml文件 /app/design/frontend/base/default/template/checkout/onepage
这些字段显示在单页结帐结算部分中。但是当系统加载默认地址时,字段值不会像其他值加载一样加载。例如,通过调用函数
来加载电话号码$this->getAddress()->getTelephone();
但是当我调用我的自定义字段时,其名称为address_mobile,如
$this->getAddress()->getAddressMobile();
系统无法提取价值,就像拉电话一样。以下是该字段在隐藏部分中的显示方式的源代码。
答案 0 :(得分:0)
一步结帐不会查找任何自定义字段。
如果您查看app / design / frontend / base / default / template / persistent / checkout / onepage / Billing.phtml
在这种情况下,查看可以更改的帐单邮寄地址,如果需要,您也可以执行相同的运输。
您需要做的是更新上面的模板文件(理想情况下,将其移至应用程序设计前端下的软件包)。这将在结帐时显示新的表单字段,但它实际上不会持久存储到数据库中。为了将这些值保存到数据库,您需要覆盖OnePageController.php和saveBilling / saveShipping方法来存储数据。
如果您需要更多帮助,请告诉我,我会找一个您可以使用的示例。