Заказать
Заказать

Предыстория:

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

Сперва заказчик заполнил бриф, где обозначил все свои предпочтения. Затем был отрисован дизайн главной и внутренних страниц сайта. В завершение осуществлялась верстка и натяжка на WordPress, программинг.

Общие работы,
проведенные на сайте:
Анализ конкурентов
Разработка дизайна
Разработка сайта
Дополнительное программирование
Разработка логотипа
SEO-продвижение
Импорт-экспорт товара
Технические работы, проведенные на сайте:
Индивидуальный фильтр поиска, разработанный под требования заказчика
Слайдер
CSS анимация
Адаптивная верстка под мобильные устройства
Неограниченное кол-во разделов
Обратный звонок, задать вопрос
Каталог, витрина, карточка
Фотогалерея
Блог
FAQ
Обновление остатков поставщика

Краткое описание этапов работы

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

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

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

Обычно, на всех сайтах я устанавливаю плагин аякс поиска по товарам Advanced Woo Search, но после того, как на сайт были загружены некоторые товары, выяснилось, что данный плагин непонятно как сортирует результаты поиска. В итоге, при точном названии товара в поиске, в выпадающей области поля поиска с результатами, некоторые товары не выводились. Поэтому, было принято решение искать альтернативу этому плагину. В итоге была найдена замена в виде FiboSearch — AJAX Search for WooCommerce (плагин показал себя с хорошей стороны — все возможные комбинации поиска выдавались в первом результате поиска).

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

  1. при текущей базе товаров и комплектующих, создавать новый сборный/комплектный товар
  2. при текущей базе товаров и комплектующих, добавлять в товары эти комплектующие по типу как купить вместе.

Второй вариант оказался предпочтительнее, так как не нужно было создавать новые товары. А просто отредактировать уже существующие.

Поиски плагинов для данного функционала привели меня к плагину WPC Frequently Bought Together for WooCommerce (Купить вместе). Но, так как на сайте используется вариативность товаров по цветам, размерам и со стеклом/без стекла, то было принято решение о покупке данного плагина (в лайт версии нет поддержки работы с вариативными товарами).

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

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

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

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