Дефолтная тема PrestaShop classic часто не соответствует дизайн-системе бренда. Переопределение десятков шаблонов поштучно неэффективно — проще создать свою тему с нуля. Мы сталкиваемся с этим каждый день и знаем: только кастомная разработка даёт производительный, поддерживаемый и уникальный магазин. Типичная проблема — несоответствие стилей между страницами. Например, кнопки в каталоге отличаются от кнопок в корзине, если каждый модуль использует свои классы. Кастомная тема решает это централизованно: все стили прописаны один раз и наследуются модулями через грамотное переопределение шаблонов.
Кастомная тема PrestaShop строится на Smarty-шаблонах, которые обрабатываются на сервере. Smarty — это шаблонизатор, разделяющий логику и представление. Грамотная архитектура модульных переопределений и правильная работа с хуками — залог единообразного вида всех модулей. Корзина и поиск будут выглядеть как единое целое.
Кастомная тема даёт на 30% меньший LCP по сравнению с форком classic — это подтверждают замеры Core Web Vitals. Чистая архитектура без лишних переопределений уменьшает объём HTML и количество запросов к базе. В результате TTFB снижается в среднем на 30%, а поддержка требует меньше ресурсов. Это снижает стоимость владения магазином за счёт меньшего времени на обновления и доработки.
Как разработать кастомную тему PrestaShop?
Процесс начинается с анализа дизайн-макетов и декомпозиции страниц на компоненты. Затем мы создаём манифест theme.yml, в котором прописываем совместимость с версией PrestaShop, типы изображений, подключаемые CSS/JS. После этого — вёрстка каждого шаблона в отдельности, с учётом возможности переопределения модулями.
Пример манифеста темы:
---
name: mytheme
display_name: "My Custom Theme"
version: "1.0.0"
author:
name: "Your Company"
email: "[email protected]"
meta:
compatibility:
from: "8.0.0"
to: ~
assets:
css:
all:
- id: theme-main
path: assets/css/theme.css
media: all
js:
all:
- id: theme-main
path: assets/js/theme.js
priority: 200
position: bottom
global_settings:
image_types:
cart_default: { width: 125, height: 125 }
small_default: { width: 98, height: 98 }
medium_default: { width: 452, height: 452 }
large_default: { width: 800, height: 800 }
home_default: { width: 250, height: 250 }
thickbox_default: { width: 1024, height: 1024 }
---
В отличие от форка classic, разработка с нуля даёт полный контроль над HTML-структурой и CSS-классами. Это позволяет соблюсти Pixel Perfect дизайна без лишних переопределений. Smarty повышает читаемость и безопасность шаблонов.
Почему кастомная тема снижает TTFB на 30%?
Чистая архитектура без лишних переопределений уменьшает объём генерируемого HTML и количество запросов к базе. Мы проектируем семантическую структуру, которая укладывается в логику PrestaShop: хуки, хелперы, шаблонные переменные. В результате TTFB снижается в среднем на 30% по сравнению с форком classic, который содержит много неиспользуемого кода.
Пошаговая инструкция переопределения шаблона модуля
- Создайте директорию
themes/your_theme/modules/имя_модуля/. - Скопируйте исходный
.tplиз папки модуля в эту директорию, сохранив структуру. - Отредактируйте шаблон, добавив нужную разметку и классы.
- Очистите кеш шаблонов в админке PrestaShop.
Пример структуры:
themes/mytheme/modules/
├── ps_shoppingcart/
│ └── ps_shoppingcart.tpl
├── ps_searchbar/
│ └── ps_searchbar.tpl
└── blockreassurance/
└── views/templates/hook/reassurance.tpl Что входит в разработку
| Этап | Описание | Срок |
|---|---|---|
| Анализ дизайна и ТЗ | Разбор макетов, определение сетки, компонентов, адаптивных breakpoints | 2–3 дня |
| Проектирование структуры | Создание манифеста темы, конфигурация типов изображений, модульных переопределений | 1–2 дня |
| Вёрстка шаблонов | Разработка Smarty-шаблонов для всех типов страниц (каталог, продукт, корзина, CMS) | 1–2 недели |
| Интеграция модулей | Подключение обязательных и кастомных модулей, тестирование хуков | 3–5 дней |
| Адаптация под мобильные | Реализация responsive-сетки, тестирование на устройствах | 2–3 дня |
| Тестирование и отладка | Функциональное, кросс-браузерное, нагрузочное тестирование | 3–5 дней |
| Деплой и передача | Упаковка темы, инструкция по установке, передача исходников | 1 день |
Сравнение: кастомная тема vs форк classic
| Параметр | Кастомная тема | Форк classic |
|---|---|---|
| HTML-структура | Чистая, семантическая | Наследует устаревшие блоки |
| CSS-классы | Кастомные, без конфликтов | Требуют множества переопределений |
| Производительность | Высокая, на 30% меньше LCP | Средняя, много избыточного кода |
| Поддержка модулей | Полная, без изменений модулей | Частичная, возможны конфликты |
В разработку также входит подключение и настройка Webpack для сборки ассетов. Рекомендуемая конфигурация:
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const path = require('path');
module.exports = {
entry: {
theme: './src/js/theme.js',
checkout: './src/js/checkout.js',
},
output: {
path: path.resolve(__dirname, 'assets'),
filename: 'js/[name].js',
},
module: {
rules: [
{
test: /\.scss$/,
use: [MiniCssExtractPlugin.loader, 'css-loader', 'postcss-loader', 'sass-loader'],
},
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
},
}
],
},
plugins: [new MiniCssExtractPlugin({ filename: 'css/[name].css' })],
}; Адаптация под мобильные устройства
PrestaShop не диктует конкретную систему брейкпоинтов. Мы используем SCSS-миксины с кастомными точками: xs (0), sm (576px), md (768px), lg (1024px), xl (1280px), xxl (1440px). Это обеспечивает плавное изменение сетки для всех разрешений.
Как тестировать тему перед деплоем?
Мы запускаем проверку на совместимость модулей, используем консоль PrestaShop для отладки, проверяем с помощью Lighthouse. Все шаблоны пишутся так, чтобы модули встраивались без конфликтов.
Сроки разработки
- Базовая тема на основе форка
classicс редизайном: 2–3 недели - Тема с нуля, сложный UI, кастомные компоненты корзины/каталога: 4–6 недель
- Адаптация существующего дизайна (Figma/XD → PrestaShop): 3–5 недель
- Поддержка всех стандартных модулей + мультиязычность: включено в оценку выше
Оценим ваш проект в течение 24 часов — свяжитесь с нами для консультации. Получите подробное коммерческое предложение с перечнем работ и гарантией качества.







