Реализуем функционал добавления в корзину, в избранное и в сравнение, для каталога товаров.
Серия 19: Добавление в корзину, избранное и сравнение на AJAX.
Михаил Базаров: 09.02.2018 15:39:28
Серия 19: Добавление в корзину, избранное и сравнение на AJAX.
Реализуем функционал добавления в корзину, в избранное и в сравнение, для каталога товаров. |
Слава Струк: 09.02.2018 15:39:28
Здравствуйте!
После добавления в корзину на месте small.basket появляется сообщение 'basket.small.bazarow' is not a component Не подскажете в чем может быть дело?) |
Слава Струк: 09.02.2018 16:20:02
Скачал архив из 20го урока, заменил, все заработало. |
Михаил Базаров: 09.02.2018 16:37:19
|
Андрей Колчанов: 19.02.2018 16:15:36
Здравствуйте, Михаил!
То же скачал архив из 20го урока и заменил... ![]() Но есть другие проблемы, не могу понять почему у меня происходит не так как у вас: 1. При нажатии на кнопку "В корзину" у вас выглядит так что страница не обновляется, и всплывает окно, что товар добавлен. У меня же происходит так, нажимаю "В корзину" обновляется страница, в корзине товар появляется, но нет всплывающего окна. 2. В вас при нажатии на чекбокс для сравнения, тоже всплывает окно, а у меня нет. Что делать? |
Михаил Базаров: 20.02.2018 02:59:20
|
Андрей Колчанов: 20.02.2018 11:20:43
Скрипты подключены: $APPLICATION->AddHeadScript($templateFolder."/js/jquery.form.js" ); $APPLICATION->AddHeadScript($templateFolder."/js/jquery.jgrowl.min.js" ); После проверки подключены ли скрипты, проделал следующее: 1. свою папку local заархивировал 2. Вашу залил 3. применил ваш шаблон - всплывающее окно "Товар добавлен..." - работает 4. Залили свой шаблон сайта в папку local (рядом с вашим), применил - не работает 5. скопировал свой шаблон корзины в ваш шаблон сайта, выбрал в компоненте свой шаблон корзины - работат Получается дело не в шаблоне компонента, а в моем шаблоне сайта, но где копать? Не пойму... Скрипты есть, шаблон компонента рабочий... Что еще может повлиять на то что оно обновляется, видимо дело в обновлении страницы? |
Михаил Базаров: 20.02.2018 15:43:03
use Bitrix\Main\Page\Asset; CJSCore::Init(array("jquery")); |
Андрей Колчанов: 20.02.2018 21:16:14
Скопировал из вашего фала header.php почти все строки из <head> ![]() Разработало! Спасибо большое!!! |
Андрей Колчанов: 21.02.2018 08:01:15
Доброе утро! Сейчас заметил, почему то оформление надписи и иконки меняется после добавления в корзину.
Не, ну, должно было конечно поменяться но результат не тот ![]() Постараюсь по проще спросить ![]() В шаблоне компонента ваш код, был в одном из уроков:
|
Андрей Колчанов: 25.02.2018 17:33:34
ЙЙЙЙееес, разобрался в файле /ajax/add2basket.php нужно указать свой шаблон, а не ajax.
|
Андрей Колчанов: 27.02.2018 07:28:55
Доброе утро, Михаил!
Было бы неплохо, чтобы при повторном нажатии на кнопку Избранное товар удалялся из избранного. Причины: 1. По аналогии с кнопкой В сравнение; 2. И если посетитель сайта случайно нажал В избранное и не пришлось потом специально заходить в избранное и удалять не нужный товар. |
Владислав Кузнецов: 14.03.2018 11:42:09
Добрый день.
Все сделано по Вашей инструкции, но при добавлении в избранное, не передается название, а все остальное передается. При чем если добавлять в избранное из корзины, то все нормально. Подскажите куда копать, а то всю голову сломал уже. |
3amok161: 07.04.2018 22:20:39
Михаил Базаров, Здравствуйте!
Подскажите, пожалуйста, не получается самому догадаться в чем проблема. Не получается вывести счетчик товаров в Избранное, уже 500 раз все проверил, все так же как и у вас, но не работает ((( . Вставляю код
Стираю из кода только echo $delaydBasketItems; Все снова становится на свои места. Затем добавляю <?echo $delaydBasketItems;?> во внутрь тега <i> на то место, где должен отображаться счетчик (как в уроке), и снова сайт летит нафиг с той же ошибкой. Получается, что вывод $delaydBasketItems все ломает. . Сейчас без вывода $delaydBasketItems в теге <i> счетчик работает, отображается только при нажатии на кнопку Добавить в избранное в карточке товара, но как только обновляешь страницу счетчик сбрасывается на 0. . . Подскажите, пожалуйста, хотя бы в какую сторону копать. Буду очень благодарен. Может у кого на форуме была такая же проблема? Подскажите, ребята. |
3amok161: 07.04.2018 23:10:31
Как-то туго идет эта серия)))
При реализации отображения счетчика товаров в Корзине возникает такая ошибка на месте где должна быть корзина
|
Михаил Базаров: 08.04.2018 02:33:04
|
3amok161: 09.04.2018 15:34:43
Михаил, спасибо большое! Компонент подключал из bitrix, поэтому не работало.
|
Александр: 20.05.2018 17:41:18
Здравствуйте Михаил. Не очень понятно, каким компонентом выводится список отложенных товаров, если корзиной то как компонент понимает, что выводить нужно отложенные а не товары в корзине?
|
Михаил Базаров: 21.05.2018 22:52:33
Просто открывает сразу, таб с отложенными товарами (basket_item_dlayed вместо basket_items) |
slonikandrew: 09.07.2018 07:32:04
Здравствуйте! Столкнулся с проблемой, при добавлении товара в корзину из карточки товара почему-то не передается его кол-во. Класс к форме добавлен, jquery подключен. В консоли выдает ошибку Uncaught TypeError: $(...).ajaxForm is not a function не могу понять как ее исправить
![]() |
slonikandrew: 09.07.2018 10:40:29
|
gepard09@inbox.ru: 16.08.2018 12:22:50
Здравствуйте. Подскажите пожалуйста какие компоненты нужно использовать, если на сайте нужны (помимо вывода товаров конечно) - только корзина, выбор доставки и оплата робокассой, но НЕ нужен личный кабинет пользователя (так руководство решило). Документация лес дремучий, а вы объясняете очень доходчиво, спасибо вам огромное!
|
Михаил Базаров: 16.08.2018 13:05:22
|
ztx@bk.ru: 26.11.2018 08:22:50
Обнаружил один такой момент, что реализация Избранного через отложенные товары в корзине плохая идея. Один раз купил это избранное и это уже не избранное, надо заново добавлять товар в избранное (
|
Михаил Базаров: 26.11.2018 11:03:06
Ну или, если нужно срочно. Используйте компонент catalog.item - в него просто передавайте ID товаров, которые отложились. |
Стас Ларин: 27.03.2019 12:28:45
Добрый день, сделал все действия по созданию кнопки сравнения, input вывелся все нормально, но как только я нажимаю на input для добавления в список сравнения ничего не происходит и в консоле появляется ошибка
(index):414 Uncaught TypeError: Cannot read property 'checked' of null at compare_tov ((index):414) at HTMLInputElement.onchange ((index):495) Судя по коду она происходит в этом месте: var chek = document.getElementById('compareid_'+id); if (chek.checked) //происходит ошибка при проверке условия { //Добавить var AddedGoodId = id; $.get("/local/ajax/list_compare.php", { action: "ADD_TO_COMPARE_LIST", id: AddedGoodId}, function(data) { $("#compare_list_count"[IMG].html(data); } ); Не подскажите в чем может быть проблема? |
Михаил Базаров: 27.03.2019 13:13:10
Вот тут /local/ajax/list_compare.php тот же самый шаблон сравнения, что и в шапке сайта? |
Стас Ларин: 27.03.2019 13:47:54
Да, скпировал, только он у меня в футере, но на сколько я понимаю это не важно, так как в шапке сайта он туже ошибку выдает и вывел значение переменной chek с помощью consol.log(chek) получает значение null
|
Стас Ларин: 27.03.2019 16:29:24
Простите за беспокойство и спасибо за решение!!! Все заработало, проблема оказалась в лишнем знаке при копировании, после более детального изучения кода и его удаления все заработало на ура!
|
Александр Ермакович: 28.03.2019 14:52:25
Спасибо вам за модули)
А не знаете как из избранного не перемещать к корзину а делать копию? т.е. товар остается в избранном но такой же товар помещается в корзину? |
Сергей Макаренко: 18.03.2021 20:04:50
У меня вообще нет кнопки в корзине "отложить" я так понимаю что у меня этот функционал вообще не подключен, как его подключить?
Спасибо |
EKATERINA Полукарова: 06.04.2021 12:55:45
Михаил, добрый день. Подскажите, пожалуйста, в странице избранного не возможно отправить товар в корзину... В чем может быть проблема... Сам код добавления в корзину работает, но только не на этой странице
![]() Сам код страницы "Избранные": https://yadi.sk/d/ORm8xQmt6b2HTA |
Случайный чел из интернетов: 06.08.2024 04:46:01
Храни тебя господь за эти видосы, мужик. <3
|
Михаил Базаров: 06.08.2024 11:29:43
Пожалуйста
Но лучше смореть новый курс https://bazarow.ru/video/video_new/seazon_1_2023/ Да, за деньгу малую. Но что такое 100 рублей в наши дни) |
Блог-note: заметки разработчика
Установка счетчика Яндекс.Метрики на сайт с Content Security Policy (CSP)
Если на вашем сайте не отображаются данные о кликах и скроллинге в Яндекс.Метрике, вероятнее всего, это связано с настро...
Умный фильтр на главной странице Битрикс
Редкая но востребованная задачка- это вывести компонент "умный фильтр" на главную страницу магазина на Битрикс. При этом...
Вывод элементов с помощью API битрикс
Иногда, выводить элементы инфоблока с помощью компонентов, может оказаться избыточным. Например, если нужно вывести элем...
Добавить свойство в административную форму заказа
Задача, кастомизировать административную форму заказа: добавить свойство заказа в шапку формы, в виде картинки. На сайте...
Создание блога с комментариями, оценками и просмотрами на сайте с 1С-Битрикс
Если на вашем сайте требуется создание раздела с блогом или новостями, статьями. Записям в которых, посетители смогу ста...
Вывести артикул в печатную форму бланка заказа
Задача: в печатную форму бланка заказа добавить артикулы товаров и данные о пользователе.
Создать pdf файл из элемента инфоблока, дать скачать пользователю, поддерживать в актуальном состоянии или отправить на e-mail.
Задача: при каждом посещении статьи, на сайте, нужно создавать pdf файл с ее содержимым и записывать в свойство инфоблок...
Настройка: Redis кеширование для 1С-Битрикс, под Ubuntu
Задача: имеем полностью настроенный и оптимально сконфигурированный веб-сервер под управлением Ubuntu 20.04 на котором з...
Менять большую картинку, при клике на маленькую, в детальной карточке
Мини скриптик, может кому пригодится для каталога товаров или новостей при использовании дополнительных картинок (обычно...