Здравствуйте opencart 2.3 , мне нужно вывести статус заказа в таблицу. В шаблоне прописал: <td class="text-right"><?php echo $order['status']; ?></td> В контроллере новом добавил : $data['column_status'] = $this->language->get('column_status'); Потом PHP: $data['orders'] = array(); $order_total = $this->model_account_report->getTotalOrders($filter_data); $results = $this->model_account_report->getOrders($filter_data); foreach ($results as $result) { // $product_total = $this->model_shop_order->getTotalOrderProductsByOrderId($result['order_id']); $order_i = $this->model_account_report->getOrder($result['order_id']); if($order_i['order_status_id'] != 0) { $data['orders'][] = array( 'id' => $result['order_product_id'], 'product' => $result['name'], 'name' => $order_i['firstname'] . ' ' . $order_i['lastname'] . '<br>' . $order_i['email'] . ' <br>' . $order_i['telephone'], 'status' => $result['status'], 'op' => json_decode($result['op'],true), 'date_added' => date($this->language->get('date_format_short'), strtotime($order_i['date_added'])), 'products' => $result['quantity'], 'total' => $this->currency->format($result['total'], $order_i['currency_code'], $order_i['currency_value']), 'view' => $this->url->link('shop/print', 'id=' . $result['order_product_id'], true), ); } } Дальше вставляем: PHP: // History $data['histories'] = array(); $results = $this->model_account_order->getOrderHistories($this->request->get['order_id']); foreach ($results as $result) { $data['histories'][] = array( 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])), 'status' => $result['status'], 'comment' => $result['notify'] ? nl2br($result['comment']) : '' ); } Идём в model у меня такие изменения, может из за этого не выводится? PHP: public function getTotalOrders($data = array()) { // $query = $this->db->query("SELECT COUNT(*) AS total FROM `" . DB_PREFIX . "order` o WHERE shop_id = '" . (int)$this->shop->Manufacturer() . "' AND o.order_status_id > '0' AND o.store_id = '" . (int)$this->config->get('config_store_id') . "'"); // return $query->row['total']; $cat = array(); $query = $this->db->query("SELECT DISTINCT op.order_id FROM `" . DB_PREFIX . "order_product` op LEFT JOIN " . DB_PREFIX . "order o ON (op.order_id = o.order_id) WHERE op.product_id = '" . (int)$data['product_id'] . "' AND o.order_status_id <> 0"); foreach ($query->rows as $row) { $cat[] = $row['order_id']; } return count(array_unique($cat)); } PHP: public function getOrders($data = array()) { if ($data['start'] < 0) { $data['start'] = 20; } if ($data['limit'] < 0) { $data['limit'] = 20; } //$query = $this->db->query("SELECT o.order_id, o.firstname, o.lastname, os.name as status, o.date_added, o.total, o.currency_code, o.currency_value FROM `" . DB_PREFIX . "order` o LEFT JOIN " . DB_PREFIX . "order_status os ON (o.order_status_id = os.order_status_id) WHERE o.shop_id = '" . (int)$this->shop->Manufacturer() . "' AND o.order_status_id > '0' AND o.store_id = '" . (int)$this->config->get('config_store_id') . "' AND os.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY o.order_id DESC LIMIT " . (int)$start . "," . (int)$limit); $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order_product` op LEFT JOIN " . DB_PREFIX . "order o ON (op.order_id = o.order_id) WHERE op.product_id = '" . (int)$data['product_id'] . "' AND o.order_status_id <> 0 ORDER BY op.order_product_id DESC LIMIT " . (int)$data['start'] . "," . (int)$data['limit']); return $query->rows; }
Что то все напутали. Зачем то модели изменили штатные, вместо создания новых. Нужно проверять все. Если самостоятельно, то начните с проверки, что выводится в var_dump А так ждите, будет время проверю, что вы наделали.