Как продать 24 вида одного кальяна и зачем для этого переписывать код Тинькова?

Когда я носил усы, я приглашал барышень в кальянную T.N.G.


Там темно, атмосферно и готовят прекрасные кальяны.

С самого первого посещения у меня появился фирменный рецепт, который всегда радовал моих гостей.

Один раз девушка, не буду называть её имени, наотрез отказалась курить то, что я предлагаю и с тех пор мы больше не виделись, Яна.

Настолько я был верен традициям и любил этот рецепт. Кстати вот он:

Медовая дыня — Аргелини

Клубничный милфей — Дейли Хука

И вот делая очередную затяжку, я увидел очень знакомый логотип на кальяне.

Это был Conceptic Design, дизайн которого разрабатывал мой друг Антон.

Производство этого кальяна находится в Петербурге и им занимается Станислав Олейников, давний приятель Антона.

Станиславу понадобилось разработать интернет-магазин для этого кальяна и Антон порекомендовал меня.

Чуть позже, по странному стечению обстоятельств, я сбрил усы, а Антон наоборот — отпустил.

Выходит, что я отдал Антону усы, а он мне клиента. Никаких откатов, всё честно и по мужски.

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

Кальян Conceptic Design продаётся в трёх комплектациях: Basic, Standard и Professional, цены на который составляют 7950, 9900 и 11500 рублей соответственно.

Во всех комплектациях шахта кальяна может быть выполнена в 6 вариациях: стальная с лазерной гравировкой или из карбона, который представлен в 5 цветах: чёрный, зелёный, красный, синий и золотой. Декор из карбона прибавляет к стоимости кальяна 1000 рублей.

А в комплектации Professional кроме всего вышеперечисленного представлено ещё 2 варианта колбы. Она может быть прозрачная или тонированная.

Всего получается 24 вариации.

И что нам с этим делать? Конечно же интерактивный конструктор.

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

Вот что из этого получилось:

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

Пройдя экватор проекта, мы отметили это дело шестой кружкой ☕️ за день и приступили к запуску проекта.

Что там у Олега?

Подключили интернет-эквайринг от Тиньков и онлайн-чат. Тоже от них.

По ходу работы поступила следующая информация: зелёного карбона временно нет в наличии и необходимо отразить это в конструкторе. При отсутствии какой-либо вариации товара необходимо предлагать посетителю обратиться к менеджеру с помощью онлайн чата. И для того, чтобы упростить жизнь посетителю — необходимо открывать чат автоматически.

Ну что ж, практически у всех чатов есть API, и открыть окно чата — один из первых методов, который там может быть. Посмотрим, что там у Тинькова.

На официальном сайте информации об API нет. Ладно, посмотрим код, возможно оно есть, но пока не документировано.

О, господи. API в чистом виде. В глобальном, я бы сказал.

Это значит, что если вы в своём коде определили переменную с названием api, то Олегу насрать, теперь это его API.

Нам повезло и эта проблема нас не касается, главное, чтобы оно работало.

Нашли нужный нам метод и пробуем открыть окно чата.

Ошибка.

Пытаемся разобраться.

Обратите внимание на строки 7 и 22.

Программисты зачем-то создали глобальную переменную без полной инициализации, а инициализируют локальную переменную, к которой нет доступа из вне.

Иначе говоря, объект с методами есть, а толку от него — нет.

Попробуем исправить.

В данном случае достаточно лишь удалить строку 7.

Заработало. 🤘

Как вас по батюшке звать?

Платформа WordPress+WooCommerce имеет американские корни. А как мы знаем, в Америке не принято указывать отчество при оформлении заказов интернет-магазинах.

Согласитесь, Жан-Клод Вандам написать проще, чем Жан-Клод Камиль Франсуа Ван Варенберг.

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

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

Попробуем найти наиболее элегантное решение.

Сначала добавим новое поле на страницу оформления заказа:

А затем используем его в функциях отображения информации о заказе:

Теперь передадим отчество в СДЭК:

Вот и всё.

Пора заканчивать

Результат — https://concepticdesign.ru/

😉

Разработать вам интернет-магазин?

Сделаем #дико 😈, #креативно 🤩 и #отдуши ♥️

Ещё почитать


ИП Сидоряк Алексей Игоревич

ОГРНИП 318470400021833 / ИНН 470416172703

Пользовательское соглашение и правила обработки персональных данных