Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С Битрикс
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.54/26: Рейтинг темы: голосов - 26, средняя оценка - 4.54
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
1

Добавление товара в корзину/заказ

13.03.2014, 13:39. Просмотров 4751. Ответов 18
Метки нет (Все метки)

Привет.

Реализую всякие акции путем анализа текущих элементов в корзине. Для этого работаю с файлами /bitrix/components/bitrix/sale.basket.basket/component.php перед
Код
CSaleDiscount::DoProcessOrder($arOrder, $arOptions, $arErrors);
и в /bitrix/modules/sale/general/sale_act.php в начале метода
Код
public static function ApplyBasketDiscount(&$arOrder, $func, $dblValue, $strUnit)
	{
Все считает правильно, но только после обновления странички (корзины\ордера). То есть вопрос, куда мне засовывать обработчик элементов корзины, чтоб во время, например, изменения кол-ва товаров в корзине, или удаления, можно было проводить перекалькуляцию. Спасибо.

Добавлено через 22 часа 8 минут
Ребят, ну не правда, что никто такого не делал =\
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2014, 13:39
Ответы с готовыми решениями:

Добавление товара в корзину
Ув. форумчане, помогите разобраться или подскажите где копать. Есть товар...

Добавление товара в корзину.
Добавление товара в корзину. День добрый. Вопрос жизни и смерти. У меня есть...

Анимация полета товара в корзину
Доброго времени суток! Есть скрипт анимации полета товара в корзину: ...

Не заполнены свойства товара, добавляемые в корзину - при покупке
На сайте появляется надпись: Не заполнены свойства товара, добавляемые в...

Добавление в корзину
Сейчас творим редизайн сайта. А вместе с этим и кучу другой хрени. Вот например...

18
Cтанислав
30 / 30 / 8
Регистрация: 15.04.2013
Сообщений: 244
13.03.2014, 14:59 2
В документации искать надо события корзины и в init.php пихать то что надо я так думаю.
0
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
13.03.2014, 15:00  [ТС] 3
Cтанислав, я смотрел события, но я не нашел там где в событии можно рассматривать массив BASKET_ITEMS
0
Cтанислав
30 / 30 / 8
Регистрация: 15.04.2013
Сообщений: 244
13.03.2014, 15:04 4
Вот тут смотрите событие OnBasketUpdate, либо OnBeforeBasketUpdateAfterCheck
0
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
13.03.2014, 15:06  [ТС] 5
Cтанислав, я видел этот док. А именно в этом событии работа только с определенной ячейкой в корзине.
0
Cтанислав
30 / 30 / 8
Регистрация: 15.04.2013
Сообщений: 244
13.03.2014, 15:11 6
kRicha, тогда могу предложить только кастомизировать корзину.
0
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
13.03.2014, 15:12  [ТС] 7
Cтанислав, я ее уже относительно кастомизировал, но думаю, это неправильное решение, хоть и на половину рабочее. Вот ищу спецов, которые покажут, где нужно вставить мои обработчики..
0
Cтанислав
30 / 30 / 8
Регистрация: 15.04.2013
Сообщений: 244
13.03.2014, 15:17 8
Я не спец, я новичок, мне это тоже пригодится, если найдете решение, пишите.
Я бы смотрел ветку
PHP
1
2
3
// BASKET REFRESH
if (strlen($_REQUEST["BasketRefresh"]) > 0 || strlen($_REQUEST["BasketOrder"]) > 0 || strlen($_REQUEST["action"]))
{
и в ней менял уже цену.
0
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
13.03.2014, 15:18  [ТС] 9
а этот код вы где нашли в sale.basket.basket?
Можете пользоваться тем, что уже нарыто, но он коряво работает и без аякс обновления.
0
Cтанислав
30 / 30 / 8
Регистрация: 15.04.2013
Сообщений: 244
13.03.2014, 15:19 10
Этот код я нашел в /bitrix/components/bitrix/sale.basket.basket/component.php
0
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
13.03.2014, 15:21  [ТС] 11
Cтанислав, ну да, туда я тоже вносил правки. Но там тоже некий геморой.
0
tgarl
356 / 350 / 80
Регистрация: 15.02.2012
Сообщений: 1,336
13.03.2014, 16:20 12
по теме ничего особо сказать не могу, просто не понимаю ее, но
Цитата Сообщение от kRicha Посмотреть сообщение
/bitrix/components/bitrix/... /bitrix/modules/sale/...
я бы не советовал вам что-либо там изменять потому как это основные файлы и при обновлении битрикса могут затирваться, особенно в папке /bitrix/modules/
для того чтобы менять эти вещи необходимо делать копии и работать с ними. с модулями сложнее, но тоже можно (не весь, а избранные страницы копируются). в ядре D7 можно такие вещи дополнять и переопределять в своем пространстве.
0
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
13.03.2014, 16:21  [ТС] 13
tgarl, вот скажите где мне дополнить обработку элементов корзины :'(
0
tgarl
356 / 350 / 80
Регистрация: 15.02.2012
Сообщений: 1,336
13.03.2014, 16:24 14
вы опишите что есть и что должно быть
вот я закинул товар в корзину и перешел в нее дальше что? какие такие акции вы пересчитываете?
0
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
13.03.2014, 16:33  [ТС] 15
Предположим, что вы покупаете электрические зубные щетки. За каждые 2 электрические зубные щетки вы получаете зубную пасту в подарок.
И так, допустим вы нажимаете кнопку купить, у вас вылетает поп-ап с товарами в корзине (там одна зубная щетка), вы увеличиваете кол-во до двух - данные уходят куда-то (хз, просто куда), в момент обработки аякс запроса крутится фоновое изображение loading. И после получения в самом поп-апе я должен увидеть 2 щетки и подарочную зубную пасту. У меня получает все кроме "живого" обновления. Я вижу подарок только после ф5.

p/s/ описывал максимально приближенно к тому, что у меня уже есть.
0
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
16.03.2014, 16:18  [ТС] 16
все?) никто не знает куда копать?
0
tgarl
356 / 350 / 80
Регистрация: 15.02.2012
Сообщений: 1,336
17.03.2014, 10:13 17
Цитата Сообщение от kRicha Посмотреть сообщение
вы увеличиваете кол-во до двух - данные уходят куда-то (хз, просто куда), в момент обработки аякс запроса крутится фоновое изображение loading. И после получения в самом поп-апе я должен увидеть 2 щетки и подарочную зубную пасту.
вот вы сами логику привели, так сделайт такую. вы изменили количество - срабатывает аякс и обратно получаете не просто количество товара в корзине, а целиком html этого поп-апа и заменяете текущий на возвращенный
0
kRicha
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 119
17.03.2014, 10:16  [ТС] 18
tgarl, честно, я даже понятие не имею где это искать в битриксе. Я б лучше изнутри это сделал.
0
tgarl
356 / 350 / 80
Регистрация: 15.02.2012
Сообщений: 1,336
17.03.2014, 11:15 19
так в битриксе этого и нет, вам придется самому это написать
0
17.03.2014, 11:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2014, 11:15

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

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

Не работает изменение количества товара в корзине и не открывается заказ на сайте
Товар в корзину добавляется только в единичном экземпляре. Кнопки - и + не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru