Решение specialforce22 Опубликовано 23.01.2023 в 19:03 Решение Поделиться Опубликовано 23.01.2023 в 19:03 Скрыть товары, если их количество 0 шт Добавил specialforce22 Добавлено 23.01.2023 Категория Администрирование , Seo оптимизация, Карта сайта, Теги Просмотр файла Товар закончился? Его можно скрыть из видимой части сайта, не потеряв действующую ссылку (по прямой ссылке, из поиска товар будет открываться). SEO friendly - ссылки в поисковых системах не бьются, поведенческий фактор генерится! Модификатор поможет скрыть товар в категориях, на странице поиска сайта, в производителях и модуле "Рекомендуемых". Чтобы скрывать в модуле "Рекомендуемые", сделана отдельная функция. Совместимость: Default Unishop2 (протестировано ver v2.8.2.1) - добавлено скрытие в модуле поиска. Обратите внимание, что в модуле 5в1 предусмотрены настройки скрытие товаров. Остальные темы - для каталога и товаров высокая вероятность, при наличии отдельных модулей нужно смотреть. 3 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexDW Опубликовано 24.01.2023 в 09:22 Поделиться Опубликовано 24.01.2023 в 09:22 за старания плюс! только реализация подкачала, разрешите до@ться - чтобы не допускать подобных ошибок в будущем 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.01.2023 в 10:06 Автор Поделиться Опубликовано 24.01.2023 в 10:06 Благодарю!) Приятно внимание и полезная наука! 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.01.2023 в 14:03 Поделиться Опубликовано 24.01.2023 в 14:03 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.01.2023 в 15:18 Автор Поделиться Опубликовано 24.01.2023 в 15:18 1 час назад, AlexDW сказал: лучше сразу в тестовом окружении добавить граничные версии оригинального Понял. Спасибо. Бум улучшаться. 2 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
specialforce22 Опубликовано 25.01.2023 в 12:51 Автор Поделиться Опубликовано 25.01.2023 в 12:51 Обновил: 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. Правки недочетов 2 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
wcp Опубликовано 8.01.2024 в 08:38 Поделиться Опубликовано 8.01.2024 в 08:38 Отключенный товар не ищется поиском ни по названию, ни по артикулу, но прямая ссылка на него сохраняется, это хорошо. Но вот в рекомендуемых (штатно, не unishop) товары все равно отображаются. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
chixx Опубликовано 8.01.2024 в 17:33 Поделиться Опубликовано 8.01.2024 в 17:33 В 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 Смотрите по аналогии 1 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
wcp Опубликовано 9.01.2024 в 12:06 Поделиться Опубликовано 9.01.2024 в 12:06 Точно, спасибо! У меня это в catalog/model/extension/model/random_products.php Там всего одно вхождение AND p.status = '1' в функции. Может кому пригодится. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
specialforce22 Опубликовано 9.01.2024 в 12:26 Автор Поделиться Опубликовано 9.01.2024 в 12:26 В 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 сказал: для каталога и товаров высокая вероятность, при наличии отдельных модулей нужно смотреть. Хорошо, что разобрались! Так, что - С Новый Годом, коллеги, а мне можно еще на работу пока не выходить))) 2 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
wcp Опубликовано 11.01.2024 в 19:13 Поделиться Опубликовано 11.01.2024 в 19:13 елки-моталки (фейспалм) подумал одно, а написал другое! конечно рандомные продукты. Мне эта фишка удобна, на главной вывел несколько блоков из разных категорий и товары сами ротируются при каждом обновлении страницы. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.