Bloom & Joy - готовый интернет-магазин цветов
Четырнадцать готовых страниц интернет-магазина: каталог с фильтрами, карточка товара, корзина, оформление заказа, акции и статьи. Верстка написана вручную, проверена валидатором и ждет Вашего названия. Я продаю этот шаблон один раз - после сделки он снимается с витрины и остается только у Вас.
Магазин, который не нужно придумывать с нуля
Разработка интернет-магазина с нуля - это два-три месяца работы и бюджет от нескольких тысяч рублей. Здесь все уже сделано: продуманы сценарии покупки, отрисованы все состояния интерфейса, написана и вычищена верстка. Вам остается подставить свое название, логотип, цвета и товары.
Я не собирал этот шаблон из готовых блоков конструктора. Каждая страница нарисована и сверстана вручную, по одиннадцати фото-референсам: главная, каталог, листинг, карточка, корзина, оформление, доставка, о нас, контакты, статья и 404. Еще три страницы - акции, поиск и избранное - я добавил сам, потому что без них магазин неполный.
Тема цветочная, но переодеть шаблон под другую нишу - вопрос палитры и фотографий: все цвета вынесены в переменные, и смена акцента меняет весь сайт разом.
Что Вы получаете
Не картинки и не демо-доступ, а рабочий проект со всеми исходниками - с ним может продолжить любой разработчик, не только я.
-
Исходники целиком
Папка src: HTML-партиалы, SCSS по компонентам, JavaScript, шрифты и изображения. Ничего не вырезано и не заблокировано.
-
Собранная версия
Папка app: готовые HTML-страницы, минифицированные CSS и JS, сжатые изображения. Можно залить на хостинг и открыть в тот же день.
-
Сборка проекта
Gulp 5 и Webpack 5 с настроенными задачами: живая перезагрузка, сборка в прод, кэш-бастинг и оптимизация картинок. Одна команда - и сайт пересобран.
-
Документация на русском
Паспорт проекта: все переменные с объяснением, что чем является, описание каждого блока, параметры повторяемых партиалов и разбор логики скриптов.
-
Инструкция по интеграции
Где снять демо-режим, какие GET-параметры ждет фильтр каталога и что именно уходит на сервер при переносе на CMS. Интегратору не придется разбираться на ощупь.
-
Исключительные права
После оплаты шаблон Ваш: используйте, меняйте, перепродавайте как часть своего проекта. Я убираю его с витрины и больше никому не передаю.
Четырнадцать страниц, а не одна главная
Обычно «готовый шаблон» - это красивая главная и три недоделанные внутренние. Здесь сверстан весь путь покупателя: от первого экрана до подтверждения заказа. Листайте - у каждой страницы свой разбор.
Состояния интерфейса, которые обычно забывают
Именно на них чаще всего разваливаются дешевые шаблоны: модальные окна без стилей, пустая корзина белым экраном, поиск без подсказок. Здесь отрисовано все.
Быстрый просмотр товара
Модальное окно с фотографией, характеристиками и описанием - покупатель смотрит букет, не уходя из каталога.
Подсказки поиска
До пяти совпадений с фотографией, названием и ценой, ссылка на все результаты и состояние «Ничего не найдено».
Заказ звонка и заявка
Одна форма на весь сайт: фильтрация ввода, проверка полей и экран «Заявка принята». Заголовок задается атрибутом кнопки.
Пустая корзина
Счетчик обнулен, кнопка заказа погашена, ниже рекомендации. Место, где дешевые шаблоны показывают белый экран.
Шапка раздела
Хлебные крошки, надзаголовок, крупный заголовок с цветком-разделителем и полоса преимуществ.
Шаги оформления
Корзина пройдена, идет оформление, дальше «Готово» - покупатель всегда видит, сколько осталось.
Сайт уже работает, а не просто нарисован
Все перечисленное написано и отлажено. Это не заглушки под будущую доработку - откройте шаблон и пользуйтесь.
-
Фильтр каталога на AJAX
Цена ползунком, цвет, количество роз, повод и сорт. Состояние уходит в адрес страницы - ссылкой на выборку можно поделиться, кнопка «назад» работает. Устаревшие ответы отбрасываются, поэтому быстрые клики не ломают выдачу.
-
Корзина, которая считает сама
Сумма строки, сумма заказа, скидка по промокоду и доставка - все считается по разметке. Доставка бесплатна от порога, ниже него добавляется к итогу.
-
Оформление заказа с проверкой полей
Маска телефона, счетчик символов в комментарии, поля второго получателя, текст открытки и экран «Заказ принят». Новое обязательное поле добавляется разметкой, без правки скрипта.
-
Избранное между визитами
Сердечко работает в карточке, в быстром просмотре и на странице товара. Список переживает закрытие вкладки, счетчик в шапке обновляется сам.
-
Живой поиск
Подсказки с фотографией и ценой прямо в шапке, отдельная страница результатов и честная пустая выдача. Форма работает и без JavaScript.
-
Отзывы и рейтинг
Средний балл, гистограмма оценок и счетчик у вкладки считаются по самим отзывам. Отдадите список из CMS - цифры сойдутся сами, руками ничего проставлять не нужно.
-
Промокоды
Копирование кода одной кнопкой на странице акций и проверка кода в корзине. Пять рабочих кодов уже заведены как пример.
-
Карточка товара целиком
Галерея с миниатюрами, пересчет цены от количества цветов, дополнения слайдером, четыре вкладки и блок похожих букетов.
Телефон проработан так же, как десктоп
Больше половины заказов цветов приходит со смартфона, поэтому мобильная версия здесь не «схлопнутый десктоп». Меню разворачивается панелью со вторым уровнем каталога, фильтры уезжают в шторку с подложкой, карточки перестраиваются под ширину экрана. Проверено на ширинах от 320 px, горизонтальной прокрутки нет ни на одной странице.
Код, который не стыдно отдать другому разработчику
Шаблон покупают не на один раз: его будут дорабатывать и переносить на CMS. Поэтому качество кода здесь - часть товара.
ошибок валидатора
Каждая собранная страница прогнана через сервис W3C. Не «почти чисто», а ноль ошибок.
замечаний линтеров
Stylelint, ESLint и HTMLHint настроены и молчат. Около трехсот правил на один только порядок свойств в CSS.
сторонняя библиотека
Только Swiper для слайдеров. Никакого jQuery, Bootstrap и десятка плагинов, которые потом некому обновлять.
строгое именование
Блок, элемент, модификатор в kebab-case, проверяется линтером. Каждый вложенный селектор подписан полным именем класса.
- Семантическая разметка: заголовки без пропусков уровней, у каждой картинки есть alt, у каждого поля - подпись.
- Доступность продумана: состояния живут в aria-expanded и aria-pressed, модальные окна закрываются по Escape, выпадающие списки слушают стрелки, Home и End.
- Скрипты привязаны к атрибутам data-js-*, а не к классам: переименование класса при перекраске не сломает поведение.
- Изображения отдаются в WebP с запасным вариантом, все, что ниже первого экрана, грузится отложенно.
- Цвета вынесены в смысловые переменные. Чтобы сменить фирменный цвет, правится один файл, а не сорок компонентов.
- Повторяемые блоки - карточка товара, карточка акции, отзыв, хлебные крошки - лежат отдельными партиалами с параметрами. Копипаста разметки по страницам нет.
Ложится на любую CMS
Шаблон сделан так, чтобы перенос на движок был работой интегратора, а не переделкой с нуля. Фильтр каталога общается с сервером обычными GET-параметрами и не ждет своего формата ответа - достаточно, чтобы движок понимал строку запроса. Поэтому страницы одинаково хорошо ложатся на WordPress, 1С-Битрикс и DLE, а без JavaScript каталог остается доступным и для поисковика.
Демонстрационный режим включается одним атрибутом в разметке: пока сервера нет, фильтр, корзина и отзывы работают по данным на странице. При интеграции атрибут снимается, а логика расчета остается прежней.
Интеграцию я могу взять на себя - это отдельная работа со своей сметой. Могу и просто передать исходники Вашему разработчику вместе с инструкцией.
WordPress
Товары и разделы на WooCommerce либо на своих типах записей. Самый частый вариант.
1С-Битрикс
Инфоблоки и штатные компоненты каталога. Разметка под них уже разложена по партиалам.
DLE
Если магазин небольшой и хочется легкой админки без лишнего.
Без CMS
Собранные страницы из папки app заливаются на хостинг как есть.
Кому подойдет
Цветочному магазину
У Вас есть точка и клиенты, но нет сайта - или есть страница, с которой невозможно заказать. Забираете шаблон и выходите в интернет с полноценным магазином, а не с визиткой.
Службе доставки букетов
Каталог, фильтры по поводу и бюджету, открытка к букету, второй получатель и выбор времени доставки - сценарии уже продуманы под этот бизнес.
Студии флористики
Страницы «О нас», «Доставка и оплата» и блок статей позволяют рассказать о себе, а не только продавать.
Веб-студии и разработчику
Готовая основа под клиентский проект: сроки сокращаются в разы, а качество кода такое, что за него не придется оправдываться.
Магазину из смежной ниши
Подарки, сладкие боксы, воздушные шары, декор. Структура магазина та же - меняются палитра, фотографии и названия разделов.
Тому, кто устал от конструкторов
Здесь нет абонентской платы за платформу и нет чужого кода, который нельзя поправить. Файлы Ваши, хостинг Ваш.
Цена зависит от того, что именно Вам нужно: забрать исходники как есть, перекрасить под Ваш бренд или получить готовый работающий магазин под ключ. Точную сумму я называю после короткого разговора - без скрытых наценок и без «плюс доработки по факту».
Входит в стоимость
- Все четырнадцать страниц в исходниках и в собранном виде
- Настроенная сборка проекта и документация на русском
- Замена логотипа, названия и фирменных цветов на Ваши
- Инструкция по переносу на CMS для Вашего разработчика
- Исключительные права: шаблон снимается с продажи
- Месяц технической поддержки по вопросам верстки
Оплачивается отдельно
- Интеграция в CMS и подключение приема заказов
- Наполнение каталога Вашими товарами и фотографиями
- Подключение оплаты, доставки и складского учета
- Новые страницы и разделы сверх имеющихся
- Домен, хостинг и SSL-сертификат
- Профессиональная фотосъемка букетов
Продается один раз
Я не тиражирую этот шаблон и не выкладываю его на биржи. Как только он найдет покупателя, страница исчезнет с витрины, а исходники перестанут существовать где-либо, кроме Вашего проекта. Это значит, что Вы не встретите свой сайт у конкурента через дорогу - ни через месяц, ни через год.