Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php OpenCart添加到阵列_Php_Arrays_Opencart - Fatal编程技术网

Php OpenCart添加到阵列

Php OpenCart添加到阵列,php,arrays,opencart,Php,Arrays,Opencart,这可能是一个非常简单的问题,但我找不到答案。我想向OpenCart中的数组添加一个键/值对,但似乎无法使其正常工作。我不确定我添加的是否已经是一个数组 在第66行的catalog/controller/account/history.php中,有一个数组的定义:- $this->data['orders'][] = array( 'order_id' => $result['order_id'],

这可能是一个非常简单的问题,但我找不到答案。我想向OpenCart中的数组添加一个键/值对,但似乎无法使其正常工作。我不确定我添加的是否已经是一个数组

在第66行的catalog/controller/account/history.php中,有一个数组的定义:-

            $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']

这不管用。即使我直接在页面中键入也不行。我想我把语法搞乱了,但除非我不理解数组结构,否则我不知道该怎么做


感谢您的帮助。

您可以使用以下行-

$this->data['orders'][sizeof($this->data['orders'])-1]['amountToPay'] = $paymentState['amountToPay']; 
因为您的$this->data['orders']也是一个包含关联数组集合的数字索引数组


我认为您的问题会得到解决。

使用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>

数据['orders'][]=数组(]]>
$paymentState['amountToPay']]>