Решение specialforce22 Опубликовано 23. Решение Поделиться Опубликовано 23. Скрыть товары, если их количество 0 шт Добавил specialforce22 Добавлено 23.01.2023 Категория Администрирование , Seo оптимизация, Карта сайта, Теги Просмотр файла Товар закончился? Его можно скрыть из видимой части сайта, не потеряв действующую ссылку (по прямой ссылке, из поиска товар будет открываться). SEO friendly - ссылки в поисковых системах не бьются, поведенческий фактор генерится! Модификатор поможет скрыть товар в категориях, на странице поиска сайта, в производителях и модуле "Рекомендуемых". Чтобы скрывать в модуле "Рекомендуемые", сделана отдельная функция. Совместимость: Default Unishop2 (протестировано ver v2.8.2.1) - добавлено скрытие в модуле поиска. Обратите внимание, что в модуле 5в1 предусмотрены настройки скрытие товаров. Остальные темы - для каталога и товаров высокая вероятность, при наличии отдельных модулей нужно смотреть. 2 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexDW Опубликовано 24. Поделиться Опубликовано 24. за старания плюс! только реализация подкачала, разрешите до@ться - чтобы не допускать подобных ошибок в будущем 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 Цитата модули для удобной работы с Opencart Ссылка на комментарий Поделиться на другие сайты Поделиться
specialforce22 Опубликовано 24. Автор Поделиться Опубликовано 24. Благодарю!) Приятно внимание и полезная наука! 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexDW Опубликовано 24. Поделиться Опубликовано 24. 3 часа назад, specialforce22 сказал: Упс...Это да, работал в OcStore - скопировал функцию из product, для featured....Посмотреть оригинальный Opencart сочканул, получается если делать не только под себя, а универсальное и для всех - лучше сразу в тестовом окружении добавить граничные версии оригинального Opencart + наиболее популярных сборок, и проверять на них для платных решений - в обязательном порядке 3 часа назад, specialforce22 сказал: Тогда для пропуска первого вхождения будет ли достаточно указать и так надежней? <search index="0" trim="true"> это как раз выберет только первое вхождение можно пойти от обратного - выбрать более конкретно первое вхождение, чуть поправить его, например убрать пробел после знака = p.status = '1' > p.status ='1' а к последующим p.status = '1' применить нужный код без указания индекса 1 Цитата модули для удобной работы с Opencart Ссылка на комментарий Поделиться на другие сайты Поделиться
specialforce22 Опубликовано 24. Автор Поделиться Опубликовано 24. 1 час назад, AlexDW сказал: лучше сразу в тестовом окружении добавить граничные версии оригинального Понял. Спасибо. Бум улучшаться. 2 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
specialforce22 Опубликовано 25. Автор Поделиться Опубликовано 25. Обновил: 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. Правки недочетов 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.