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

Изменение названий статусов наличия у товаров

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

Подскажите, как можно поменять статусы у всех товаров?

Пример - http://fishekb.ru/udochka-zhibo-nest-3-5m-b-k-2343352-a10-4b/

Здесь под ценой есть поле Наличие, стоит В наличии, а хотелось бы поменять на доступно к заказу

http://fishekb.ru/udochka-stinger-rivercross-4-0m-s-k/

Здесь под ценой есть поле Наличие, стоит Нет в наличии, а хотелось бы поменять на Предзаказ

 

Логика работы должна быть такой: если у товара кол-во > 0 то статус товара "Доступно к заказу", если < 0 то "Предзаказ"

Поделиться сообщением


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

Поставить дополнительное условие в контроллере продукта и по этому условию работать с кнопкой "предзаказ" и так далее. могу реализовать если интересно. 

Поделиться сообщением


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

Разве нет такого функционала из коробки? Или может уже есть готовый модуль для изменения логики и статусов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 минут назад, shankara сказал:

Подскажите, как можно поменять статусы у всех товаров?

 

Здесь под ценой есть поле Наличие, стоит В наличии, а хотелось бы поменять на доступно к заказу

 

Здесь под ценой есть поле Наличие, стоит Нет в наличии, а хотелось бы поменять на Предзаказ

 

Логика работы должна быть такой: если у товара кол-во > 0 то статус товара "Доступно к заказу", если < 0 то "Предзаказ"

 

Самый простой вариант - переименовать в файле локализации (catalog/language/russian/product/product.php) название статуса "В наличии" на "Доступно к заказу" и выставить всем товарам состояние при отсутствии на складе "Предзаказ".

Поделиться сообщением


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

shankara, из коробки точно нет, модули есть, поищите "Предзаказ Opencart". Но могут не подойти под ваши требования

Поделиться сообщением


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

SiteMix, Возможно ему нужна ещё и кнопка "предзаказ" которая будет уведомлять ИМ. Дальше может быть ему нужно будет отсылать потенциальным покупателям уведомление о том, что товар появился.

Поделиться сообщением


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

У меня уже стоит модуль Предзаказ который идет вместе с моим шаблоном, там меняется кнопка Купить на Предзаказ, но статусы исп-ся стандартные.

 

 

Поделиться сообщением


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

shankara, версия ? я напишу вам что исправить и где для статуса как вы хотите

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
52 минуты назад, bodyau сказал:

shankara, версия ? я напишу вам что исправить и где для статуса как вы хотите

Opencart 2.1.0.2 (rs.1)

Поделиться сообщением


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

путь catalog/controller/product/product.php находите там примерно такой кусок кода

 

if ($product_info['quantity'] <= 0) {
                $data['stock'] = $product_info['stock_status'];
            } elseif ($this->config->get('config_stock_display')) {
                $data['stock'] = $product_info['quantity'];
            } else {
                $data['stock'] = $this->language->get('text_instock');
            }

и меняете на

if ($product_info['quantity'] <= 0) {
                $data['stock'] = "Предзаказ";
            }  else {
                $data['stock'] = "Доступно к заказу";
            }

 

Поделиться сообщением


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

Чорд! Где-то я такое видел! У одного заказчика после очередного обновления шаблона, входящий в его состав модификатор убивал страницу с товаром. Если уж давать такие рекомендации, то в виде OCMOD, дабы потом не пришлось гадать из-за чего страница не грузится.

 

shankara, а предложенный выше вариант чем не устроил?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
18 часов назад, SiteMix сказал:

Чорд! Где-то я такое видел! У одного заказчика после очередного обновления шаблона, входящий в его состав модификатор убивал страницу с товаром. Если уж давать такие рекомендации, то в виде OCMOD, дабы потом не пришлось гадать из-за чего страница не грузится.

 

shankara, а предложенный выше вариант чем не устроил?

Как раз сейчас и попробую сделать....но без ocmod придется каждый раз при обновлении шаблона добавлять этот код..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
19 часов назад, bodyau сказал:

путь catalog/controller/product/product.php находите там примерно такой кусок кода

 

if ($product_info['quantity'] <= 0) {
                $data['stock'] = $product_info['stock_status'];
            } elseif ($this->config->get('config_stock_display')) {
                $data['stock'] = $product_info['quantity'];
            } else {
                $data['stock'] = $this->language->get('text_instock');
            }

и меняете на

if ($product_info['quantity'] <= 0) {
                $data['stock'] = "Предзаказ";
            }  else {
                $data['stock'] = "Доступно к заказу";
            }

 

Поменял в коде, никаких изменений..

Поделиться сообщением


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

В данном случае при обновлении шаблона ничего не произойдёт, если только шаблон не Shop-Store. У того есть модификатор который ищет данный код.

Но использование модификатора упростит поиск проблемы в случае чего. Достаточно отключить модификатор и понять, что проблема в нём.

 

Однако, в данной ситуации вообще не нужны никакие правки, ведь достаточно переименовать один дефолтный статус в файле локализации и заменить у всех товаров статус при отсутсвии на складе запросом sql.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
55 минут назад, SiteMix сказал:

В данном случае при обновлении шаблона ничего не произойдёт, если только шаблон не Shop-Store. У того есть модификатор который ищет данный код.

Но использование модификатора упростит поиск проблемы в случае чего. Достаточно отключить модификатор и понять, что проблема в нём.

 

Однако, в данной ситуации вообще не нужны никакие правки, ведь достаточно переименовать один дефолтный статус в файле локализации и заменить у всех товаров статус при отсутсвии на складе запросом sql.

У меня как раз шаблон Shop Store. В файле локализации менял названия статусов, с помощью модуля Автоматической обработки прайс листов изменил для всех товаров <0 статус на Предзаказ, почистил кэш шаблона и ничего не произошло)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, shankara сказал:

В файле локализации менял названия статусов

Нужно было поменять только одну строку:

$_['text_instock']                            = 'На складе';

на

$_['text_instock']                            = ' Доступно к заказу ';

Возможно файлы локализации модифицируются, поэтому после правки нужно обновить кэш модификаторов. Уже после этого при наличии товара статус должен измениться. То есть, половина задачи выполнена.

 

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

 

Поделиться сообщением


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

shankara, Обновите кэш модификаторов. другой причины не может и быть!

Поделиться сообщением


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

В файле локализации поправил текст для статуса "в Наличии", обновил кэш модификаторов. По прежнему ничего не меняется. В админке в товаре статус отсутствия на складе стоит  - Предзаказ, но на морде все еще показывается Нет в Наличии (пример, http://fishekb.ru/spinning-norstream-kando-902mh-10-38g/)

По товарам в наличии статус поменялся, но есть одна загвоздка, если товара мало, статус - Заканчивается, а хотелось бы чтобы, не важно, сколько товаров, всегда был статус Доступно к заказу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
17 часов назад, bodyau сказал:

shankara, Обновите кэш модификаторов. другой причины не может и быть!

помогло, но частично)

Поделиться сообщением


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

это как понять?)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, bodyau сказал:

это как понять?)

 

прочитайте выше мое сообщение

Поделиться сообщением


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

Добрый день интересует такой вариант. Товар с положительным значением >0, что давал статус как есть  в наличии так и уточнить у менеджера. Сейчас только "есть в наличии" при положительном остатке

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

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

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.