Все статьи
Кейсы

Как я перенёс каталог с Tilda на отдельный сайт: 58 товаров, фото, фильтры и админка

В этой статье показываю один день работы над каталогом для проекта «Дом Пуэра»: как demo-витрина превратилась в рабочий прототип магазина с реальными товарами, фотографиями, фильтрами, корзиной и закрытой админкой. Разберу, что было сделано, зачем переносить каталог с Tilda в собственную структуру и какие шаги остались до полноценной CMS.

Интерфейс каталога товаров с фильтрами, карточками, корзиной и админкой на тёмном фоне

Задача: превратить demo-каталог в нормальную витрину

У проекта «Дом Пуэра» уже был отдельный раздел на сайте: каталог, корзина, popup товара и demo-админка. Но внутри ещё оставались тестовые товары, placeholder-картинки и временная структура.

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

Сайт проекта находится здесь: Дом Пуэра.

Что было до начала работ

До переноса уже существовал MVP:

  • публичный каталог;
  • корзина на localStorage;
  • popup товара;
  • фильтры, поиск и сортировка;
  • demo-админка товаров;
  • страницы добавления и редактирования товара;
  • тёмно-зелёный визуальный стиль.

Но каталог был тестовым. В нём было около 20 demo-товаров: пуэр, улуны, наборы, посуда и аксессуары. Этого хватало, чтобы показать идею, но не хватало для реального клиентского каталога.

Перенос каталога с Tilda

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

В итоге было перенесено 58 реальных товаров.

Перенос шёл партиями:

  • товары 1–10;
  • товары 11–20;
  • товары 21–30;
  • товары 31–40;
  • товары 41–50;
  • товары 51–58.

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

Что изменилось в структуре товаров

Каждый товар был приведён к единому формату.

У товара появились поля:

  • id;
  • slug;
  • название;
  • категория;
  • тип;
  • формат или объём;
  • цена;
  • короткое описание;
  • полное описание;
  • характеристики;
  • вкус;
  • кому подойдёт;
  • изображение;
  • alt изображения;
  • ссылка на исходный товар;
  • статус активности;
  • статус синхронизации;
  • статус Telegram-канала.

Это важно, потому что дальше товар должен жить не только на сайте. В будущем одна карточка может обновлять сразу несколько направлений: сайт, Telegram-бот, оплату и пост в Telegram-канале.

Реальные фото вместо placeholder

Следующий этап — изображения.

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

Сейчас у всех 58 товаров есть реальные фото.

Картинки используются:

  • в карточке каталога;
  • в popup товара;
  • в админке;
  • на странице редактирования товара.

Часть старых demo-изображений ещё осталась в папке проекта, но они уже не используются в карточках. Это не ломает сайт, просто позже их можно убрать.

Категории и фильтры

После переноса стало понятно, какие категории реально нужны каталогу.

Сейчас товары распределены так:

  • Посуда;
  • Шэн пуэр;
  • Шу пуэр;
  • Номисян;
  • Аксессуары;
  • Благовония;
  • Улуны.

Старые пустые фильтры вроде «Красный чай», «Белый чай» и «Наборы» были скрыты, потому что в текущем реальном каталоге под них нет товаров.

Это важная мелочь: если на сайте есть пустые категории, пользователь кликает, видит пустоту и думает, что сайт недоделан. Лучше показывать только то, что реально наполнено.

Поиск и сортировка

В каталоге работает клиентская логика:

  • поиск по названию;
  • сортировка по умолчанию;
  • сортировка от дешёвых к дорогим;
  • сортировка от дорогих к дешёвым;
  • сортировка по названию;
  • сортировка по типу.

Для небольшого каталога на 58 товаров этого достаточно. Всё работает быстро и без лишней серверной логики.

Popup товара

Для товара не стали делать отдельную страницу. Вместо этого используется popup.

В карточке пользователь видит короткую информацию, а подробности открываются во всплывающем окне:

  • фото;
  • название;
  • цена;
  • категория;
  • формат;
  • описание;
  • вкус;
  • кому подойдёт;
  • кнопка добавления в корзину.

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

