Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

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

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

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

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

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 month later...
  • 2 months later...

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

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

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

Надіслати
Поділитися на інших сайтах

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

Как вариант можно банально изменить назначение поля "Стоимость" (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 months later...

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

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

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

Приоритет: 1

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

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

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

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

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

Надіслати
Поділитися на інших сайтах


версия 1.5

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

Надіслати
Поділитися на інших сайтах


  • 3 months later...

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

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах

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

да точно так же как и возможно решение тройного интегралла!
Надіслати
Поділитися на інших сайтах


  • 1 month later...

создаёте скидку для каждого товара:Группа: ОптовикиКоличество: 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 months later...

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

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.