Скрипт корзины для лендинга

Всем, привет. Многие слышали, что я начал разрабатывать свой скрипт корзины для лендинга. На блоге уже была статья на эту тему, но я использовал готовое решение другого автора.

Сначала все прекрасно работало, но, примерно год назад, многие начали жаловаться, что корзина не работает. Связано это было с тем, что часть файлов, необходимых для работы скрипта лежали на сервере у разработчика, который время от времени «падал», причем не на короткое время, а на недели. Конечно читателей это не устраивало. Кроме того, некоторые писали и об ошибках работы самой логики скрипта, связанной с подсчетом цены при удалении товара из корзины.

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

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

Демонстрация работы скрипта

Как подключить корзину

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

Так как скрипт использует jQuery, то убедитесь, что он у вас подключен.

После подключения jQuery (обычно перед закрывающим тегом body) подключаем и инициализируем скрипт, там же добавим div, в котором и будет располагаться основная корзина.

<div class="smart-basket__wrapper"></div>
<script src="/smartbasket/smartbasket.min.js"></script>
<script>
    $(function () {
       $('.smart-basket__wrapper').smbasket({
         /* Настройки */
       });
    });
</script>

Не забываем подключить и таблицу стилей:

 <link rel="stylesheet" href="/smartbasket/css/smartbasket.min.css">

Настройки корзины

С подключением закончили, теперь давайте займемся настройкой.

Сразу хочу сказать, что при разработке скрипта я ориентировался на то, чтобы, практически, никак не влиять на внешний вид вашего сайта. Не подключал никаких шрифтов, не писал стилей для карточек и т.д. Старался сделать так, чтобы по минимуму влиять на внешний вид вашего сайта.

Итак, первое что мы сделаем — это укажем нашему скрипту обертку вашей карточки товара.

Настройка карточки

Для этого, в месте, где инициализировали скрипт указываем класс обертки карточки в параметре 'productElement':

$(function () {
  $('.smart-basket__wrapper').smbasket({
    productElement: 'product__element',
  });
});

product__element — и есть класс моего блока с карточкой.

На следующем шаге нужно указать скрипту класс кнопки, которая будет отправлять товар в корзину, для этого воспользуемся параметром «buttonAddToBasket»:
Настройки кнопки

$(function () {
  $('.smart-basket__wrapper').smbasket({
    productElement: 'product__element',
    buttonAddToBasket: 'product__add-to-cart-button',
  });
});

product__add-to-cart-button — класс моей кнопки.

У кнопки есть несколько обязательных атрибутов, в которых и хранятся основные данные о товаре.

  • data-sb-id-or-vendor-code — артикул или id товара;
  • data-sb-product-name — название товара;
  • data-sb-product-price — цена, разделенная точкой, если есть копейки;
  • data-sb-product-quantity — количество, по умолчанию укажите 1;
  • data-sb-product-img — полный путь к картинке;

Не обязательные атрибуты:

  • data-sb-product-size — размер. Задается, если вы используете опцию вывода размера в карточке товара. Подробнее о том, как это сделать в инструкции ниже.

Пример кнопки

<button 
  class="product__add-to-cart-button" 
  data-sb-id-or-vendor-code="0032pz" 
  data-sb-product-name="Iphone 10" 
  data-sb-product-price="80000" 
  data-sb-product-quantity="1" 
  data-sb-product-img="http://sprosigorod.online/img/iphone-10.png">
   <i class="fas fa-cart-plus"></i> В корзину
</button>

Обратите внимание, что все атрибуты обязательны для заполнения. Если у вас нет артикула, то просто задайте уникальный набор цифр.

Следующим параметром, который мы настроим будет маска ввода номер телефона «countryCode». По умолчанию сейчас маска для Украины с первыми цифрами '+38', но вы можете поставить, '+7' или любые другие цифры.

Настройка маски телефона

Пока можно менять только их, но, если вы хотите иметь полный контроль над всеми цифрами, напишите мне и я сделаю.

$(function () {
  $('.smart-basket__wrapper').smbasket({
    productElement: 'product__element',
    buttonAddToBasket: 'product__add-to-cart-button',
    countryCode: '+7',
  });
});

Теперь укажем валюту, которую хотим использовать в корзине. Для этого есть параметр smartBasketCurrency, в который можно положить один из значков валют:
 Настройка валюты

  • $
$(function () {
  $('.smart-basket__wrapper').smbasket({
    productElement: 'product__element',
    buttonAddToBasket: 'product__add-to-cart-button',
    countryCode: '+7',
    smartBasketCurrency: '₽',
  });
});

