如何从结帐送货方式部分访问自定义输入值并在catalog\model\shipping\flat.php
中使用?
到目前为止catalog\view\theme\default\template\checkout\checkout.tpl
我改变了:
data: $('#shipping-method input[type=\'radio\']:checked, #shipping-method textarea'),
为:
data: $('#shipping-method input[type=\'hidden\'], #shipping-method input[type=\'radio\']:checked, #shipping-method textarea'),
现在我想自定义值是通过Ajax发布的,但是如何在上面提到的flat.php
中访问它?
在catalog\controller\checkout\shipping.php
之后
$this->session->data['shipping_method'] = $this->session->data['shipping_methods'][$shipping[0]]['quote'][$shipping[1]];
我添加了
$custom = $this->session->data['custom'];
但不知道从哪里开始,以便在$custom
中提供flat.php
变量。
答案 0 :(得分:1)
欢迎使用 StackOverflow !
我想$this->session->data['custom']
将返回null并生成Undefined index
通知,因为您没有在任何地方为此索引设置任何值(或者您只是没有发布代码?)。
在shipping.php
中,而不是您的行
$custom = $this->session->data['custom'];
DO
$this->session->data['custom_value'] = $this->request->post['shipping_method']['custom'];
(我认为隐藏字段的名称为custom
,并通过AJAX发送为shipping_method
数组)
现在我们已将值设置为会话,请在 flat.php
中执行
$custom = $this->session->data['custom_value'];
现在您还可以在flat.php
中显示自定义隐藏值。