Создание темы
Введение
Тема разделена на несколько блоков, которых желательно придерживаться в собственных темах, т.к. на основе этой информации могут быть разработаны модули
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