-1

我在通过会话发送数据时遇到问题,因为在 validate() 函数下定义 controller/checkout/shipping_address.php 中的变量时遇到未定义变量的错误。(结帐/送货地址/验证)。

$this->session->data['ship_date'] = $this->request->post['ship_date']; //<- line 102

在控制器/结帐/shipping_method

$ship_date = $this->session->data['ship_date'];
if(empty($ship_date)) echo "var empty";
$ship_date = explode("-", $ship_date);
$ship_date = $ship_date[0] . "/" . $ship_date[1] . "/" . $ship_date[2];

然后我做

$quote = $this->{'model_shipping_' . $result['code']}->getQuote($shipping_address, $ship_date); 

也可以,在 model/shipping/fedex.php 我允许使用 $ship_date 参数。但在那之后我得到了。

无效的 JSON:注意:未定义的索引: 第102行的/var/www/catalog/controller/checkout/shipping_address.php中的 ship_date [] parsererror注意:未定义的索引: /var/www/catalog/controller/checkout/shipping_address 中的 ship_date。 php在第102行[]

4

2 回答 2

1

实际上,OpenCart 只通过 JSON 进行对话。所以添加它会有所帮助。

$JSONarray = array("date" => $this->request->post['ship_date']);
$this->session->data['ship_date'] = json_encode($JSONarray);

当你想使用它时,

$JSONarray = $this->session->data['ship_date'];
$arr = json_decode($JSONarray, TRUE);
$Value = $arr['ship_date'];

我们必须将数据制作成 JSON 然后发送

于 2013-07-28T04:41:26.630 回答
1

您应该调试数组$this->session->data$this->request->post.

ship_date您看到这些错误的原因是in$this->session->data和 in 中没有索引$this->request->post。所以你得到一个Notice: Undefined index:.

由于打印的通知,您之后输出的 json 变得无效。

于 2013-07-27T19:31:16.327 回答