Opencart (admin): сортировка товаров по колонке с изображениями
Сортировка по колонке с фото пригодится для быстрого перехода к товарам, у которых нет фото.
Делалось на последней версии с гитхаба, но должно быть аналогично для всех версий. Единственное, что может отличаться - tpl файл, т.к. админка в v2.0 существенно переделывалась. Но думаю, не составит труда адаптировать одну строчку под необходимую вам версию.
commit d19311b80b518c7b076b459985486d7d0c2190db
Author: Ruslan Brest <rb@labtodo.com>
Date: Wed Aug 14 14:14:18 2013 +0300
admin: add sort by "image" column (to quick access to products without images)
diff --git a/upload/admin/controller/catalog/product.php b/upload/admin/controller/catalog/product.php
index b867b0d..55cd8fc 100644
--- a/upload/admin/controller/catalog/product.php
+++ b/upload/admin/controller/catalog/product.php
@@ -450,6 +450,7 @@ class ControllerCatalogProduct extends Controller {
$url .= '&page=' . $this->request->get['page'];
}
+ $this->data['sort_image'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'] . '&sort=p.image' . $url, 'SSL');
$this->data['sort_name'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'] . '&sort=pd.name' . $url, 'SSL');
$this->data['sort_model'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'] . '&sort=p.model' . $url, 'SSL');
$this->data['sort_price'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'] . '&sort=p.price' . $url, 'SSL');
diff --git a/upload/admin/model/catalog/product.php b/upload/admin/model/catalog/product.php
index 9a3589e..991c868 100644
--- a/upload/admin/model/catalog/product.php
+++ b/upload/admin/model/catalog/product.php
@@ -346,6 +346,7 @@ class ModelCatalogProduct extends Model {
$sql .= " GROUP BY p.product_id";
$sort_data = array(
+ 'p.image',
'pd.name',
'p.model',
'p.price',
diff --git a/upload/admin/view/template/catalog/product_list.tpl b/upload/admin/view/template/catalog/product_list.tpl
index 75cddd6..2b8aa81 100644
--- a/upload/admin/view/template/catalog/product_list.tpl
+++ b/upload/admin/view/template/catalog/product_list.tpl
@@ -29,7 +29,12 @@
<thead>
<tr>
<td width="1" class="center"><input type="checkbox" onclick="$('input[name*=\'selected\']').prop('checked', this.checked);" /></td>
- <td class="center"><?php echo $column_image; ?></td>
+
+ <?php $html_class_order = 'class="' . strtolower($order) . '"'; ?>
+
+ <td class="center">
+ <a href="<?php echo $sort_image; ?>" <?php echo ($sort == 'p.image') ? $html_class_order : '' ?>><?php echo $column_image; ?></a>
+ </td>
<td class="left"><?php if ($sort == 'pd.name') { ?>
<a href="<?php echo $sort_name; ?>" class="<?php echo strtolower($order); ?>"><?php echo $column_name; ?></a>
<?php } else { ?>