Корзина

Корзина работает через localStorage.

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

Сейчас корзина умеет:

  • хранить выбранные товары;
  • считать количество;
  • считать итоговую сумму;
  • менять количество;
  • удалять позиции;
  • очищать корзину.

Оформление заказа пока остаётся demo-частью. Это нормально для текущего этапа: сначала нужно показать механику каталога, а потом уже подключать реальные заказы, доставку и оплату.

Demo-админка товаров

Отдельная часть работы — админка.

Сначала в админке случайно появился контур статей и гайдов. Для этого проекта он был лишним, потому что «Дом Пуэра» сейчас не про блог, а про товары. Поэтому контур статей убрали, а фокус вернули на товарную CMS.

Сейчас в demo-админке есть:

  • список товаров;
  • форма нового товара;
  • страницы редактирования товаров;
  • preview карточки;
  • preview будущего Telegram-поста;
  • блоки статусов;
  • визуальная логика синхронизации.

Админка пока не сохраняет изменения по-настоящему, но уже показывает будущую механику: один товар становится единым источником данных для сайта, бота, оплаты и Telegram-канала.

Авторизация админки

Ещё один важный шаг — закрыть demo-админку от публичного доступа.

Была добавлена отдельная страница входа:

/dom-puera/admin-demo/login

После этого защищены страницы:

  • /dom-puera/admin-demo;
  • /dom-puera/admin-demo/products;
  • /dom-puera/admin-demo/products/new;
  • страницы редактирования товаров.

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

Для demo-этапа этого достаточно. Для боевой версии логин и пароль лучше вынести в .env, а товары — в базу данных.

Что получилось хорошо

Главный результат дня — проект перестал быть просто красивой демкой.

Теперь есть:

  • 58 реальных товаров;
  • реальные изображения;
  • рабочие категории;
  • непустые фильтры;
  • поиск;
  • сортировка;
  • popup товара;
  • корзина;
  • закрытая demo-админка;
  • страницы добавления и редактирования товара.

Это уже можно показывать клиенту как рабочий прототип.

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

Что пока осталось demo-режимом

Не всё пока сделано по-настоящему.

В demo-режиме остаются:

  • сохранение товара из админки;
  • загрузка и замена фото через форму;
  • публикация товара в Telegram-канал;
  • синхронизация с Telegram-ботом;
  • оплата;
  • оформление заказа;
  • база данных товаров.

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

Что можно сделать дальше

Следующий большой этап — превратить demo-админку в настоящую CMS.

Я бы двигался так:

  1. Подключить базу данных товаров.
  2. Сделать реальное сохранение из админки.
  3. Добавить загрузку и замену фото.
  4. Вынести логин и пароль админки в .env.
  5. Подключить Telegram-бота.
  6. Продумать оформление заказа.
  7. Подключить оплату.
  8. Сделать синхронизацию товара с Telegram-каналом.

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

Почему это полезно для бизнеса

Часто у бизнеса уже есть товары где-то в Tilda, таблице, маркетплейсе или старом каталоге. Но данные лежат неструктурированно: где-то длинные описания, где-то разные категории, где-то кривые картинки, где-то нет единого формата.

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

Не просто “перенести карточки”, а сделать основу, с которой дальше можно строить нормальную систему:

  • сайт;
  • корзину;
  • админку;
  • Telegram-бота;
  • канал;
  • оплату;
  • заказы.

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

Коротко по теме

  • За день demo-каталог превратился в рабочий прототип с 58 реальными товарами.
  • Товары с Tilda были приведены к единой структуре: названия, цены, категории, описания, фото и slug.
  • В каталоге работают фильтры, поиск, сортировка, popup и корзина.
  • Demo-админка закрыта авторизацией и показывает будущую логику товарной CMS.
  • Следующий этап — подключить базу данных и сделать настоящее сохранение товаров.

Обсудим вашу задачу?

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

Продолжить чтение