Выбор количества

Если ваша карточка товара предусматривает выбор количества товара, добавляемого в корзину, то укажите класс элемента где будет располагаться блок выбора количества в параметре 'productQuantityWrapper'. Например, я хочу, чтобы выбор количества располагался в теге div с классом 'product__quantity'.

<div class="product__quantity"></div>

Настройка количества

$(function () {
  $('.smart-basket__wrapper').smbasket({
    productElement: 'product__element',
    buttonAddToBasket: 'product__add-to-cart-button',
    countryCode: '+7',
    smartBasketCurrency: '₽',
    productQuantityWrapper: 'product__quantity',
  });
});

После добавления параметра 'productQuantityWrapper' cо значением 'product__quantity', кнопки выбора количества автоматически появятся на сайте в указанном блоке.

Выбор размера в карточке

Недавно появилась возможность добавлять размер, который в свою очередь, может влиять и на цену. Например, в интернет-магазине продают 3 размера пиццы — 32 см, 26 см или 16 см. От радиуса зависит и цена. Вы хотите, чтобы в карточке пользователь мог выбрать нужный размер.

Выбор размера

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

<div class="product__size">
					
 <div class="product__size-element" data-sb-curent-price="320" data-sb-curent-size="32" data-sb-curent-id-or-vendor-code="0032pz">32 см</div>
 <div class="product__size-element" data-sb-curent-price="260" data-sb-curent-size="26" data-sb-curent-id-or-vendor-code="0026pz">26 см</div>
 <div class="product__size-element" data-sb-curent-price="220" data-sb-curent-size="22" data-sb-curent-id-or-vendor-code="0022pz">22 см</div>
					
</div>

Для работы скрипта здесь важны атрибуты «data-sb-curent-price» и «data-sb-curent-size» и «data-sb-curent-id-or-vendor-code» так как в них содержаться параметры для подстановки цены, размера и артикула. То есть при размере 32 см, цена пиццы 320 рублей, при размере 22 см — цена пиццы 220 рублей и т.д. Если цена при любом размере остается одинаковой, просто укажите везде одну и туже стоимость. Аналогичная ситуация и с артикулом. Или укажите везде одинаковый, или вообще не используйте атрибут «data-sb-curent-id-or-vendor-code», если не планируете давать возможность добавлять один и тот же товар с разными характеристиками.

Чтобы цена в карточке менялась, нужно обернуть число с ценой в отдельный блок, например, span, со своим классом. У меня это выглядит так:

<div class="product__price"><span class="product__price-number">320</span> ₽</div>

Теперь класс обертки «product__size» для блока с размерами и класс обертки цены «product__price-number» нужно передать в настройки скрипта:

$(function () {
  $('.smart-basket__wrapper').smbasket({
    productElement: 'product__element',
    buttonAddToBasket: 'product__add-to-cart-button',
    countryCode: '+7',
    smartBasketCurrency: '₽',

    productPrice: 'product__price-number',
    productSize: 'product__size',
  });
});

Теперь при клике на элемент с размером из «data-sb-curent-price» подставится цена в «product__price-number». Если не совсем понятно, напишите мне, попробую разъяснить.

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

Мини-корзина

Я специально не задавал никаких стилей и ей, чтобы у вас был полный контроль если не над всей корзиной, то над максимальным количеством ее элементов. Принцип вывода, похож на настройку предыдущего поля. Нужно указать класс элемента, в котором отобразится кнопка в параметре 'smartBasketMinArea'.

$(function () {
  $('.smart-basket__wrapper').smbasket({
    productElement: 'product__element',
    buttonAddToBasket: 'product__add-to-cart-button',
    countryCode: '+7',
    smartBasketCurrency: '₽',
    productQuantityWrapper: 'product__quantity',
    smartBasketMinArea: 'header__basket-min'
  });
});

Кроме того, у вас есть возможность задать текст в кнопке, перед иконкой корзины и изменить саму иконку. Делается это при помощи параметров smartBasketMinText и smartBasketMinIconPath.

$(function () {
  $('.smart-basket__wrapper').smbasket({
    productElement: 'product__element',
    buttonAddToBasket: 'product__add-to-cart-button',
    countryCode: '+7',
    smartBasketCurrency: '₽',
    productQuantityWrapper: 'product__quantity',
    smartBasketMinArea: 'header__basket-min',

    smartBasketMinText: 'Корзина: ',
    smartBasketMinIconPath: '/smartbasket/img/shopping-basket-wight.svg',
  });
});

Для настройки отступов и внешнего вида, иконка и текст обернуты в теги с классами «smart-basket__min-icon» и «smart-basket__min-text».

Настройка почты для отправки

Для настройки отправки почты, нужно открыть файл config.php, который находится в папке /smartbasket/php/

Настройка отправки

Здесь нас интересуют 2 строки:

  • const SENDER = 'sender@yandex.ru';
  • const CATCHER = 'catcher@list.ru';

SENDER — это адрес, с которого будет отправляться письмо. CATCHER — адрес на который будет приходить письмо. Обратите внимание, что адрес отправителя должен быть реальными, чтобы не возникало проблем с доставкой.

SMTP

Если у вас возникают проблемы с отправкой формы, то воспользуйтесь SMTP протоколом передачи почты. Для этого в одном из последних обновлений я добавил специальные константы:

// *** SMTP *** //
require_once($_SERVER['DOCUMENT_ROOT'] . '/smartbasket/php/phpmailer/smtp.php');
const HOST = '';
const LOGIN = '';
const PASS = '';
const PORT = '';
// *** /SMTP *** //

Раскомментируйте эти строки и заполните в соответствии с вашим почтовым сервисом. Возникнут вопросы — пишите.

Обязательность полей для заполнения пользователем

В новом обновлении, как вы и просили, добавил еще одно поле для связи (email), теперь, если кому-то накладно звонить в другие регионы, они могут сделать обязательным поле для заполнения почты.
По умолчанию обязательным оставил только телефон, но вы можете это исправить в настройках. Для этого предусмотрено 2 параметра:

  • telIsRequired
  • emailIsRequired

Чтобы сделать обязательным поле, поставьте ему значение «true». Чтобы сделать необязательным, укажите «false». Все это выглядеть может так:

$(function () {
  $('.smart-basket__wrapper').smbasket({
    productElement: 'product__element',
    buttonAddToBasket: 'product__add-to-cart-button',
    countryCode: '+7',
    smartBasketCurrency: '₽',
    productQuantityWrapper: 'product__quantity',
    smartBasketMinArea: 'header__basket-min',
    smartBasketMinText: 'Корзина: ',
    smartBasketMinIconPath: '/smartbasket/img/shopping-basket-wight.svg',

    telIsRequired: false,
    emailIsRequired: true,
  });
});

При этом поле с указанием телефона не пропадает, просто данные из формы можно отправить без заполнения этого поля.

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

Надеюсь, что ничего не упустил, если что — пишите!

Если нужна видео-инструкция с описанием процесса установки настройки, напишите в комментариях, я попробую сделать.

