0

如何从结帐运输方式部分访问自定义输入值并将其用于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.

4

1 回答 1

1

欢迎来到StackOverflow

我猜这$this->session->data['custom']将返回 null 并生成一个Undefined index通知,因为您没有在任何地方为此索引设置任何值(或者您只是没有发布代码?)。

shipping.php,而不是你的线

$custom = $this->session->data['custom'];

$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.

于 2013-06-13T14:42:16.840 回答