Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[Решено] Создание второй цены для оптовиков


 Поделиться

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

Всем добрый день.

Решил создать тему, которая наверняка будет многим полезна и актуальна.

Задача следующая: магазин будет работать как в розницу так и оптом.

В розницу - настраиваем наш магазин и проблем нет.

А вот чтобы сделать оптовую цену для оптовиков, нужно немного покрутить движок.

P.S. Если есть у кого-то готовые решения, выкладывайте, не жмитесь.

Итак, первый шаг: заходим в админку Продажи - Группы покупателей. Создаем новую группу оптовики.

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

Дальше: заходим catalog/language/язык/product/product.php

Добавляем

$_['text_wholesale_price'] = 'Оптовая цена:';

text_wholesale_price - этим будем выводит текст Оптовая цена.

Дальше: заходим в catalog/controller/product/product.php

Находим строчку

$this->data['text_price'] = $this->language->get('text_price');
После неё вставляем:
$this->data['text_wholesale_price'] = $this->language->get('text_wholesale_price');

Там же находим:

$this->data['products'][] = array(
					'product_id'    => $result['product_id'],
					'name'    		=> $result['name'],
					'model'   		=> $result['model'],
					'rating'  		=> $rating,
					'stars'   		=> sprintf($this->language->get('text_stars'), $rating),
					'price'   		=> $price,
					'options'   	=> $options,
					'special' 		=> $special,
Ниже добавляем:

'wholesale_price' 		=> $wholesale_price,
Сохраняем.

В нашей базе MySQL добавляем ALTER oc_product ADD `wholesale_price` decimal(15,4) NOT NULL DEFAULT '0.0000';

Далее столкнулся пока с заминкой. Не могу найти, где присваиваются переменные в OpenCart.

Пока что выкидывает ошибку на странице продукта Notice: Undefined variable: wholesale_price

Кто знает, подскажите, хочется всё таки для себя и для народа реализовать данный функционал.

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


'wholesale_price'               => $result['wholesale_price']
- получите поле wholesale_price из таблицы oc_product (а вот как вы его заполнять будете?)

правильнее, по моему мнению, было бы заполнить у товара во вкладке "Скидки" цены для разных групп (Розничная цена, Оптовая цена) и уже из oc_product_discount (а при желании можно сделать JOIN oc_customer_group) выводить цены

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


'wholesale_price'               => $result['wholesale_price']
- получите поле wholesale_price из таблицы oc_product (а вот как вы его заполнять будете?)

правильнее, по моему мнению, было бы заполнить у товара во вкладке "Скидки" цены для разных групп (Розничная цена, Оптовая цена) и уже из oc_product_discount (а при желании можно сделать JOIN oc_customer_group) выводить цены

Я уже думал, что можно использовать Скидки для групп. Но это немного не то. Поэтому хотелось бы отдельно разделить оптовую цену и розничную.

С полем - это понятно. Не могу найти, где в opencart прописываются переменные для цены. По аналогии добавлю wholesale-price.

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


Здр. присваивание, точнее формирование в контроллере (админка) товара есть функция Getform , там надо залаживать возможность иметь вторую цену в товаре. Запись в базу - В модели товара addproduct

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


Всем привет!

Схожая проблема, нужно вывести на странице продукта сумму минимального заказа для группы людей, из которой будут вычитаться сумма заказа сделанная каждым человеком этой группы. например, групповой заказ 1500 грн - 230 грн. это заказ человека. должно остаться 1270 грн. Сумму минимального заказа устанавливаю в админке для каждого производителя (сделал дополнительное поле). Проблема в выводе суммы группового заказа. Что не делаю, все приводит к Несуществующей переменной. Подскажите плиз,если не сложно, куда что надо добавить, чтобы вывести значение под стоимостью товара?

Файл 1 catalog/language/russian/product

Файл 2 catalog/controller/product

И файл 3 из шаблона

В базе данных в таблице `oc_manufacturer` создал поле - `min_order` для занесения данных о сумме группового заказа

С уважением, Алексей

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


  • 1 месяц спустя...
  • 2 месяца спустя...

Тоже маюсь с этой проблемой.

Но знание Мускуля хромает.

Проблема в принципе актуальна. Может кто поможет?

Готов проспонсировать. )

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


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

+ можно будет создать иерархию групп оптовиков.

Опт от суммы заказа тут уже надо думать...

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

Ну как бы в том то и дело, скидка нужна не в процентах от суммы. А Отдельно поле где отдельно для каждого товара вводится сумма для оптового покупателя.

Как вариант можно банально изменить назначение поля "Стоимость" (cost). Выводить денные из этого поля в product.tpl

Но как писал выше - с Мускулем не дружу.

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


Ну как бы в том то и дело, скидка нужна не в процентах от суммы. А Отдельно поле где отдельно для каждого товара вводится сумма для оптового покупателя.

Как вариант можно банально изменить назначение поля "Стоимость" (cost). Выводить денные из этого поля в product.tpl

Но как писал выше - с Мускулем не дружу.

создаёте скидку для каждого товара:

Группа: Оптовики

Количество: 1

Приоритет: 1

Цена: <Ваша цена>

далее правите контроллеры где есть расчёт скидки getProductDiscounts

