-1

controller/checkout/shipping_address.php で validate() 関数の下で変数を定義しているときに、未定義の変数のエラーが発生するため、セッション経由でデータを送信するのに問題があります。(checkout/shipping_address/validate)。

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

controller/checkout/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: Notice : Undefined index: ship_date in /var/www/catalog/controller/checkout/shipping_address.php102 [] parsererror Notice : Undefined index: ship_date in /var/www/catalog/controller/checkout/shipping_address. 102行目のphp []

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$this->session->dataおよび にインデックスがないためです$this->request->post。だからあなたは得るNotice: Undefined index:

通知が出力されるため、後で出力されたjsonが無効になります。

于 2013-07-27T19:31:16.327 に答える