Есть вот такой допиленный vqmod. Пробовал сюда добавить переменные связанные с order_history, но не знаю как сделать запрос select по таблице order_history.
<file name="admin/model/sale/order.php">
<operation error="log">
<search position="replace"><![CDATA[
$sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified FROM `" . DB_PREFIX . "order` o";
]]></search>
<add><![CDATA[
$sql = "SELECT o.order_id, CONCAT(o.firstname, ' ', o.lastname) AS customer, (SELECT os.name FROM " . DB_PREFIX . "order_status os WHERE os.order_status_id = o.order_status_id AND os.language_id = '" . (int)$this->config->get('config_language_id') . "') AS status, o.total, o.currency_code, o.currency_value, o.date_added, o.date_modified, o.telephone, o.shipping_country, o.shipping_zone, o.shipping_address_1, o.shipping_city, o.email, o.comment, o.payment_postcode, o.payment_method, o.shipping_method FROM `" . DB_PREFIX . "order` o";
]]></add>
</operation>
<operation error="log">
<search position="before"><![CDATA[
public function getOrderProducts($order_id) {
]]></search>
<add><![CDATA[
public function getOrderProductsList($order_id) {
$query = $this->db->query("SELECT op.*, p.image FROM " . DB_PREFIX . "order_product op LEFT JOIN " . DB_PREFIX . "product p ON op.product_id = p.product_id WHERE op.order_id = '" . (int)$order_id . "'");
return $query->rows;
}
]]></add>
</operation>
</file>
<file name="admin/controller/sale/order.php">
<operation error="log">
<search position="before"><![CDATA[
$action = array();
]]></search>
<add><![CDATA[
$this->load->model('tool/image');
$this->data['products'] = array();
$order_id = $result['order_id'];
$products = $this->model_sale_order->getOrderProductsList($result['order_id']);
foreach ($products as $product) {
$option_data = array();
$options = $this->model_sale_order->getOrderOptions($result['order_id'], $product['order_product_id']);
foreach ($options as $option) {
if ($option['type'] != 'file') {
$option_data[] = array(
'name' => $option['name'],
'value' => $option['value'],
'type' => $option['type']
);
} else {
$option_data[] = array(
'name' => $option['name'],
'value' => utf8_substr($option['value'], 0, utf8_strrpos($option['value'], '.')),
'type' => $option['type'],
'href' => $this->url->link('sale/order/download', 'token=' . $this->session->data['token'] . '&order_id=' . $result['order_id'] . '&order_option_id=' . $option['order_option_id'], 'SSL')
);
}
}
$this->data['products'][] = array(
'order_product_id' => $product['order_product_id'],
'order_id' => $order_id,
'product_id' => $product['product_id'],
'name' => $product['name'],
'popup' => $this->model_tool_image->resize($product['image'], 500, 500),
'thumb' => $this->model_tool_image->resize($product['image'], 50, 50),
'model' => $product['model'],
'option' => $option_data,
'quantity' => $product['quantity'],
'price' => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0)),
'href' => $this->url->link('catalog/product/update', 'token=' . $this->session->data['token'] . '&product_id=' . $product['product_id'], 'SSL')
);
}
]]></add>
</operation>
<operation error="log">
<search position="after"><![CDATA[
$result['customer'],
]]></search>
<add><![CDATA[
'telephone' => $result['telephone'],
'email' => $result['email'],
'products' => $this->data['products'],
]]></add>
</operation>
</file>
<file name="admin/view/template/sale/order_list.tpl">
<operation error="log">
<search position="before"><![CDATA[
<td class="left"><?php if ($sort == 'status') { ?>
]]></search>
<add><![CDATA[
<td class="left">Контакты</td>
<td class="left">Товары</td>
]]></add>
</operation>
<operation error="log">
<search position="before"><![CDATA[
<td><select name="filter_order_status_id">
]]></search>
<add><![CDATA[
<td></td><td></td>
]]></add>
</operation>
<operation error="log">
<search position="after"><![CDATA[
<td class="left"><?php echo $order['customer']; ?></td>
]]></search>
<add><![CDATA[
<td class="left">
<?php if ($order['telephone']) { ?>
<b>Телефон:</b></br>
<?php echo $order['telephone']; ?></br></br>
<?php } ?>
<?php if ($order['email']) { ?>
<b>Email:</b></br>
<?php echo $order['email']; ?></br></br>
<?php } ?>
</td>
<td class="left">
<?php foreach ($order['products'] as $product) { ?>
<div style="clear: both;">
<?php if ($product['thumb']) { ?><div style="float: left;"><a href="<?php echo $product['popup']; ?>" class="colorbox"><img style="border: 1px solid #DDDDDD; margin-right: 3px;" src="<?php echo $product['thumb']; ?>" id="image" /></a></div><?php } ?>
[ <?php echo $product['model']; ?> ] <a href="<?php echo $product['href']; ?>" target="_blank"><?php echo $product['name']; ?></a></br>
<?php foreach ($product['option'] as $option) { ?>
<?php if ($option['type'] != 'file') { ?>
<small> - <?php echo $option['name']; ?>: <?php echo $option['value']; ?></small>
<?php } else { ?>
<small> - <?php echo $option['name']; ?>: <a href="<?php echo $option['href']; ?>"><?php echo $option['value']; ?></a></small>
<?php } ?></br>
<?php } ?> ( <?php echo $product['price']; ?> x <?php echo $product['quantity']; ?> )
</div></br></br>
<?php } ?>
</td>
]]></add>
</operation>
<operation error="log">
<search position="before"><![CDATA[
<?php echo $footer; ?>
]]></search>
<add><![CDATA[
<link rel="stylesheet" type="text/css" href="view/javascript/jquery/colorbox/colorbox.css" media="screen" />
<script type="text/javascript" src="view/javascript/jquery/colorbox/jquery.colorbox-min.js"></script>
<script type="text/javascript"><!--
$(document).ready(function() {
$('.colorbox').colorbox({
overlayClose: true,
opacity: 0.5,
rel: "colorbox"
});
});
//--></script>
]]></add>
</operation>
</file>