там идёт замена $price на $discount, редактируете $price как будто нет скидки и добавляете $discount с расчётом в массив $this->data['products'][], в итоге в шаблоне работаете с двумя ценами, в контроллерах корзины трогать нчиего не надо, там всё автоматом будет считать по скидке если покупатель в группе Оптовики.

Только при этом неоптовики не будут видеть оптовые цены.

Для того, что бы все видели цены оптовые, нужно сделать клон функции getProductDiscounts например как getProductDiscountsAll, удалить проверку на группу и изменить sql запрос на выборку с приоритетом = 1.. ну и поменять везде акромя корзины getProductDiscounts на getProductDiscountsAll...

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

Ну как бы в том то и дело, скидка нужна не в процентах от суммы. А Отдельно поле где отдельно для каждого товара вводится сумма для оптового покупателя.

В opencart 1.5 именно так и работает. Или речь про более ранние версии?
Ссылка на комментарий
Поделиться на других сайтах


Да, для ocStore 0.1.7

Кстати сея доработка востребована!

Покопался в интернете и на официальном форуме - очень много тем с таким смыслом. Всем предлагают модули типа group diskount, но как и тут , вариант этот не подходит.

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


  • 3 месяца спустя...

создаёте скидку для каждого товара:

Группа: Оптовики

Количество: 1

Приоритет: 1

Цена: <Ваша цена>

далее правите контроллеры где есть расчёт скидки getProductDiscounts

там идёт замена $price на $discount, редактируете $price как будто нет скидки и добавляете $discount с расчётом в массив $this->data['products'][], в итоге в шаблоне работаете с двумя ценами, в контроллерах корзины трогать нчиего не надо, там всё автоматом будет считать по скидке если покупатель в группе Оптовики.

Только при этом неоптовики не будут видеть оптовые цены.

Спасибо Вам большое за это решение. Не могли бы Вы более подробно описать эту операцию...Очень буду благодарен!

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


версия 1.5

В карточке товара, в поле Акция, выбираю группу оптовики, далее ввожу оптовую цену для этой группы, указываю время действия на 100 лет :), всё, для оптовиков отображаются оптовые цены.

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


  • 3 месяца спустя...

Так времени доделать не было, пришлось заказать. Сделали мне под 1.4.9 Также в импорт/экспорт добавил, поэтому теперь есть 3 цены: cost, wholesale и просто price. Очень удобный функционал. Но нужно всегда следить, чтобы обязательно была цена оптовая и простая. Также, специальные теперь не будут работать. Путаница выйдет.

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


А не проще ли через создание новой валюты это сделать. И для определенной группы навешивать в куки эту самую валюту?

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

Люди, помогите, очень нужно... Помогите разобраться, Могут ли применяться личные продажи в оптовой торговле при продаже продуктов питания????

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


Люди, помогите, очень нужно... Помогите разобраться, Могут ли применяться личные продажи в оптовой торговле при продаже продуктов питания????

да точно так же как и возможно решение тройного интегралла!
Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

создаёте скидку для каждого товара:Группа: ОптовикиКоличество: 1Приоритет: 1Цена: <Ваша цена>далее правите контроллеры где есть расчёт скидки getProductDiscountsтам идёт замена $price на $discount, редактируете $price как будто нет скидки и добавляете $discount с расчётом в массив $this->data['products'][], в итоге в шаблоне работаете с двумя ценами, в контроллерах корзины трогать нчиего не надо, там всё автоматом будет считать по скидке если покупатель в группе Оптовики.Только при этом неоптовики не будут видеть оптовые цены.Для того, что бы все видели цены оптовые, нужно сделать клон функции getProductDiscounts например как getProductDiscountsAll, удалить проверку на группу и изменить sql запрос на выборку с приоритетом = 1.. ну и поменять везде акромя корзины getProductDiscounts на getProductDiscountsAll...

Все простое самое гениальное.Снимаю перед Вами шляпу)Спасибо. Заработало.

Ребята распишите пошагово, очень прошу, у меня получаеться что с текущими настройками:создаёте скидку для каждого товара:Группа: ОптовикиКоличество: 1Приоритет: 1Цена: <Ваша цена>Когда заходит Оптовик он уже сразу видит оптовую цену и корзина работает как опт, а не видит розницуработает такое на версии движка --- Сборка MaxyStore © 2009-2012 All Rights Reserved. Version 1.5.3.1Когда ставиш настройку Количество: 2 то срабатывает только при закупке 2 шт не менее....Помогите разобраться как выводить розницу для оптовика или как это все сделать пошагово, что бы количество было 2 но оно не участвовало в расчетах скидки. А то не пойму как вывести две цены.Заранее спасибо.
Ссылка на комментарий
Поделиться на других сайтах


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

Customer Group Discounts

Можно задать discount/наценку как для группы, так и для определенной категории товаров.

У меня работает как торговая наценка для Обычных покупателей и скидка для Оптовиков(группа пользователей)

Правда установка непростая (редактирование файлов движка), но из всех подобных поделок с редактированием файлов - думаю эта штука самая доведенная.

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


Вопрос как сделать так чтобы после накопления определенной суммы заказов человека перекидовало в группу оптовиков?

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


  • 11 месяцев спустя...

тоже думаю над данной проблемой.

какие плюсы минусы будут если создать на поддомене копию магазина для оптовиков. 

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


Если у вас для розницы жесткая привязка к складу, а для опта такого нет, то создание на поддомене себя оправдывает.

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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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