From e8454defc2912855ef62299b8cc18bc44969bf4c Mon Sep 17 00:00:00 2001 From: Arsen Mirzaev Tatyano-Muradovich Date: Wed, 23 Mar 2022 12:59:31 +1000 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=9D=D0=90=D0=9B=D0=BE=D0=B3=D0=B8=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D1=8E=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controllers/ProductController.php | 8 +- .../system/controllers/SearchController.php | 1 + mirzaev/skillparts/system/models/Product.php | 34 ++++---- mirzaev/skillparts/system/models/Search.php | 6 +- .../system/views/profile/supplies.php | 2 +- .../skillparts/system/views/search/index.php | 80 ++++++++++++------- 6 files changed, 82 insertions(+), 49 deletions(-) diff --git a/mirzaev/skillparts/system/controllers/ProductController.php b/mirzaev/skillparts/system/controllers/ProductController.php index 0df333f..803cd3d 100644 --- a/mirzaev/skillparts/system/controllers/ProductController.php +++ b/mirzaev/skillparts/system/controllers/ProductController.php @@ -393,11 +393,17 @@ class ProductController extends Controller } } - if ($from->synchronization($to) > 0) { + if (count($from->synchronization($to)) > 0) { // Созданы рёбра // Запись в буфер возврата $return['alert'] = 'Продукты успешно соединены'; + } else { + // Не созданы рёбра + + // Запись в буфер возврата + $return['alert'] = 'Не удалось соединить продукты'; + } } } else { diff --git a/mirzaev/skillparts/system/controllers/SearchController.php b/mirzaev/skillparts/system/controllers/SearchController.php index 75cef95..3e8d84f 100644 --- a/mirzaev/skillparts/system/controllers/SearchController.php +++ b/mirzaev/skillparts/system/controllers/SearchController.php @@ -145,6 +145,7 @@ class SearchController extends Controller 'imgs' => 'imgs', 'prod' => 'prod', 'dmns' => 'dmns', + 'stts' => 'stts' ])) { // Данные найдены по поиску в полях Каталожного номера diff --git a/mirzaev/skillparts/system/models/Product.php b/mirzaev/skillparts/system/models/Product.php index 5718156..ad56fa6 100644 --- a/mirzaev/skillparts/system/models/Product.php +++ b/mirzaev/skillparts/system/models/Product.php @@ -197,7 +197,7 @@ class Product extends Document 'file_image', 'file', 'skipOnEmpty' => false, - 'extensions' => ['jpg', 'jpeg', 'png', 'gif', 'webp'], + 'extensions' => ['jpg', 'jpeg', 'png', 'gif', 'webp', 'jfif'], 'checkExtensionByMimeType' => true, 'maxFiles' => 10, 'maxSize' => 1024 * 1024 * 30, @@ -451,8 +451,12 @@ class Product extends Document if ($analog = Product::searchById(self::collectionName() . "/$analog")) { // Найден товар - // Запись в буфер вывода - $return[] = $analog; + if (isset($analog->stts) && $analog->stts === 'active') { + // Пройдена проверка по статусу + + // Запись в буфер вывода + $return[] = $analog; + } } else { // Не найден товар } @@ -482,22 +486,22 @@ class Product extends Document // Перебор связей для создания связей во всех товарах // Удаление обрабатываемого товара из буферного списка товаров - unset($_products[array_search($product, $_products)]); + // unset($_products[array_search($product, $_products)]); foreach ($_products as $_product) { // Перебор товаров из буфера - if ($from = self::searchById($product)) { - // Товар найден - } else { - if ($from = Product::writeEmpty($product)) { - // Удалось записать товар - } else { - // Не удалось записать товар + // if ($from = self::searchById($product)) { + // // Товар найден + // } else { + // if ($from = Product::writeEmpty($product)) { + // // Удалось записать товар + // } else { + // // Не удалось записать товар - continue; - } - } + // continue; + // } + // } if ($to = self::searchById($_product)) { // Товар найден @@ -511,7 +515,7 @@ class Product extends Document } } - if ($edge = $from->connect($to)) { + if ($edge = $this->connect($to)) { // Ребро создано // Запись в буфер diff --git a/mirzaev/skillparts/system/models/Search.php b/mirzaev/skillparts/system/models/Search.php index 0d26f94..301d9df 100644 --- a/mirzaev/skillparts/system/models/Search.php +++ b/mirzaev/skillparts/system/models/Search.php @@ -426,12 +426,14 @@ class Search extends Document $empty_block = false; // Инициализация счётчика поставок - $supplies_amount = count($row['supplies']); + $supplies_amount = count($row['supplies'] ?? []); // Инициализация указателя номера цикла $supply_iterator = 1; - foreach (empty($row['supplies']) || count($row['supplies']) === 0 ? [null] : $row['supplies'] as $supply) { + foreach (empty($row['supplies']) || $supplies_amount === 0 ? [null] : $row['supplies'] as $supply) { + // Перебор поставок + // Инициализация модификатора класса if ($supplies_amount > $supply_iterator) { // Это не последняя строка с товаром и его поставками diff --git a/mirzaev/skillparts/system/views/profile/supplies.php b/mirzaev/skillparts/system/views/profile/supplies.php index 7651c6b..0988f53 100644 --- a/mirzaev/skillparts/system/views/profile/supplies.php +++ b/mirzaev/skillparts/system/views/profile/supplies.php @@ -181,7 +181,7 @@ $panel ?? $panel = 'profile_panel_supplies_input_import'; .
- name ?? 'Без названия' ?> + name ?? 'Без названия' ?>
diff --git a/mirzaev/skillparts/system/views/search/index.php b/mirzaev/skillparts/system/views/search/index.php index 7c0241a..77f3c19 100644 --- a/mirzaev/skillparts/system/views/search/index.php +++ b/mirzaev/skillparts/system/views/search/index.php @@ -27,6 +27,10 @@ use app\models\Search; +

Товары по запросу: ""

@@ -38,9 +42,6 @@ use app\models\Search; $prod = $row['prod'] ?? 'Неизвестно'; $catn = $row['catn'] ?? 'Неизвестно'; - // Инициализация реестра пустышек (товаров без поставок или с ошибками) - $empties = []; - // Генерация списка товаров $supplies_html = Search::generate($row, $covr, $empties); ?> @@ -63,40 +64,59 @@ use app\models\Search;
- +

Аналогичные товары

+ + // Инициализация буфера записанных аналогов + $writed = []; -

Аналогичные товары

+ foreach ($empties as $catn) { + // Перебор товаров без поставок - - -
-
- - -
- -
+ // Исключение из вывода в списке аналогов + $writed[$catn] = true; + } + ?> + + + + +
+
+ + +
+
- - - +
+ +