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

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

  • Решение

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

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

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

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

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

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

 

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

Default

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

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

 

 

 

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

Воспользуйтесь расширенным поиском по форуму opencart Воспользоваться поиском

Ознакомьтесь с руководством по использованию opencart Перейти к Документации

Расширьте возможности интернет-магазина дополнениями Подобрать Модуль

Выберите исполнителя для вашего технического задания Выбрать Исполнителя

за старания плюс! :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. Правки недочетов

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

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

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

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

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

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

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

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

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

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

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