[minishop2] Исключение цены товара из total_cost
Добрый день уважаемое сообщество!
Добавил чекбокс в свойства товара — Бесплатная доставка по России. Есть собственный класс доставки, который рассчитывает доставку ТК КИТ исходя из параметров товара(длина, ширина, вес, объем) и общей стоимости корзины.
Дописал в классе условие, что если чекбокс установлен, то на этот товар не считать доставку. Если товар в корзине только этот, проблем нет, доставка не считается. Проблема в том, что если в корзине несколько товаров, один из которых с чекбоксом, а второй нет, то доставка все равно считается исходя из общей стоимости корзины cart['total_cost'].
Подскажите пожалуйста, как можно исключить из общей стоимости корзины, цену именно этого товара, чтобы она не учитывалась в стоимости доставки.
Заранее спасибо!
Добавил чекбокс в свойства товара — Бесплатная доставка по России. Есть собственный класс доставки, который рассчитывает доставку ТК КИТ исходя из параметров товара(длина, ширина, вес, объем) и общей стоимости корзины.
Дописал в классе условие, что если чекбокс установлен, то на этот товар не считать доставку. Если товар в корзине только этот, проблем нет, доставка не считается. Проблема в том, что если в корзине несколько товаров, один из которых с чекбоксом, а второй нет, то доставка все равно считается исходя из общей стоимости корзины cart['total_cost'].
Подскажите пожалуйста, как можно исключить из общей стоимости корзины, цену именно этого товара, чтобы она не учитывалась в стоимости доставки.
Заранее спасибо!
Комментарии: 12
Разобрался, спасибо
Что же за люди то такие? Разобрался скажи, народу как. Всегда бесило на форумах такое поведение!
Алексей, не ругайся пожалуйста )
Разобрался, но получается не до конца. Сделал пока так — получил цену товара, получил установлен ли чекбокс. Если установлен, тогда
Теперь нужно понять, как сделать так, чтобы
Выяснилось при тестировании, поэтому и получается, разобрался но не до конца. Может подскажет кто то, как взять количество определенного товара в корзине в классе доставки?
Разобрался, но получается не до конца. Сделал пока так — получил цену товара, получил установлен ли чекбокс. Если установлен, тогда
$price = $cart['total_cost'] - $product->get('price');
Если количество штук данного товара 1, тогда срабатывает, и стоимость не учитывается. Но если этого товара 2 или больше, все равно считается стоимость, т.к. цена этого товара вычитается только один раз.Теперь нужно понять, как сделать так, чтобы
$price = $cart['total_cost'] - (count('данный продукт')*$product->get('price'));
Т.е. чтобы вычиталось все таки общее кол-во этого товара умноженное на цену товара.Выяснилось при тестировании, поэтому и получается, разобрался но не до конца. Может подскажет кто то, как взять количество определенного товара в корзине в классе доставки?
получить корзину, в ней все товары и количество…
Подскажешь, как взять количество именно определенного товара (который и есть с чекбоксом установленным). Общее то количество я знаю
а не… наврал я тебе.
там только общее кол-во доступно, тебе не пойдет.
Тогда возьми просто в $_SESSION['minishop2']['cart']
там только общее кол-во доступно, тебе не пойдет.
Тогда возьми просто в $_SESSION['minishop2']['cart']
Эм, а как отсюда достать количество товара с определенным ID или другим определенным свойством? Прости, не совсем понял…
а просто взять и посмотреть?
Да, вывести только некуда, делаю на уже рабочем проекте с большой посещаемостью :( Если можно, подскажи пожалуйста, очень благодарен!
$this->modx->log(1, print_r($_SESSION['minishop2']['cart'], 1));
так делайте на тесте. а уж потом в рабочий проект…
Проблема в том, что нету теста :( Но все равно спасибо!
Спасибо! Сделал, получил что надо )
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.