2

これは非常に単純な質問かもしれませんが、答えが見つかりません。キーと値のペアを OpenCart の配列に追加したいのですが、うまくいきません。追加しようとしているものがすでに配列であるかどうかはわかりません。

catalog/controller/account/history.php の 66 行目に配列の定義があります。

            $this->data['orders'][] = array(
                'order_id'   => $result['order_id'],
                'name'       => $result['firstname'] . ' ' . $result['lastname'],
                'status'     => $result['status'],
                'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])),
                'products'   => $product_total,
                'total'      => $this->currency->format($result['total'], $result['currency'], $result['value']),
                'href'       => HTTPS_SERVER . 'index.php?route=account/invoice&order_id=' . $result['order_id']
            );

VQMod を使用してこの配列に追加したいと考えています。VQMod では、定義内の行を置換できません。理由はわかりませんが、数時間試しましたが、うまくいきません。だから私はその下に次のように行を追加することにしました:-

$this->data['orders']['amountToPay'] = $paymentState['amountToPay'];

これはうまくいきません。ページに直接入力しても構いません。構文を台無しにしたと思いますが、配列構造を理解していない限り、その方法がわかりません。

どんな助けでも感謝します。

4

2 に答える 2

3

次の行を使用できます-

$this->data['orders'][sizeof($this->data['orders'])-1]['amountToPay'] = $paymentState['amountToPay']; 

$this->data['orders']は、連想配列のコレクションを含む数値インデックス配列でもあるためです。

あなたの問題は解決されると思います。

于 2011-04-04T18:32:47.843 に答える
0

vQmod を使用してこれを行うのは非常に簡単です。基本的に検索する必要があります。

$this->data['orders'][] = array(

そしてその後ろに行を置きます。カスタム vQmod XML ファイルに入れる必要があるものは次のとおりです。

<file name="catalog/controller/account/history.php">
    <operation>
        <search position="after"><![CDATA[$this->data['orders'][] = array(]]></search>
        <add><![CDATA['amountToPay' => $paymentState['amountToPay']]]></add>
    </operation>
</file>
于 2011-04-16T15:15:17.587 に答える