127 комментариев

  • Максим

    dimadv7, а можно мне тоже демо страницу со скриптом на почту пожалуйста

    Ответить
  • Олег

    Максим, сам еще не вникал, но тоже актуально.. только я хочу прикрутить гугл таблицы, нашел сервис..sheetsu.com, думаю можно им..ну и так есть скрипты читать с гугл таблиц, можно было бы использовать ) если получиться раньше меня внедрить, пишите ) делитесь опытом )))

    Ответить
  • Артём

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

    Ответить
  • Тимур

    Тимур, здравствуйте, как добавить новое поле в корзину?

    Ответить
  • Игорь

    Олег, вот видео решения _https://www.youtube.com/playlist?list=PLM7wFzahDYnGzgHS52GT7FWvvdpX6rDYR

    Ответить
  • dimadv7

    Здравствуйте, такой настройки не существует

    Ответить
  • Игорь

    В чем отличие данного скрипта от Simlecart js?

    Ответить
  • dimadv7

    Игорь, без понятия о чем вы говорите, поэтому и отличий не знаю

    Ответить
  • Дмитрий

    dimadv7, Здравствуйте Вы можете помочь с корзиной, разобраться не могу никак. я заплачу

    Ответить
  • dimadv7

    Дмитрий, да, давайте попробую.

    Ответить
  • Алиса

    Здравствуйте еще раз!
    У меня скрипт полностью работает, но почему то не работает

    32 см
    26 см
    22 см

    Стили для product__size почему то вообще не прописаны, на них кликаешь и вообще ничего не происходит. все делала четко по инструкции

    Ответить
  • dimadv7

    Стили и не должны быть прописаны, я специально этого не делал, чтоб не влиять на дизайн сайта. Каждый оформляет, как ему нужно. Но реакция при клике на цифры должна быть, посмотрите в инспекторе, там data-атрибут, отвечающий за размер у кнопки меняется. Если от него зависит цена, то и она меняется.

    Ответить
  • Роман

    Менее понятное описание подключения сложно придумать.
    Сделал вроде все как написано, вообще ничего не появилось кроме кнопки в корзину. Ничего не работает.

    Ответить
  • dimadv7

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

    Ответить
  • Дмитрий

    Здравствуйте, пытался сделать товары через попап, прокидывая все атрибуты товара в одну кнопку (в Корзину), на странице. И столкнулся с проблемой, что если так делать, товар добавляется первый, а при добавление второго, картинка в корзине не меняется и имя, а остаётся таким же как и у первого добавленного товара.
    В общем нашёл я в чём проблема была
    c.sbImg = t(this).data(«SbProductImg»)
    исправил на:
    c.sbImg = t(this).attr(«data-sb-product-img»)
    ну и точно так же поступил с именем товара, мало ли кому пригодится.
    Мало ли кто ещё как я через попап делат ^^
    Автору, Спасибо.

    Ответить
  • Леонид

    Дмитрий. Подскажите пожалуйста где ещё исправить. Надо в кодировке 1251. Все файлы. Js css php перевёл в кодировку anssi , заменил utf-8 на windows-1251,. Js пришлось даже де-минимизировать в читабельный вид. А на выходе ноль. Форма просмотра заказа в utf-8 хотя сам заказ виден нормально

    Ответить
  • dimadv7

    Леонид, здравствуйте. Вы пересохранили в смысле все файлы? Так а в чем проблема? Крокозяблы? В самой форме или при получении на почту заявки?

    Ответить
  • Леонид

    Дмитрий спасибо за беспокойство, с кодировкой разобрался. Редактор notepad++ помог. Другие видимо что-то упускали.
    Зато родилась ещё одна идея применения и если подскажите где искать, просто будет гораздо быстрее ( я пишу на delphi , а php начал только изучать). Задача 1 программа выгружает сайт из базы данных прикладной программы с описанием товаров ( около 3000 позиций , поэтому вся выгрузка на delphi) . При создании страниц и сопутствующих товаров Ваш код не меняется, а вот захотелось в прайс-листы и поисковиках
    в виде таблиц добавить кнопку купить как продолжение строчки
    и тут пока проблемма. Если вставить просто кнопку
    <button class="product__add-to-
    —— В корзину

    то по умолчанию она ставит 0 (где можно изменить на 1)
    и второе кнопка не хочет вставать в клетку таблицы и всё время
    устанавливается слева страницы. Можно конечно переделать
    вашу форму , что-бы она была в строчку и без рисунка, но при больших таблицах получается громоздко.
    Заранее спасибо. Я конечно и сам дойду (наверноее это полезнее). но уж больно долго.

    Ответить
  • Леонид

    Дмитрий! извините за беспокойство. кнопка в корзину и так по умолчанию =1 просто пока была неправильная кодировка я этого не видел. Зато если в цикле в таблицу вставлять кнопку, то сначала печатаются все кнопки а потом таблица. и это мне пока не победить

    Ответить
  • Дмитрий

    Неожиданно скрипт перестал работать. Причина неизвестна.

    Ответить
  • dimadv7

    Дмитрий, что перестало работать? Что делали перед тем, как перестал работать?

    Ответить
  • Дмитрий

    dimadv7, извиняюсь за столь малые подробности в прошлом сообщение. Скрипт исправно работал и отсылал заказы на почту (использую для этого почту mail ru). Несколько дней назад решил проверить скрипт, до этого не внося никакие корректировки, письмо на почту не пришло. Пробовал сменить почту, файлы перезаливал.

    Ответить
  • dimadv7

    А в спаме нет? На другую почту не приходят тоже, не yна mail.ru в смысле?

    Хостер не мог ограничения никакие наложить? Почтовый адрес с которого отправляете не попал ни в какие черные списки и не находится под фильтром (маловероятно).

    А тестовое письмо осмысленное было? имя и телефон, а то бывает, я тоже замечал, если бред написать, для теста, тоже не приходят на mail.ru

    Ответить
  • Дмитрий

    dimadv7, спам, естественно, проверял.
    На яндекс письма приходят, но с большим запозданием и попадают в «спам». С mail.ru так и не смог разобраться.
    Заводил 2 новых почтовых ящика на mail.ru и тестил, письма не приходят.

    Ответить
  • dimadv7

    Со следующим обновлением сделаю возможность отправлять при помощи SMTP. Тогда, по идее, должно стать лучше. С mail.ru всегда проблемы были.

    Ответить
  • Леонид

    Дмитрий! Перекодировал все файлы в ansii (кроме phpmailer) вроде всё работает, но в форме отправки заказа поля телефон и имя становятся не активными ( не активируются от мышки) зато если с клавиатуры по табуляции до них добраться , то можно ввести данные, почему такое происходит не пойму. И ещё , насколько сложно заменить телефон на e-mail, а то звонить например в сибирь достаточно накладно. А на почту ответить просто.

    Ответить
  • dimadv7

    Леонид, не знаю даже, чем помочь. Неадекватное поведение какое-то. Точно проблема из-за конвертации в другую кодировку? По сложности не очень тяжело. Попробую сделать, если, будет время на днях возможность выбора поля (телефон/email). Если нет, то уже в июне, так как уезжаю через 2 дня и все мысли о другом уже)

    Ответить
  • Леонид

    dimadv7, поведение действительно странное. я готов переписать весь сайт (2500 страниц )в кодировку utf-8 (а там и база данных на mysql) . надо немного доработать под себя. я не web програмист, но ради такого дела засел за php что бы хотя бы понимать о чём код.
    и вот проблема файл smartbasket.min.js деминифицирую или Deobfuscator чтобы что то там посмотреть , пример сразу перестаёт работать, если перевожу в кодировку 1251 то в форме заказа невозможно указать имя и телефон. я надеялся что если буде читабельный код то можно снять маску на телефон и оставить только строку, а на нажатие кнопки «в корзину» поставить условие если количество ноль то ставить 1. тогда можно в таблицу вывода и поиска товаров вставлять одну кнопку. она так и работает но в форму заказа попадает ноль и надо сначала изменить до 2 а потом снова 1. В обще без исходников никуда. Я за месяц чего только не делал.
    Извините за длинное послание, но наверно придётся бросить это занятие.

    Ответить
  • dimadv7

    Леонид, ответил на почту

    Ответить
  • Леонид

    Дмитрий!
    Я наверное невезучий. как только в вашем файле меняю smartbasket.min.js
    на smartbasket.js пример перестаёт работать.
    У меня версия php 7.3.4 Может в этом причина , или какие нибудь настройки php надо изменить. Я задал вопрос провайдеру почему не уходит почта . Вот что мне ответили :
    На данный момент с нашей стороны не установлено каких-либо ограничений на отправку почты с вашего сайта. Для решения вопроса нам необходимо протестировать отправку почты.

    Пожалуйста, уточните:

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

    Что им ответить не знаю. У них можно выбрать версию PHP 7.0 7.1 7.2 7.3

    Постараюсь у себя переустановить на PHP 7.0 и снова попробовать запустить Ваш скрипт с распакованым smartbasket.js

    Ответить
  • Руслан

    Добрый день, у меня возникли проблемы с ваши примером, как можно с вами связаться, а то я один не смогу их решить:3

    Ответить
  • Иван

    Добрый вечер, Дмитрий! Помогите, пожалуйста! Уже всю голову сломал. Не уходит почта.
    Версия PHP 7.2
    Версия Jquery 3.3.1
    Скопировал папку smartbasket в корень сайта, как и написано в инструкции. Подключил скрипт перед закрывающим тегом body.
    Сделал все как положено! Сама корзина отлично работает, но вот при нажатии кнопки отправки письмо не приходит на почту.
    Все действия проверял на Open Server а так же на хостинге и результат один и тот же. При отправки так же проверял console на наличие ошибок — ошибок не было!
    Настройки в файле config.php сделал как в инструкции. Единственное что смутило так это то что Вы в инструкции не написали не слово где для отправки почты прописывать PORT, LOGIN, PASSWORD. Что для меня не очень понятно как отправка писем будет работать без этих параметров.
    В инструкции написано в config.php изменить только:
    SENDER
    CATCHER
    Что касается данных параметров то в них я указал действующие и рабочие почты.
    Я в тупике подскажите, что может быть не так!
    А и еще попробовал даже взять всё из Дэмо через «Просмотор кода» и там аналогичная ситуация — почта тоже не приходила и ошибок в консоли тоже не было.

    Ответить
  • Константин

    Не работает общая стоимость — https://yadi.sk/i/NPWWnB0JkpDG4g

    Ответить
  • Леонид

    Присоединяюсь к Ивану. Почта не приходит, ошибок не пишет.
    Когда я писал рассылку на Delphi то обязательно было указать порт логин и пароль для почты отправителя.

    Ответить
  • dimadv7

    Леонид, Как протестировать отправку почты с вашего сайта? Указать страницу с которой можно отправить заказ. То есть страницу с корзиной. Как изменить адрес, на который приходит почта? Как изменить настройки отправки почты? — рассказать им в каких папках находятся настройки.

    Ответить
  • dimadv7

    Леонид, сегодня обновлю скрипт и там будет возможность SMTP отправки, то есть можно будет указать порт, хост, пароль и т.д.

    Ответить
  • dimadv7

    Иван, сегодня будет обновление, там можно будет прописать PORT, LOGIN, PASSWORD

    Ответить
  • dimadv7

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

    Ответить
  • Евгений

    Попробовал Ваш скрипт, удобно для небольших сайтов. Возник вопрос: если сразу кидаю в корзину по например 2 единицы товара и потом в самой корзине пытаюсь корректировать количество, то сумма не меняется. Хотя в тестовом письме приходят измененные (правильные) данные.
    Желательно в оформление заказа добавить кнопку обновления, чтобы видеть реальное количество и сумму под купленными товарами.
    ps: может у меня одного такое? тестирую на локалке, не в сети…

    Ответить
  • Леонид

    Дмитрий! Большая просьба. Сделайте настройку для показа телефона или почты для связи ( во многих случаях почта боле предпочтительнее)
    И ещё одна мелочь. Очень удобно в таблицы вставлять просто кнопку.
    Она нормально работает , но по умолчанию в заказ записывает количество ноль. Подкорректируйте пожалуйста, чтобы по умолчанию писалась единица. Вы мне высылали файл smartbasket.js вместо smartbasket.min.js
    Проверьте пожалуйста у себя, у меня он не работает в демо примере.Кнопка перестаёт откликаться и значок корзины просто исчезает.
    Заранее благодарен!

    Ответить
  • dimadv7

    Леонид, а все строки и не нужно, только те, где создаётся input и вставляется в форму.

    Ответить
  • dimadv7

    Леонид, честно говоря, я так и не понял о каком 0 по умолчанию вы говорите?

    Ответить
  • dimadv7

    Евгений, в демке такой проблемы не обнаружил. Что-то, наверное, не так делаете

    Ответить
  • Евгений

    dimadv7, скопировал ваш демо на локалку, действительно ничего нет подобного. я пробовал корзину на готовом LP, видимо в нем конфликт нарисовался, буду искать проблему

    Ответить
  • Евгений

    еще вопрос: если тестировать на локалке (тот же опенсервер) письма должны отправляться? в папке опенсервера не вижу ни одной отправки. создал тестовую страницу с отправкой писем, все отправляется (в папке майл опенсервера их вижу) а при заказе с демостраницы ничего нет..

    Ответить
  • dimadv7

    Евгений, если openserver настроен на отправку писем на почту, то да, должны приходить. Вчера скрипт обновил и добавил возможность отправки при помощи smtp протокола. Попробуйте с ним. Кроме того, jquery > 3, php > 7, хостинг не бесплатный и не тестовый период. У сервера включена функция mail. Если все параметры соответствуют, то нужно писать хостеру и спрашивать нет ли каких-то ограничений на отправку писем с сайта.

    Ответить
  • Леонид

    Леонид, честно говоря, я так и не понял о каком 0 по умолчанию вы говорите?

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

    В корзину

    она работает , но в виду отсутствия в корзину попадает только название ID и цена. Вот я и попросил сделать что бы в корзину по умолчанию прописывалось 1 если ничего другого нет. Я начал читать PHP, что бы как-то разбираться . Но Java ещё не начинал и самостоятельно найти место где это происходит не могу, хотя телефон уже поменял на емаил.

    Ответить
  • dimadv7

    Леонид, «она работает , но в виду отсутствия в корзину попадает только название ID и цена».

    В виду отсутствия чего? В каком параметре 0?

    Ответить
  • Леонид

    Я наверное косноязычен

    если в таблицу поставить только кнопку

    В корзину

    то в заявке количество будет либо ноль либо пусто. а хотелось бы чтобы 1

    Ответить
  • dimadv7

    Леонид, при заданном data-sb-product-quantity='1' у вас в заявке 0?

    Ответить

Добавить комментарий

Подписывайтесь на обновления, чтобы ничего не пропустить.