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

Арифметика в корзине

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

Проблема вот в чем, объясню на примере: Надо заточить ocStore (Version 0.2.0) для продажи паркета..ламината и тп, те цена товара в метрах квадратных, а продаём только упаковками (в упаковке примерно 2.6 метра). Соображения такие: у каждого товара сделать еще одно поле в базе, типа "коэффициент" - сколько метров в одной упаковке. При выборе товара пользователь выбирает количество метров, нужных ему, а в корзине пересчитывается на упаковки (с округлением в большую сторону). Так вот сам вопрос: где производятся все вычисления, где красиво (по правильному) можно добавить эту переменную и обработать, чтоб потом красиво это все сверстать в шаблоне корзины?

Спасибо.

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


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

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

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

Эта опция совершенно не нужна вам в данном случае!

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


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

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

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

Эта опция совершенно не нужна вам в данном случае!

Дело в том, что это маркетинговый ход, в паркете и вообще в подобных товарах принято считать за метр квадратный, и при выставлении своего прайса в каталогах , ну или хотяб на яндекс маркете- надо, чтоб цена была с расчетом на метр кв. А про лишние вопросы, можно в корзине подробно написать путь расчета, чтоб покупателю было понятно.

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


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

Можно тогда вводить цену за метр квадратный и ставить минимально допустимое количество для заказа таких метров квадратных

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


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

Может кто-нить подскажет хотяб какие файлы надо править, где смотреть...???

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


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

Тоже столкнулся с проблемой, тоже линолеум, тоже ламинат... Ну с линолеумом ещё пол беды, а вот с ламинатом совсем плохи дела :(

Как уже говорил Alias37, цена должна быть указана за м2, а продается пачкой, причем как площадь пачки так и кол-во штук может быть разное...

Задание минимального кол-ва или указывать цену за пачку - совсем не вариант

Так вот, уважаемые знатоки, внимание вопрос :) Как сделать чтобы вводимое в поле "количество" значение, умножалось сначала на значение опции, и только уже потом то что получилось на цену (значение опций как это очевидно - только числовое, тип Radio). Так введенные мною "3", умножаются на обязательную опцию "2,022 м2" (получаем общее кол-во метров к покупке) и соответственно общие метры умножаются на цену указанную за метр - получаем то что нужно, все счастливы :) за исключением правда того момента что в случае с 2,022 - результат получается не целым.

Вообщем, очень нужна ваша помощь, кто чем смогёт как говорится, спасибо за внимание :)

ой, да... совсем забыл, версия 1.5.1.3

Изменено пользователем Gleetch

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


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

укажите цену скажем 100р, мин кол-во 2(т.е. 2 м2)

опции Пачка*: 3x2.022м2 , цена 600, 6x2.022м2 цена 1200

* обязательное

  • +1 1

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


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

Если я правильно понял, имеем цену за метр 340р, имеем пачку 1,8метра (340*1,8 = 612р за пачку), прописываем как обязательную опцию, и уже оперируя с полем количество, вводим сколько раз по 612р нам надо ? :) Только вот мин. кол-во 1,8 в отличии от 2,022 к 2ум не приравняешь... Хм... хотя в этом случае получается даже и не обязательно ставить мин. кол-во. А чтобы привязать покупателя к добавлению товара только через опции - убираем кнопку добавить в корзину отовсюду кроме подробного просмотра... Вообщем вполне логично)) Только вот мало того что это все нужно будет пересчитать, при изменении цены нужно будет каждый раз пересчитывать и созданные опции затронутого товара :(

тобиш это -> (число опции * кол-во) * цена -- импасбл?))

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


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

мин кол-во/цену можно указать = кол-во/цену меньшей пачки. тогда кнопка в корзину из каталога добавит меньшую пачку.

либо спец калькулятор, но он стоит денег

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


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

либо спец калькулятор, но он стоит денег

Интересует цена вопроса в купе с поддержкой дробного кол-ва товаров как в вашем модуле, буду обсуждать с заказчиком...

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


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

Эх видимо нету тут таких кто сможет написать подобное, сам просил не раз уже.
Есть опция минимальное количество, вот от неё и нужно отталкиваться.
Я ставлю минимальное количество для конкретного товара 2,4, а умный калькулятор считает. Пользователь ввёл количество 45 м2. А калькулятор пересчитал 45/2,4 округлил в большую сторону, умножил на минимальное количество и умножил на стоимость. ВСЁ.  Другими словами
Ламинат-1 - стоит 600 рублей за метр квадратный. Отпускается только упаковками в которой 2,4 м2. Покупателю надо 45м2. Что нужно ?
45 / 2,4 = 18,75 Округлим до 19*2,4=45,6 м2 умножим на стоимость 600 рублей получим 27360 рублей. где 19 упаковок с обще площадью 45,6 м.2 отправить в корзину.


Сколько будет стоить  такая доработка ?

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


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

Я подобное делал но для продажи компонентов к дверям (наличники, коробки).

 

В первом варианты было: при покупке двери пользователь мог подключить к покупке наличник количеством 3шт (по факту 2.5 но заказчик сказал "никто пилить его не будет), а уже при покупке 2х дверей, наличников автоматом ложиться 3шт.

 

То есть происходит округление количества "связанного" товара в зависимости от количества основного.

В итоге, родился вариант 2

 

Вариант 2:

Был немного перепилен механизм количества товаров, добавлена возможность указывать количество дробью. (В принципе что Вам и нужно)

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

 

 

В Вашем случае, я бы сделал так - 

 

Указываем в админке цену за м2, а в минимальное количество указываем обьем(?) коробки, (2.4м2) из вашего примера.

На странице товара, пользователь вводит нужное количество "метров", и согласно Вашей формуле, в поле "Количество" подставляется нужное количество "Коробок" (в м2).

 

Тогда со стороны класса не нужно вносить изменений, и корзину перепиливать так же не нужно. Единственная доработка, это дроби в количестве, (посмотрите в дополнениях, я видел что недавно мелькал нужный модуль)

 

А расписать формулу в JS дело не мудреное.

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


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

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

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


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

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

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

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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