Solution specialforce22 Posted January 23, 2023 at 07:03 PM Solution Share Posted January 23, 2023 at 07:03 PM Скрыть товары, если их количество 0 шт Добавил specialforce22 Добавлено 23.01.2023 Категория Администрирование , Seo оптимизация, Карта сайта, Теги Просмотр файла Товар закончился? Его можно скрыть из видимой части сайта, не потеряв действующую ссылку (по прямой ссылке, из поиска товар будет открываться). SEO friendly - ссылки в поисковых системах не бьются, поведенческий фактор генерится! Модификатор поможет скрыть товар в категориях, на странице поиска сайта, в производителях и модуле "Рекомендуемых". Чтобы скрывать в модуле "Рекомендуемые", сделана отдельная функция. Совместимость: Default Unishop2 (протестировано ver v2.8.2.1) - добавлено скрытие в модуле поиска. Обратите внимание, что в модуле 5в1 предусмотрены настройки скрытие товаров. Остальные темы - для каталога и товаров высокая вероятность, при наличии отдельных модулей нужно смотреть. 3 Quote Link to comment Share on other sites More sharing options...
AlexDW Posted January 24, 2023 at 09:22 AM Share Posted January 24, 2023 at 09:22 AM за старания плюс! только реализация подкачала, разрешите до@ться - чтобы не допускать подобных ошибок в будущем 1. добавляемый запрос с SELECT DISTINCT *, pd.name AS name, p.image, p.noindex AS noindex, будет работать только на ocStore, где есть нестандартное поле noindex и превратит оригинальный Opencart в тыкву если это поле в выборке необходимо - нужно учитывать его наличие/отсутствие в БД 2. <search index='1,2,3,4,5,6,7,8,9,10'> такое вообще нужно избегать любой мод, вносящий правки в этот же файл - собъет всю последовательность и приведет к непредсказуемым результатам 3. <operation error="abort"> в свое время сам на эти грабли наступил это в vqmod директива abort работала как нужно, т.е. при отсутствии совпадения отменяла текущий модификатор в ocmod же, из-за неверной логики - при отсутствии совпадения прервет работу всех последующих модификаторов, а не только текущего лучше не использовать abort вообще 2 Quote модули для удобной работы с Opencart Link to comment Share on other sites More sharing options...
specialforce22 Posted January 24, 2023 at 10:06 AM Author Share Posted January 24, 2023 at 10:06 AM Благодарю!) Приятно внимание и полезная наука! 1. добавляемый запрос с SELECT DISTINCT *, pd.name AS name, p.image, p.noindex AS noindex, будет работать только на ocStore Упс...Это да, работал в OcStore - скопировал функцию из product, для featured....Посмотреть оригинальный Opencart сочканул, получается :( 2. <search index='1,2,3,4,5,6,7,8,9,10'> такое вообще нужно избегать любой мод, вносящий правки в этот же файл - собъет всю последовательность и приведет к непредсказуемым результатам Мне нужно было пропустить первое искомое вхождение, остальное поменять, а то товар будет скрываться и по прямой ссылке недоступен. В документации - https://opencart.club/doc/doc-developer-ocmod/ прочел, что можно пронумеровать index - указывает, в каком по порядку найденном тексте внести изменения. Т.е. если в файле искомый текст встречается несколько раз, тогда index позволяет указать номер найденного по порядку текста (0 всегда первый найденный текст, 1 - второй и т.д.) Можно также указать несколько номеров через запятую. Тогда для пропуска первого вхождения будет ли достаточно указать и так надежней? <search index="0" trim="true"> Спасибо) 1 Quote Link to comment Share on other sites More sharing options...
AlexDW Posted January 24, 2023 at 02:03 PM Share Posted January 24, 2023 at 02:03 PM 3 часа назад, specialforce22 сказал: Упс...Это да, работал в OcStore - скопировал функцию из product, для featured....Посмотреть оригинальный Opencart сочканул, получается если делать не только под себя, а универсальное и для всех - лучше сразу в тестовом окружении добавить граничные версии оригинального Opencart + наиболее популярных сборок, и проверять на них для платных решений - в обязательном порядке 3 часа назад, specialforce22 сказал: Тогда для пропуска первого вхождения будет ли достаточно указать и так надежней? <search index="0" trim="true"> это как раз выберет только первое вхождение можно пойти от обратного - выбрать более конкретно первое вхождение, чуть поправить его, например убрать пробел после знака = p.status = '1' > p.status ='1' а к последующим p.status = '1' применить нужный код без указания индекса 1 Quote модули для удобной работы с Opencart Link to comment Share on other sites More sharing options...
specialforce22 Posted January 24, 2023 at 03:18 PM Author Share Posted January 24, 2023 at 03:18 PM 1 час назад, AlexDW сказал: лучше сразу в тестовом окружении добавить граничные версии оригинального Понял. Спасибо. Бум улучшаться. 2 Quote Link to comment Share on other sites More sharing options...
specialforce22 Posted January 25, 2023 at 12:51 PM Author Share Posted January 25, 2023 at 12:51 PM Обновил: 1. Улучшение совместимости 2. Разделение модификатора для сборок: - OcStore 3 - hide-products-if-0-ocstore.3х.ocmod; - Opencart 3 Русская Сборка / Opencart 3 Club Edition - hide-products-if-0-opencart.3х.ocmod 3. Правки недочетов 2 Quote Link to comment Share on other sites More sharing options...
wcp Posted January 8, 2024 at 08:38 AM Share Posted January 8, 2024 at 08:38 AM Отключенный товар не ищется поиском ни по названию, ни по артикулу, но прямая ссылка на него сохраняется, это хорошо. Но вот в рекомендуемых (штатно, не unishop) товары все равно отображаются. 0 Quote Link to comment Share on other sites More sharing options...
chixx Posted January 8, 2024 at 05:33 PM Share Posted January 8, 2024 at 05:33 PM В 08.01.2024 в 11:38, wcp сказал: Отключенный товар не ищется поиском ни по названию, ни по артикулу, но прямая ссылка на него сохраняется, это хорошо. Но вот в рекомендуемых (штатно, не unishop) товары все равно отображаются. Я у себя в хитах продаж убрал вот так в файле catalog/model/catalog/product.php в секции public function getBestSellerProducts($limit) { заменить AND p.status = '1' на AND p.status = '1' AND p.quantity > 0 Смотрите по аналогии 1 Quote Link to comment Share on other sites More sharing options...
wcp Posted January 9, 2024 at 12:06 PM Share Posted January 9, 2024 at 12:06 PM Точно, спасибо! У меня это в catalog/model/extension/model/random_products.php Там всего одно вхождение AND p.status = '1' в функции. Может кому пригодится. 0 Quote Link to comment Share on other sites More sharing options...
specialforce22 Posted January 9, 2024 at 12:26 PM Author Share Posted January 9, 2024 at 12:26 PM В 08.01.2024 в 11:38, wcp сказал: Но вот в рекомендуемых (штатно, не unishop) товары все равно отображаются. Изначально, получается, у Вас речь шла не про штатную ситуацию. Модуль у Вас, в результате, не Рекомендуемые, а некий модуль рандомных товаров В 09.01.2024 в 15:06, wcp сказал: У меня это в catalog/model/extension/model/random_products.php В описании заявлялось В 23.01.2023 в 22:03, specialforce22 сказал: для каталога и товаров высокая вероятность, при наличии отдельных модулей нужно смотреть. Хорошо, что разобрались! Так, что - С Новый Годом, коллеги, а мне можно еще на работу пока не выходить))) 2 Quote Link to comment Share on other sites More sharing options...
wcp Posted January 11, 2024 at 07:13 PM Share Posted January 11, 2024 at 07:13 PM елки-моталки (фейспалм) подумал одно, а написал другое! конечно рандомные продукты. Мне эта фишка удобна, на главной вывел несколько блоков из разных категорий и товары сами ротируются при каждом обновлении страницы. 0 Quote Link to comment Share on other sites More sharing options...
Aldyruss Posted April 27, 2024 at 10:24 AM Share Posted April 27, 2024 at 10:24 AM Здравствуйте! OcStore 3.0.2.0, тема Revolution. После установки модификатора для соответствующей версии ocstore 3 товар с количеством 0, но включенный для отображения, на сайте в каталоге не отображается и в поиске по сайту не ищется, но по прямой ссылке отдаёт страницу с "Товар не найден". Это баг и модуль не установился корректно? Потому что если есть прямая ссылка из поиска на этот товар, то смысл теряет если будет по ней отдаваться страница "Товар не найден". Или я не прав в чём-то, поправьте пожалуйста если так. По прямой ссылке ожидал что будет товар, но без кнопки купить или с кнопкой "уведомить" (такой функционал для товара с кол-вом 0 есть в теме Revolution). 0 Quote Link to comment Share on other sites More sharing options...
specialforce22 Posted April 27, 2024 at 10:58 AM Author Share Posted April 27, 2024 at 10:58 AM В 27.04.2024 в 13:24, Aldyruss сказал: Это баг и модуль не установился корректно? Потому что если есть прямая ссылка из поиска на этот товар, то смысл теряет если будет по ней отдаваться страница "Товар не найден". Или я не прав в чём-то, поправьте пожалуйста если так. По прямой ссылке ожидал что будет товар, но без кнопки купить или с кнопкой "уведомить" (такой функционал для товара с кол-вом 0 есть в теме Revolution). Видимо, функционал шаблона Revolution модифицирует работу тех же файлов, поскольку Вы сами говорите, что у шаблона есть действие над товарами, которых 0 шт. Тем самым нет совместимости по умолчанию - нужно дополнительно дорабатывать. 0 Quote Link to comment Share on other sites More sharing options...
Aldyruss Posted April 27, 2024 at 11:01 AM Share Posted April 27, 2024 at 11:01 AM В 27.04.2024 в 14:58, specialforce22 сказал: Видимо, функционал шаблона Revolution модифицирует работу тех же файлов, поскольку Вы сами говорите, что у шаблона есть действие над товарами, которых 0 шт. Тем самым нет совместимости по умолчанию - нужно дополнительно дорабатывать. То есть по прямой ссылке этот товар должен присутствовать, исходя из логики работы модификатора? 0 Quote Link to comment Share on other sites More sharing options...
SiteMix Posted April 27, 2024 at 04:10 PM Share Posted April 27, 2024 at 04:10 PM Если В 27.04.2024 в 13:24, Aldyruss сказал: такой функционал для товара с кол-вом 0 есть в теме Revolution То зачем ставить модификатор, который делает то же самое? В 27.04.2024 в 13:24, Aldyruss сказал: После установки модификатора для соответствующей версии ocstore 3 товар с количеством 0, но включенный для отображения, на сайте в каталоге не отображается и в поиске по сайту не ищется 0 Quote Link to comment Share on other sites More sharing options...
Aldyruss Posted April 28, 2024 at 08:56 AM Share Posted April 28, 2024 at 08:56 AM В 27.04.2024 в 20:10, SiteMix сказал: Если То зачем ставить модификатор, который делает то же самое? Не совсем корректно выразился, имел ввиду есть функционал с кнопкой "уведомить" вместо "купить" на товарах с 0 количеством, когда свои данные может оставить покупатель и получить инфу при поступлении. А с товарами с 0 ценой и 0 количеством такие есть настройки в теме как на скрине. 0 Quote Link to comment Share on other sites More sharing options...
specialforce22 Posted April 29, 2024 at 06:10 AM Author Share Posted April 29, 2024 at 06:10 AM В 27.04.2024 в 14:01, Aldyruss сказал: То есть по прямой ссылке этот товар должен присутствовать, исходя из логики работы модификатора? Да! В описании заявлено: Смотрите, у меня всё работает: 1) Вот пицца Дьябло, при кол-ве 1 шт. - в модуле рекомендуемые и каталоге - Скрин модуля :: http://joxi.ru/E2pD3NXiV8gva2 :: Скрин в каталоге :: http://joxi.ru/bmoeR8nsojZOlA Скрин сам товар :: http://joxi.ru/xAewyR6u6ZwMem 2) Захожу в админку ставлю настройки, как у Вас на скрине :: http://joxi.ru/1A50LOvtkZd472 3) Ставлю модификатор :: http://joxi.ru/l2ZGKgEFkaJljA (очитска кеш, всё такое) 4) Ставлю пицце Дьябло 0 шт. :: http://joxi.ru/a2XglJEtZ78QGm Теперь смотрите на главной, в модуле Рекомендуемые она есть - https://good-pizza.ru/ - это потому что под модуль шаблона Revolution для скрытия надо адаптировать! В каталоге скрыто :: https://good-pizza.ru/pitstsa/ Товар доступен по прямой ссылке :: https://good-pizza.ru/picca_dyablo Теперь делаю в настройке Revolution, как Вы хотели, чтобы кнопка купить била не активна ссылка открывается, кнопки нет :: https://good-pizza.ru/picca_dyablo ч.т.д. 0 Quote Link to comment Share on other sites More sharing options...
Aldyruss Posted May 3, 2024 at 12:44 PM Share Posted May 3, 2024 at 12:44 PM В 29.04.2024 в 10:10, specialforce22 сказал: Да! В описании заявлено: Смотрите, у меня всё работает: 1) Вот пицца Дьябло, при кол-ве 1 шт. - в модуле рекомендуемые и каталоге - Скрин модуля :: http://joxi.ru/E2pD3NXiV8gva2 :: Скрин в каталоге :: http://joxi.ru/bmoeR8nsojZOlA Скрин сам товар :: http://joxi.ru/xAewyR6u6ZwMem 2) Захожу в админку ставлю настройки, как у Вас на скрине :: http://joxi.ru/1A50LOvtkZd472 3) Ставлю модификатор :: http://joxi.ru/l2ZGKgEFkaJljA (очитска кеш, всё такое) 4) Ставлю пицце Дьябло 0 шт. :: http://joxi.ru/a2XglJEtZ78QGm Теперь смотрите на главной, в модуле Рекомендуемые она есть - https://good-pizza.ru/ - это потому что под модуль шаблона Revolution для скрытия надо адаптировать! В каталоге скрыто :: https://good-pizza.ru/pitstsa/ Товар доступен по прямой ссылке :: https://good-pizza.ru/picca_dyablo Теперь делаю в настройке Revolution, как Вы хотели, чтобы кнопка купить била не активна ссылка открывается, кнопки нет :: https://good-pizza.ru/picca_dyablo ч.т.д. Спасибо большое за помощь и столь подробный ответ! Буду разбираться. 0 Quote Link to comment Share on other sites More sharing options...
japaner Posted September 5, 2024 at 01:51 PM Share Posted September 5, 2024 at 01:51 PM Здравствуйте! Opencart 3 Русская Сборка Version 3.0.4.0 (rs.1), шаблон UniShop2 (3.0.2.0). Модификатор hide-products-if-0-opencart.3х.ocmod установили, всё обновили, кэш почистили, но товары с нулевым остатком продолжают отображаться в категориях. Подскажите, пожалуйста, в чём может быть дело? 0 Quote Link to comment Share on other sites More sharing options...
specialforce22 Posted September 5, 2024 at 04:39 PM Author Share Posted September 5, 2024 at 04:39 PM В 05.09.2024 в 16:51, japaner сказал: Здравствуйте! Opencart 3 Русская Сборка Version 3.0.4.0 (rs.1), шаблон UniShop2 (3.0.2.0). Модификатор hide-products-if-0-opencart.3х.ocmod установили, всё обновили, кэш почистили, но товары с нулевым остатком продолжают отображаться в категориях. Подскажите, пожалуйста, в чём может быть дело? Здравствуйте! Можете мне в личку скинуть доступ в админ и FTP, завтра посмотрю. 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.