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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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