Создание темы

Введение

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

Название файла
Назначение

template.blade.php

Основной файл темы

tech_works.blade.php

Страница технических работ

static.blade.php

Статичные страницы

sidebar.blade.php

Сайдбар (левая часть сайта)

monitoring.blade.php

Блок мониторинга

lastPurchases.blade.php

Блок последних покупок

index.blade.php

Содержимое главной страницы (сервера, категории, товары, ввод ника, промокода и прочих данных при необходимости)

Доступные переменные на всех страницах:

Имя переменной
Тип
Описание

$theme

App\Entity\Theme\AbstractTheme

Объект текущей темы

$lastPurchases

App\Models\Purchase[]

Список последних покупок

$staticPages

App\Models\StaticPage[] | Illuminate\Database\Eloquent\Collection

Список статичных страниц

$seo

App\Entity\SEO\SEO

Данные для SEO сайта и не только. Содержит в себе все meta теги для страниц. Желательно использовать только в template.blade.php

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

Объявление данных темы и доступных параметров для настройки тем

Технические файлы темы хранятся в resources/views/site/<theme>/_data

Для хранения данных о теме используется файл theme.json (resources/views/site/<theme>/_data/theme.json)

Для хранения данных о настройках используется файл settings.json (resources/views/site/<theme>/_data/settings.json)

Сущности настроек хранятся в resources/views/site/<theme>/_data/entity

Страницы

Каждая страница (кроме template.blade.php) должны заканчиваться на директиву @extendsTheme('template')

Остальная часть страницы может содержать произвольное содержимое, но желательно придерживаться того же подхода, который применен в стандартной теме. В стандартной теме используется 2 секции - заголовок и содержимое страницы

Секция
Что должна содержать

title

Заголовок страницы

content

Основное содержимое страниц

Вы можете использовать собственные директивы! ☺️

Пожалуйста, ознакомьтесь со стандартной темой для разработки собственной темы :)

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

Last updated