簡體   English   中英

未定義的變量 OpenCart

[英]Undefined variable OpenCart

我正在嘗試將訂單信息發送到我的 OpenCart v2.0.3.1 商店中的成功頁面,以將數據發送到 Google Analytics。 但我在成功頁面上收到此錯誤消息:

Undefined variable: order_tracker in /Applications/XAMPP/xamppfiles/htdocs/opencart/catalog/view/theme/default/template/common/success.tpl on line 21

但我正在定義 order_tracker

atalog/controller/checkout/success.php


$order_tracker = array(
            'order_id'    => $order_id,
            'store_name'  => $order_info['store_name'],
            'total'       => $order_info['total'],
            'tax'         => $order_tax,
            'shipping'    => $order_shipping,
            'city'        => $order_info['payment_city'],
            'state'       => $order_info['payment_zone'],
            'country'     => $order_info['payment_country'],
            'currency'    => $order_info['currency_code'],
            'products'    => $order_products
        );

$this->data['order_tracker'] = $order_tracker;

編輯:我將最后一行更改為:

$data['order_tracker'] = $order_tracker;

它奏效了。

但是,現在我收到另一個錯誤:

Undefined variable: order_id in <b>/Applications/XAMPP/xamppfiles/htdocs/opencart/catalog/controller/checkout/success.php</b> on line <b>85</b>

這是第 85 行:

$order_info = $this->model_checkout_order->getOrder($order_id);

這就是我定義 order_id 的方式

if (isset($this->session->data['order_id'])) {

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

問題在於您的數組關系。 如果

$data['order_tracker'] = $order_tracker;

然后

$order_id = $data['order_tracker']['order_id'];

會給你你的 order_id,而不是data['order_id']

編輯:

簡而言之,這意味着您必須使用以下代碼:

if (isset($this->session->data['order_tracker']['order_id'])) {

        $order_id = $this->session->data['order_tracker']['order_id'];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM