Jump to content

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


specialforce22
 Share

Go to solution Solved by specialforce22,

Recommended Posts

  • Solution

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

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

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

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

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

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

 

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

Default

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

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

 

 

 

Link to comment
Share on other sites

за старания плюс! :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 вообще

Link to comment
Share on other sites

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

 

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

 

Спасибо)

Link to comment
Share on other sites

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

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

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

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

 

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

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

 

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

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

 

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

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

 

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

 

 

Link to comment
Share on other sites

Обновил:

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

Link to comment
Share on other sites

  • 11 months later...

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

Link to comment
Share on other sites

В 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

 

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

Link to comment
Share on other sites

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

 

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

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 3 months later...

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

OcStore 3.0.2.0, тема Revolution.

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

Link to comment
Share on other sites

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

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

 

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

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

 

Link to comment
Share on other sites

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

 

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

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

 

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

Link to comment
Share on other sites

Если

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

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

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

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

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

Link to comment
Share on other sites

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

Если

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

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

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

Link to comment
Share on other sites

В 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

ч.т.д.

 

Link to comment
Share on other sites

В 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

ч.т.д.

 

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

Link to comment
Share on other sites

  • 4 months later...

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...