Перейти к содержанию

Скрыть товары, если их количество 0 шт [support]


Перейти к решению Решений specialforce22,

Рекомендуемые сообщения

  • Решение

Скрыть товары, если их количество 0 шт

Товар закончился?

Его можно скрыть из видимой части сайта, не потеряв действующую ссылку (по прямой ссылке, из поиска товар будет открываться).

SEO friendly - ссылки в поисковых системах не бьются, поведенческий фактор генерится!

Модификатор поможет скрыть товар в категориях, на странице поиска сайта, в производителях и модуле "Рекомендуемых".

Чтобы скрывать в модуле "Рекомендуемые", сделана отдельная функция.

 

Совместимость:

Default

Unishop2 (протестировано ver v2.8.2.1) - добавлено скрытие в модуле поиска. Обратите внимание, что в модуле 5в1 предусмотрены настройки скрытие товаров.

Остальные темы - для каталога и товаров высокая вероятность, при наличии отдельных модулей нужно смотреть.

 

 

 

Ссылка на комментарий
Поделиться на другие сайты

за старания плюс! :classic_smile:

только реализация подкачала, разрешите до@ться - чтобы не допускать подобных ошибок в будущем :classic_wink:

 

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 вообще

Ссылка на комментарий
Поделиться на другие сайты

Благодарю!) Приятно внимание и полезная наука!

 

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">

 

Спасибо)

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, specialforce22 сказал:

Упс...Это да, работал в OcStore - скопировал функцию из product, для featured....Посмотреть оригинальный Opencart сочканул, получается

если делать не только под себя, а универсальное и для всех - лучше сразу в тестовом окружении добавить граничные версии оригинального Opencart + наиболее популярных сборок, и проверять на них

для платных решений - в обязательном порядке

 

3 часа назад, specialforce22 сказал:

Тогда для пропуска первого вхождения будет ли достаточно указать и так надежней?

 

<search index="0" trim="true">

это как раз выберет только первое вхождение

 

можно пойти от обратного - выбрать более конкретно первое вхождение, чуть поправить его, например убрать пробел после знака =

p.status = '1' > p.status ='1'

 

а к последующим p.status = '1' применить нужный код без указания индекса

 

 

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, AlexDW сказал:

лучше сразу в тестовом окружении добавить граничные версии оригинального

 

Понял. Спасибо.

Бум улучшаться.

Ссылка на комментарий
Поделиться на другие сайты

Обновил:

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. Правки недочетов

Ссылка на комментарий
Поделиться на другие сайты

  • 11 месяцев спустя...

Отключенный товар не ищется поиском ни по названию, ни по артикулу, но прямая ссылка на него сохраняется, это хорошо.
Но вот в рекомендуемых (штатно, не unishop) товары все равно отображаются.

Ссылка на комментарий
Поделиться на другие сайты

В 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

 

Смотрите по аналогии

Ссылка на комментарий
Поделиться на другие сайты

Точно, спасибо!

У меня это в catalog/model/extension/model/random_products.php

Там всего одно вхождение AND p.status = '1' в функции.

 

Может кому пригодится.

Ссылка на комментарий
Поделиться на другие сайты

В 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 сказал:
для каталога и товаров высокая вероятность, при наличии отдельных модулей нужно смотреть.

 

Хорошо, что разобрались!

Так, что - С Новый Годом, коллеги, а мне можно еще на работу пока не выходить)))

Ссылка на комментарий
Поделиться на другие сайты

елки-моталки (фейспалм) подумал одно, а написал другое! конечно рандомные продукты. Мне эта фишка удобна, на главной вывел несколько блоков из разных категорий и товары сами ротируются при каждом обновлении страницы.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...

Здравствуйте!

OcStore 3.0.2.0, тема Revolution.

После установки модификатора для соответствующей версии ocstore 3 товар с количеством 0, но включенный для отображения, на сайте в каталоге не отображается и в поиске по сайту не ищется, но по прямой ссылке отдаёт страницу с "Товар не найден". Это баг и модуль не установился корректно? Потому что если есть прямая ссылка из поиска на этот товар, то смысл теряет если будет по ней отдаваться страница "Товар не найден". Или я не прав в чём-то, поправьте пожалуйста если так. По прямой ссылке ожидал что будет товар, но без кнопки купить или с кнопкой "уведомить" (такой функционал для товара с кол-вом 0 есть в теме Revolution).

Ссылка на комментарий
Поделиться на другие сайты

В 27.04.2024 в 13:24, Aldyruss сказал:

Это баг и модуль не установился корректно? Потому что если есть прямая ссылка из поиска на этот товар, то смысл теряет если будет по ней отдаваться страница "Товар не найден". Или я не прав в чём-то, поправьте пожалуйста если так. По прямой ссылке ожидал что будет товар, но без кнопки купить или с кнопкой "уведомить" (такой функционал для товара с кол-вом 0 есть в теме Revolution).

 

Видимо, функционал шаблона Revolution модифицирует работу тех же файлов, поскольку Вы сами говорите, что у шаблона есть действие над товарами, которых 0 шт.

Тем самым нет совместимости по умолчанию - нужно дополнительно дорабатывать.

 

Ссылка на комментарий
Поделиться на другие сайты

В 27.04.2024 в 14:58, specialforce22 сказал:

 

Видимо, функционал шаблона Revolution модифицирует работу тех же файлов, поскольку Вы сами говорите, что у шаблона есть действие над товарами, которых 0 шт.

Тем самым нет совместимости по умолчанию - нужно дополнительно дорабатывать.

 

То есть по прямой ссылке этот товар должен присутствовать, исходя из логики работы модификатора?

Ссылка на комментарий
Поделиться на другие сайты

Если

В 27.04.2024 в 13:24, Aldyruss сказал:

такой функционал для товара с кол-вом 0 есть в теме Revolution

То зачем ставить модификатор, который делает то же самое?

В 27.04.2024 в 13:24, Aldyruss сказал:

После установки модификатора для соответствующей версии ocstore 3 товар с количеством 0, но включенный для отображения, на сайте в каталоге не отображается и в поиске по сайту не ищется

Ссылка на комментарий
Поделиться на другие сайты

В 27.04.2024 в 20:10, SiteMix сказал:

Если

То зачем ставить модификатор, который делает то же самое?

Не совсем корректно выразился, имел ввиду есть функционал с кнопкой "уведомить" вместо "купить" на товарах с 0 количеством, когда свои данные может оставить покупатель и получить инфу при поступлении. А с товарами с 0 ценой и 0 количеством такие есть настройки в теме как на скрине.

Снимок экрана 2024-04-28 в 12.44.55.png

Ссылка на комментарий
Поделиться на другие сайты

В 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

ч.т.д.

 

Ссылка на комментарий
Поделиться на другие сайты

В 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

ч.т.д.

 

Спасибо большое за помощь и столь подробный ответ! Буду разбираться.

Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...

Здравствуйте!
Opencart 3 Русская Сборка Version 3.0.4.0 (rs.1), шаблон UniShop2 (3.0.2.0). Модификатор hide-products-if-0-opencart.3х.ocmod установили, всё обновили, кэш почистили, но товары с нулевым остатком продолжают отображаться в категориях. Подскажите, пожалуйста, в чём может быть дело?

Ссылка на комментарий
Поделиться на другие сайты

В 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, завтра посмотрю.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...