{% case filter.type %}
{% when 'price' %}
{% when 'property' %}
{% for characteristic in filter.characteristics %}
{% endfor %}
{% when 'option' %}
{% for option_value in filter.option_values %}
{% endfor %}
{% endcase %}
{% endfor %}
```
### Поиск с автодополнением
```liquid
```
---
## 🔧 SETUP.JSON - Конфигурация темы
### Структура setup.json
```json
{
"categories": {
"sale": "Распродажа",
"new": "Новинки"
},
"collections": {
"featured": {
"title": "Рекомендуемые товары",
"products": ["product-1", "product-2"]
}
},
"products": {
"product-1": {
"title": "Товар 1",
"price": "1000.0",
"variants": {
"variant-1": {
"title": "Размер M",
"price": "1000.0"
}
}
}
},
"pages": {
"delivery": "Доставка",
"payment": {
"title": "Оплата",
"content": "Информация об оплате"
}
},
"blogs": {
"news": {
"title": "Новости",
"articles": {
"article-1": {
"title": "Новая коллекция",
"content": "Описание коллекции",
"author": "Администратор"
}
}
}
},
"menus": {
"main-menu": "Главное меню",
"footer-menu": "Меню в подвале"
},
"menu_items": {
"main-menu": {
"Главная": "/",
"Каталог": "/collections/all",
"О нас": "/pages/about"
}
},
"properties": {
"brand": {
"title": "Бренд",
"characteristics": {
"nike": "Nike",
"adidas": "Adidas"
}
}
}
}
```
---
## 📱 АДАПТИВНОСТЬ И МОБИЛЬНЫЕ УСТРОЙСТВА
### Responsive изображения
```liquid
{{ image | webp_picture_tag }}
```
### Мобильное меню
```liquid
```
---
## 🚀 ОПТИМИЗАЦИЯ И ПРОИЗВОДИТЕЛЬНОСТЬ
### Ленивая загрузка изображений
```liquid
```
### Кеширование
```liquid
{% cache 'product-' | append: product.id, expires_in: 3600 %}
{{ product.title }}
{{ product.description }}
{% endcache %}
```
### Минификация и сжатие
```scss
// Используйте SCSS для оптимизации
$breakpoints: (
mobile: 480px,
tablet: 768px,
desktop: 1024px
);
@mixin respond-to($breakpoint) {
@media (min-width: map-get($breakpoints, $breakpoint)) {
@content;
}
}
```
---
## 🔒 БЕЗОПАСНОСТЬ
### Экранирование данных
```liquid
{{ comment.content | escape }}
{{ search.query | escape }}
{{ user_content | strip_html }}
```
### CSRF защита
```liquid
```
---
## 📊 АНАЛИТИКА И МЕТРИКИ
### Google Analytics
```liquid
{% if account.google_analytics_id %}
{% endif %}
```
### Отслеживание событий
```javascript
// Отслеживание добавления в корзину
EventBus.subscribe('cart:add', function(item) {
gtag('event', 'add_to_cart', {
'currency': 'RUB',
'value': item.sale_price,
'items': [{
'item_id': item.variant.sku,
'item_name': item.title,
'quantity': item.quantity
}]
});
});
```
---
## 🎨 CSS ФРЕЙМВОРКИ И БИБЛИОТЕКИ
### Популярные библиотеки для InSales
**CSS:**
- Bootstrap 5
- Tailwind CSS
- Bulma
**JavaScript:**
- Swiper.js (слайдеры)
- Fancybox (галереи)
- Select2 (селекты)
- Magnific Popup (попапы)
**Иконки:**
- Font Awesome
- Feather Icons
- Heroicons
### Подключение через CDN
```liquid
```
---
## 🛠️ ИНСТРУМЕНТЫ РАЗРАБОТКИ
### InSales Uploader
```bash
# Установка
npm install -g insales-uploader
# Инициализация
insales theme:init
# Загрузка темы
insales theme:download
# Выгрузка изменений
insales theme:upload
# Просмотр логов
insales theme:watch
```
### Структура проекта
```
project/
├── src/
│ ├── scss/
│ ├── js/
│ └── images/
├── config/
├── media/
├── snippets/
├── templates/
├── gulpfile.js
├── package.json
└── .insalesrc
```
---
## 🔍 ОТЛАДКА И ТЕСТИРОВАНИЕ
### Режим разработки
```liquid
{% if account.subdomain == 'test-shop' %}
{% endif %}
```
### Полезные хелперы
```liquid
{{ product | json }}
{% if product.custom_field %}
{{ product.custom_field }}
{% endif %}
{% comment %}
Текущая страница: {{ template }}
ID товара: {{ product.id }}
Доступность: {{ product.available }}
{% endcomment %}
```
---
## 📚 ДОПОЛНИТЕЛЬНЫЕ РЕСУРСЫ
### Официальная документация
- **LiquidHub:** https://liquidhub.ru/
- **InSales API:** https://api.insales.ru/
- **GitHub репозитории:** https://github.com/liquid-hub/
### Полезные ссылки
- **Документация Liquid:** https://liquidhub.ru/collection/shpargalka-liquid
- **Фильтры:** https://liquidhub.ru/collection/filtry-liquid
- **Операторы:** https://liquidhub.ru/collection/operatory_i_konstruktsii
- **Common.js v2:** https://docs.liquidhub.ru/common.v2.js/
### Сообщество
- **Telegram:** @insalesthemes
- **GitHub:** liquid-hub organization
---
## ⚠️ ВАЖНЫЕ ЗАМЕЧАНИЯ
1. **Версия Common.js:** Убедитесь что используете v2 для современных возможностей
2. **Кеширование:** Используйте кеш для тяжелых операций
3. **Производительность:** Оптимизируйте изображения и минифицируйте код
4. **Безопасность:** Всегда экранируйте пользовательские данные
5. **Адаптивность:** Тестируйте на всех устройствах
6. **SEO:** Используйте правильные meta теги и структурированные данные
---
*Этот документ содержит полную информацию для разработки фронтенда интернет-магазинов на платформе InSales. Используйте его как справочник при работе с Liquid шаблонизатором и JavaScript API.*