В этой заметке рассакажу как добавлять товары в "Отложенные", для иммитации функционала "Избранное". Для этого будем использовать API 1С-Битрикс. Добавление будет происходить на AJAX- без перезагрузки страницы.
Добавление в избранное или отложенные, на AJAX из карточки товара
|
Михаил Базаров: 26.01.2018 09:00:00
Добавление в избранное или отложенные, на AJAX из карточки товара
В этой заметке рассакажу как добавлять товары в "Отложенные", для иммитации функционала "Избранное". Для этого будем использовать API 1С-Битрикс. Добавление будет происходить на AJAX- без перезагрузки страницы. |
|
gulnazm: 26.01.2018 09:00:00
Здравствуйте!
Как при добавление в избранное передать значения выбранных торговых предложений? Пыталась добавить через параметр "PROPS" CSaleBasket::Add($arFields); вышло таким образом https://c2n.me/3Rn0pZ1 |
|
pilot77rus: 29.03.2018 12:00:00
Присоединяюсь.
Подскажите как добавить в избранное Торговые предложения. |
|
Александр Силуянов: 11.05.2018 11:00:00
Странно, но у меня через раз работает. Например три-четыре товара добавит, потом перестает реагировать. Потом опять пару товаров добавит и т.д. В чем может быть дело как считаете?
И подскажите как реализовать не в детальной карточке товара, а в списке товаров? |
|
Александр Силуянов: 11.05.2018 11:00:00
Хром вот такую ошибку выдает при клике Uncaught SyntaxError: missing ) after argument list |
|
Александр Силуянов: 11.05.2018 11:00:00
В названии продукции есть слово L'Oreal и верхний апостроф мешал корректному вызову... Убрал из кода '<?=$arResult["NAME"]?>', и еще ко что.. |
|
Сергей Подварский: 03.06.2018 07:00:00
Здравствуйте!
Замечательные уроки, всё получается, но есть вопрос, у Вас на сайте есть список отложенных товаров - как его вывести(отдельно от корзины)? |
|
Сергей Сыроежкин: 22.07.2018 02:00:00
ошибка здесь, лишняя скобка...
"NAME" => $_POST['name']), |
|
Михаил Базаров: 22.07.2018 10:00:00
|
|
xx24xx22@yandex.ru: 23.09.2018 05:00:00
День добрый!
Спрашивал, на недавней трансляции, про фичу "Купить в один клик", был послан примерно сюда, а тут не такого |
|
Antik: 05.10.2018 05:00:00
Интересный момент, битрикс последний, шаблон дефолтный магазина, при добавлении в избранное товар появляется в корзине, но у него цена пустая, и есть кнопка добавить в заказ http://joxi.ru/brRpkKqCJkEWE2 , но даже при добавлении цена не появляется, я так полагаю потому что не передаётся параметр PRICE?
|
|
Михаил Базаров: 05.10.2018 11:00:00
Просто, передавайте в "избранное" первое попавшееся торговое предложение, а не сам товар. |
|
Артур: 19.10.2018 01:00:00
Здравствуйте,
подскажите как передать еще торговое предложение в избранное?! |
|
Andrey Sukhanov: 06.01.2019 03:00:00
Добрый день.
Все работает, но только для авторизованных пользователей. Также обратил внимание, что другие java скрипты глючат на неавторизованных пользователях, как будто не всё ядро подключено. Пример здесь. В чем может быть дело? Корзина глючит тоже, форма регистрации не показывает капчу. В общем, какая-то масса проблем с общим корнем, а в документации не нашел ничего. |
|
Михаил Базаров: 06.01.2019 10:00:00
Если нет-то подсказать тяжело, нужно разбираться изнутри Чуть позже, будет заметка о реализации отложенного- не на базе избранного. |
|
Константин Ильин: 16.04.2019 02:00:00
Михаил, спасибо за ваши видео и уроки, помогают разобраться с битриксом.
Хотел бы сказать по поводу данного скрипта, что он плох в безопасности. Использую ваши заготовки. Цена передается через аякс, что не есть хорошо! Вот пример Через консоль браузера меняю цену: http://joxi.ru/82QvQ0liwVOe6A Жму в отложенные, теперь у меня в отложенных лежит товар с ценой 70.00 http://joxi.ru/brRv5Joi7Leger Перекидываю его в корзину и что я вижу, теперь вместо товара с ценой 20070.00 руб. получаю товар за 70р. Могу оформить заказ за 70р вместо 20070.00 На вашем сайте так же! Взял для примера товар http://bxstore.ru/catalog/item/audio-technica-vm520eb-h-golovka-zvukosnimatelya.php http://joxi.ru/gmvKvnNcqdX5W2 http://joxi.ru/nAyRxkgTga1Oqr Я бы сказал это критическая уязвимость... Так же при перекидывание из отложенных в корзину, количество товаров становиться 2, а не 1. Должен же просто меняться флаг на "DELAY" => "N" Логика наверно должна быть такая, что через аякс передается ID товара, а уже внутри скрипта получаем все данные , в том числе и цену. Мне кажется этот код надо убирать с вашего сайта и написать без уязвимостей. |
|
Михаил Базаров: 17.04.2019 09:00:00
Не получилось именно купить такой, "хакнутый" товар. При оформлении заказа, все равно установилась правильная цена. Но да, минусом это можно назвать. Да и достаточно, в самом деле, передавать только ID товара в ссылке и скрипте. Вообще, эта модель, избранное-через отложенные корзины, мне не очень нравится и уже готов компонент нормальных избранных. Скоро опубликую, в блоге. Допричесать нужно. |
|
Константин Ильин: 17.04.2019 10:00:00
В этом плане модх конечно выигрывает, так сказать для разработчиков проще.
|
|
dev bosgroup: 14.05.2019 01:00:00
а как сделать чтобы при повторном нажатии данный товар убирался из "избранного" ???
|
|
dev bosgroup: 14.05.2019 01:00:00
|
|
Алексей Шрейбер: 25.05.2019 06:00:00
А как сделать чтобы товары из избранного не удалялись при оформлении заказа в корзине? Пользователь оформляет заказ и все его сохраненные товары исчезают
|
|
a13z2005@yandex.ru: 21.07.2019 10:00:00
Михаил Базаров,
подскажите пожалуйста, как на аяксе реализовать вывод избранных товаров? используя функционал из данного урока. при клике на кнопку добавить в избранное у вас меняется сразу же счетчик. к примеру к нему добавлю всплывающее окно - и в нем выведу "отложенные" - тогда они там появляются только после перезагрузки страницы, а хотелось бы чтоб сразу всплывали. |
|
a13z2005@yandex.ru: 24.07.2019 12:00:00
Михаил Базаров, Подскажите пожалуйста как сделать чтобы не сбрасывался стиль кнопки, в списке товаров- если данный товар есть в отложенных?!
|
|
Андрей Сенин: 10.04.2021 03:00:00
Реализация вполне не плохая, но на самом деле я бы делал по-другому:
Во первых, скрипт передает цену, указанную в параметре "&p=" напрямую, а это говорит о том, что я могу в любой момент подменить цену в html на любую другую и она попадет в отложенные в корзину, где я смогу "вернуть" товар в корзину и купить по этой цене. Во вторых, в идеале убрать jQuery и забиндить обработчик на Bitrix JS и реализовать с помощью ajax битрикса в файле script.js шаблона. Спасибо за статью;) |
|
Михаил Базаров: 10.04.2021 04:00:00
Понятное дело, не сам компонент оформления заказа, а "подкапотная" реализация. У меня уже готов свой компонент избранного, пишет все отдельную табличку БД - на нескольких проектах работает успешно. Скоро (не знаю когда |
|
Алексей: 01.11.2021 10:00:00
Добрый день!
Скажите пожалуйста а как добавить кнопку удалить из избранного для одного товара из списка. Удалить все -работает Но хочется по одному удалять |
|
Вячеслав: 13.01.2022 02:00:00
|
|
Михаил Базаров: 13.01.2022 09:00:00
Пока нет, но скоро |
|
Александр: 12.08.2022 03:00:00
А как сделать чтобы при наведении на значек корзины выводилось ее содержимое( краткое описание и маленькое фото ) ,BX.addCustomEvent ? не в ту сторону копаю?
|
|
Михаил Базаров: 12.08.2022 07:00:00
В штатном шаблоне корзины sale.basket.basket.line это уже есть. Верстка в файле ajax_template.php |
|
Александр: 14.08.2022 08:00:00
Спасибо)
|
|
Алексей: 23.09.2022 03:00:00
Добрый вечер, с детальной карточки товара товар добавляется в избранное, а как добавить товар в избранное с catalog.item или catalog.section?
|
|
Михаил Базаров: 23.09.2022 10:00:00
Нужно правильно передать ID товара. В catalog.item это $item['ID'] в catalog.section, вроде бы $arElement['ID'] |
|
Гость: 26.09.2022 02:00:00
Спасибо! это сработало)
|
|
Алексей: 06.02.2023 02:00:00
Доброй ночи, добавление в избранное по вашей методике работает отлично в catalog.item, подскажите пожалуйста, а как удалить из избранного при повторном нажатии на добавление в избранное?
|
|
Михаил Базаров: 06.02.2023 10:00:00
Добрый.
По сути, нужно сделать обратное действие: не добавить товар в отложенные корзины а удалить его оттуда. Для этого, можно проверить наличие этого товара в отложенных и если он там есть использовать метод CSaleBasket::Delete
Если будет время, дополню эту заметку. Но ориентир, в какую сторону копать дал) |
|
Алексей: 06.02.2023 01:00:00
Спасибо большое, буду пробовать, но если дополните заметку буду признателен)
|
|
Алексей: 17.02.2023 06:00:00
Добрый день, а как сделать, чтобы отложенные товары в самой корзине не отображались? Это возможно? Использую современный шаблон basket. Спасибо
|
|
Михаил Базаров: 17.02.2023 11:00:00
Да, просто подправить этот момент в шаблоне /ШАБЛОН_КОРЗИНЫ/js-templates/basket-item.php
|
|
Viacheslav: 23.04.2023 03:00:00
Михаил, привет!
Прочитал вашу статью, но с момента ее выхода, как я понимаю, многое поменялось, и теперь советуют делать избранное на пользовательских полях. Что думаете на эту тему? |
|
Viacheslav: 23.04.2023 03:00:00
И еще один вопрос, если позволите.
Как в компоненте sale.basket.basket вывести избранное? Спасибо! |
|
Михаил Базаров: 23.04.2023 07:00:00
Да, лучше делать на пользовательских полях. У меня уже готовы модуль и компонент, который это реализует. Но выложу я его в процессе выпуска видеоурока по разработке сложного интернет магазина. На вскидку, доберусь до этого вопроса к июлю 2023 |
Блог-note Заметки по 1С-Битрикс
-
Увидеть файл заказов который передаст Битрикс в 1С
Для диагностики обмена заказов, интернет-магазина на 1С Битрикс с 1С Управление Торговлей, нужно увидеть xml файл с заказами который сформирует сайт д...
-
Бонус на внутренний счет пользователя по информации из 1С
Задача: 1С-Предприятие каждый день выгружает HL справочник на сайт с количеством бонусов контрагента в виде "XML-ID контрагента = Количество бону...
-
Фотогалерея на шаблоне новостей в 1С-Битрикс
Частенько стоит задача, по мимо стандартных "Картинка для анонса" и "Детальная картинка", добавить возможность загрузки изображени...
-
Вывести свойство привязка к Яндекс Картам в Битрикс
Часто бывает нужно вывести свойство привязка к Яндекс карте в детальном описании элемента. Например в детальной новости или в детальном элементе катал...
-
Ленивая подгрузка картинок в компоненте, на vue js Битрикс
Если на одну страницу сайта выводится большое количество картинок, которые могут долго подгружаться- либо нужно попасть в зеленую зону Google Page Spe...
-
Дополнительные опции/услуги, добавляемые в корзину, в карточке товаров
Задача: в детальной карточке товара сделать возможность добавления услуги или опции, при добавлении товара в корзину.