From 2bc065115e47e7ab4214e7fc88a2285bf19b3604 Mon Sep 17 00:00:00 2001 From: Konstantin Date: Fri, 12 Jun 2026 11:06:02 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82=D1=80=D0=B0?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D0=BC=D0=B0=D0=B3=D0=B0=D0=B7=D0=B8=D0=BD?= =?UTF-8?q?=D1=83=20=D0=B2=20=D1=81=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/admin/controller/catalog/product.php | 56 +++++++++++++++++-- public/admin/model/catalog/product.php | 8 +++ .../view/template/catalog/product_list.twig | 21 ++++++- 3 files changed, 79 insertions(+), 6 deletions(-) diff --git a/public/admin/controller/catalog/product.php b/public/admin/controller/catalog/product.php index cd2dffe..dacbc5e 100644 --- a/public/admin/controller/catalog/product.php +++ b/public/admin/controller/catalog/product.php @@ -64,7 +64,11 @@ class ControllerCatalogProduct extends Controller { if (isset($this->request->get['filter_status'])) { $url .= '&filter_status=' . $this->request->get['filter_status']; } - + + if (isset($this->request->get['filter_store_id'])) { + $url .= '&filter_store_id=' . $this->request->get['filter_store_id']; + } + if (isset($this->request->get['filter_category'])) { $url .= '&filter_category=' . $this->request->get['filter_category']; if (isset($this->request->get['filter_sub_category'])) { @@ -155,7 +159,11 @@ class ControllerCatalogProduct extends Controller { if (isset($this->request->get['filter_status'])) { $url .= '&filter_status=' . $this->request->get['filter_status']; } - + + if (isset($this->request->get['filter_store_id'])) { + $url .= '&filter_store_id=' . $this->request->get['filter_store_id']; + } + if (isset($this->request->get['filter_category'])) { $url .= '&filter_category=' . $this->request->get['filter_category']; if (isset($this->request->get['filter_sub_category'])) { @@ -240,7 +248,11 @@ class ControllerCatalogProduct extends Controller { if (isset($this->request->get['filter_status'])) { $url .= '&filter_status=' . $this->request->get['filter_status']; } - + + if (isset($this->request->get['filter_store_id'])) { + $url .= '&filter_store_id=' . $this->request->get['filter_store_id']; + } + if (isset($this->request->get['filter_category'])) { $url .= '&filter_category=' . $this->request->get['filter_category']; if (isset($this->request->get['filter_sub_category'])) { @@ -325,7 +337,11 @@ class ControllerCatalogProduct extends Controller { if (isset($this->request->get['filter_status'])) { $url .= '&filter_status=' . $this->request->get['filter_status']; } - + + if (isset($this->request->get['filter_store_id'])) { + $url .= '&filter_store_id=' . $this->request->get['filter_store_id']; + } + if (isset($this->request->get['filter_category'])) { $url .= '&filter_category=' . $this->request->get['filter_category']; if (isset($this->request->get['filter_sub_category'])) { @@ -413,6 +429,12 @@ class ControllerCatalogProduct extends Controller { } else { $filter_status = ''; } + + if (isset($this->request->get['filter_store_id'])) { + $filter_store_id = $this->request->get['filter_store_id']; + } else { + $filter_store_id = ''; + } $filter_sub_category = null; if (isset($this->request->get['filter_category'])) { @@ -550,6 +572,10 @@ class ControllerCatalogProduct extends Controller { if (isset($this->request->get['filter_status'])) { $url .= '&filter_status=' . $this->request->get['filter_status']; } + + if (isset($this->request->get['filter_store_id'])) { + $url .= '&filter_store_id=' . $this->request->get['filter_store_id']; + } if (isset($this->request->get['filter_category'])) { $url .= '&filter_category=' . $this->request->get['filter_category']; @@ -605,6 +631,7 @@ class ControllerCatalogProduct extends Controller { 'filter_quantity_min' => $filter_quantity_min, 'filter_quantity_max' => $filter_quantity_max, 'filter_status' => $filter_status, + 'filter_store_id' => $filter_store_id, 'filter_category' => $filter_category, 'filter_sub_category' => $filter_sub_category, 'filter_manufacturer_id'=> $filter_manufacturer_id, @@ -754,6 +781,10 @@ class ControllerCatalogProduct extends Controller { if (isset($this->request->get['filter_status'])) { $url .= '&filter_status=' . $this->request->get['filter_status']; } + + if (isset($this->request->get['filter_store_id'])) { + $url .= '&filter_store_id=' . $this->request->get['filter_store_id']; + } if (isset($this->request->get['filter_category'])) { $url .= '&filter_category=' . $this->request->get['filter_category']; @@ -824,6 +855,10 @@ class ControllerCatalogProduct extends Controller { if (isset($this->request->get['filter_status'])) { $url .= '&filter_status=' . $this->request->get['filter_status']; } + + if (isset($this->request->get['filter_store_id'])) { + $url .= '&filter_store_id=' . $this->request->get['filter_store_id']; + } if (isset($this->request->get['filter_category'])) { $url .= '&filter_category=' . $this->request->get['filter_category']; @@ -867,6 +902,7 @@ class ControllerCatalogProduct extends Controller { $data['filter_quantity_min'] = $filter_quantity_min; $data['filter_quantity_max'] = $filter_quantity_max; $data['filter_status'] = $filter_status; + $data['filter_store_id'] = $filter_store_id; $data['filter_category_name'] = $filter_category_name; $data['filter_category'] = $filter_category; $data['filter_sub_category'] = $filter_sub_category; @@ -964,7 +1000,11 @@ class ControllerCatalogProduct extends Controller { if (isset($this->request->get['filter_status'])) { $url .= '&filter_status=' . $this->request->get['filter_status']; } - + + if (isset($this->request->get['filter_store_id'])) { + $url .= '&filter_store_id=' . $this->request->get['filter_store_id']; + } + if (isset($this->request->get['filter_category'])) { $url .= '&filter_category=' . $this->request->get['filter_category']; if (isset($this->request->get['filter_sub_category'])) { @@ -1803,6 +1843,9 @@ if (isset($this->request->post['price_3'])) { } $this->session->data['success'] = $this->language->get('text_success'); $url = ''; + if (isset($this->request->get['filter_store_id'])) { + $url .= '&filter_store_id=' . $this->request->get['filter_store_id']; + } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } @@ -1826,6 +1869,9 @@ if (isset($this->request->post['price_3'])) { } $this->session->data['success'] = $this->language->get('text_success'); $url = ''; + if (isset($this->request->get['filter_store_id'])) { + $url .= '&filter_store_id=' . $this->request->get['filter_store_id']; + } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } diff --git a/public/admin/model/catalog/product.php b/public/admin/model/catalog/product.php index 1b3e6c9..8a7605c 100644 --- a/public/admin/model/catalog/product.php +++ b/public/admin/model/catalog/product.php @@ -503,6 +503,10 @@ class ModelCatalogProduct extends Model { if (isset($data['filter_status']) && $data['filter_status'] !== '') { $sql .= " AND p.status = '" . (int)$data['filter_status'] . "'"; } + + if (isset($data['filter_store_id']) && $data['filter_store_id'] !== '') { + $sql .= " AND EXISTS (SELECT 1 FROM " . DB_PREFIX . "product_to_store p2s WHERE p2s.product_id = p.product_id AND p2s.store_id = '" . (int)$data['filter_store_id'] . "')"; + } if (isset($data['filter_noindex']) && $data['filter_noindex'] !== '') { $sql .= " AND p.noindex = '" . (int)$data['filter_noindex'] . "'"; @@ -860,6 +864,10 @@ class ModelCatalogProduct extends Model { if (isset($data['filter_status']) && $data['filter_status'] !== '') { $sql .= " AND p.status = '" . (int)$data['filter_status'] . "'"; } + + if (isset($data['filter_store_id']) && $data['filter_store_id'] !== '') { + $sql .= " AND EXISTS (SELECT 1 FROM " . DB_PREFIX . "product_to_store p2s WHERE p2s.product_id = p.product_id AND p2s.store_id = '" . (int)$data['filter_store_id'] . "')"; + } if (isset($data['filter_noindex']) && $data['filter_noindex'] !== '') { $sql .= " AND p.noindex = '" . (int)$data['filter_noindex'] . "'"; diff --git a/public/admin/view/template/catalog/product_list.twig b/public/admin/view/template/catalog/product_list.twig index cd24d8b..1f4ec90 100644 --- a/public/admin/view/template/catalog/product_list.twig +++ b/public/admin/view/template/catalog/product_list.twig @@ -136,6 +136,19 @@
+ + +
+