Додаємо статус наявності товару в категорію opencart
Виводимо статус наявності товару в список товарів
Створення, розробка, виготовлення сайтів | WEB-STYDIA.COM

Вітаю, дорогі друзі.

У даній статті я хотів би описати кілька різних способів і маніпуляцій над товарами яких немає в наявності в opencart.

  1. Додаємо статус наявності в категорію
  2. Товар якого немає в наявності в самому кінці списку
  3. Приховуємо товар якого немає в наявності

Завдання №1

В першу чергу давайте поговоримо про те як вивести, (відобразити) наявність товару в список товарів в категорії і аналогічних сторінках таких як пошук, акції, виробники, і.т.д ...

За замовчуванням Opencart не відображує статус наявності товару в загальному списку товарів, ну що ж давайте виправимо це.

І так перед нами є opencart версії 1.5.5.1 або будь-яка інша версія даної гілки, ну і шаблон ми будемо використовувати за замовчуванням.

Для того щоб відобразити наявність товару в категорії робимо наступне:

1.У файл /catalog/language/russian/product/category.php

У будь-якому місці додаємо:

Я додав цей рядок після ($_['text_manufacturer'] = 'Виробник:';) але це не принципово і ви можете її вставити в будь-якому місці, між тегами <?php і ?> так само не забудьте зробити те ж саме з іншими мовними файлами якщо у вас магазин на кількох мовах.

Текст ми додали, тепер нам потрібно відкоригувати трохи сам контролер а саме:

2. У файлі catalog/controller/product/category.php

Після рядка:

Додаємо:

Все з контролером також закінчили.

3. Ну і останнім нашим кроком ми виводимо всю цю конструкцію в файл нашого шаблону:

А саме відкриваємо:
catalog/view/theme/default/template/product/category.tpl
і в потрібному вам місці додаємо код:

Я його додав відразу під ціною а саме перед останнім div після коду:

Ось і все, таким нескладним чином ми додали в список товарів відображення його наявності, як все це виглядає ви можете подивитися на фото нижче.


Завдання №2

Тепер приступимо до розгляду другого питання, іноді нам потрібно зробити так що б товар якого немає в наявності був завжди в самому кінці списку товарів.

Рішення даного завдання ще простіше, відкриваємо файл catalog\model\catalog\product.php і міняємо в ньому код:

На наступний код:

Все, тепер усі товари в яких в кількості вказано 0 відображатимуться в самому кінці списку всіх товарів категорії.


Завдання №3

Мене часто запитують як можна прибрати товари, яких немає в наявності, зі списку товарів OpenCart, але при цьому що б вони були доступні для пошукових систем.

Тобто завдання полягає в тому що б користувачі візуально не бачили такі товари, але що б вони могли переходити на них по прямих посиланнях, адже шкода ж видаляти товар повністю з магазину адже їх могли проіндексувати пошукові системи, і по них іде якийсь уже трафік, іноді навіть дуже непоганий трафік, звичайно ж клієнт який перейде за цим посиланням на ваш сайт не купить його так як його немає в наявності, але він можливо купить у вас якийсь інший товар який доступний у вас на складі.

І так давайте розглянемо як же все таки можна приховати відсутні товари з категорії, але залишити для них доступ за прямим посиланням.

А рішення як завжди дуже просте, знаходимо файл catalog/controller/product/category.php

і перед рядком:

Додаємо наступне:

Ну і обов'язково після рядка:

Закриваємо дужку, тобто додаємо:

Ось в принципі і все, тепер при перегляді списку товарів в категорії користувач не побачить товарів в яких значення кількості дорівнює нулю.
Але при цьому товар буде доступний для користувачів які прийдуть до вас з пошукових систем. У даному доопрацюванні є один не істотний мінус, кількість загальна товарів в категорії буде відображатися вся, як і товарів в наявності так і товарів яких немає в наявності, але я думаю що це зовсім не істотний мінус.

Ну ось все що я хотів тут описати, буду радий якщо ця стаття буде комусь корисна!

Вас також може зацікавити

3 Response Comments

  •   07.05.2019 в 22:54

    Скажіть будь ласка як таке реалізувати на сторінці товару я про перше завдання.
    Дякую.

    Відповіcти
    • Василий
        04.06.2019 в 18:01

      Не совсем понял вопроса, так статус и так там по умолчанию отображается….

      Відповіcти

Залишити коментар

Будь ласка, введіть Ваше ім'я. Будь ласка, введіть адресу електронної пошти. Будь ласка, введіть повідомлення.