Jump to content
покупайте без комиссии
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


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 и данные в файлах не сходятся, а моих знаний не хватает для решение этой задачи. Буду благодарен за любую помощь

Link to post
Share on other sites

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

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

Link to post
Share on other sites
Немного неправильно написал суть проблемы. Делают калькулятор на сайте аналогичный этому 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')));
Edited by rusonsaint
Link to post
Share on other sites

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

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

Link to post
Share on other sites
3 минуты назад, Vetroff сказал:

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

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

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

Link to post
Share on other sites

  • 2 months later...

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

$this->cart->add

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

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.