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

Умножение цены на количество


rusonsaint

Recommended Posts

Добрый день, столкнулся с такой проблемой . Нужно  цену товара умножить на определенное число , в  моем случае это количество квадратных метров в упаковке.   Нашел   такое решение     оно умножает только целое число, а мне нужно  допустим на 1.829 , 2.125 и в том духе. Может как-то можно это исправить ? 

$this->cart->add($this->request->post['product_id'], ($this->request->post['quantity'] * $this->request->post['sku']), $option, $recurring_id);

 Или же нашел еще, но там написано для oc 2xx, я использую ocStore 3.0.2.0 и данные в файлах не сходятся, а моих знаний не хватает для решение этой задачи. Буду благодарен за любую помощь

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


если вы пишете это число в поле sku, как я понимаю из "решения", то вам нужно изменить тип этого поля в БД на decimal, как например в поле Price.

Ну и еще там у вас умножается не цена а количество, может конечно в итоге и выходит то что нужно, но это уже другой вопрос )

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

Немного неправильно написал суть проблемы. Делают калькулятор на сайте аналогичный этому https://parketelit.ru/parketnaya-doska-city-deco-dub-venge-pepelnyy-venera. На стороне фронта сделал его через js он считает и выводит в пустой див цену за кв. и через поле upc сделал вывод количества кв метров в упаковке Теперь нужно как-то сделать чтобы на стороне бэкенда цену умножило на количество в упаковке (что я задал upc). Сейчас в корзину добавляет цену которую я в админке прописал. Буду благодарен за любую помощь. Использую ocStore 3.0.2.0  .  

Находил такое решение. Но оно считает цену в карточке товара и не больше. В корзину добавляет обычную цену без умножения. 
$this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'] * $product_info['upc'], $product_info['tax_class_id'], $this->config->get('config_tax')));
Змінено користувачем rusonsaint
Надіслати
Поділитися на інших сайтах


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

А отдельным полем указывать площадь и в карточке пересчитывать в блоке именно площадь в зависимости от количества.

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

3 минуты назад, Vetroff сказал:

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

А отдельным полем указывать площадь и в карточке пересчитывать в блоке именно площадь в зависимости от количества.

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

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


  • 2 months later...

Вторая позиция в 

$this->cart->add

это поле quantity в таблице cart, это поле с типом int поэтому числа типа 5.6 или 5,6 будут добавлены в виде 5, поскольку в это поле можно добавлять только целые числа, если вы хотите дробные числа добавлять в это поле то нужно в бд в этой таблице изменить тип поля

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


В 12.02.2020 в 17:59, rusonsaint сказал:

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

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

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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