🎨 Добавлен полный редактор стилей и поле image_url для туров
✨ Новые функции: - Поле image_url в модели туров для изменения изображений через админ-панель - Расширенная модель настроек сайта с категориями: colors, typography, images, effects, layout - Динамический CSS генератор на основе настроек (/dynamic-styles.css) - API для управления настройками сайта (/api/site-settings) 🎯 Редактор стилей: - Управление цветами (основные, акцентные, текст, фон) - Настройка типографики (шрифты, размеры, межстрочный интервал) - Управление изображениями (фоны, логотипы, фавикон) - Эффекты (прозрачность, тени, размытие, скругления) - Макет (высота секций, размеры контейнеров) - Пользовательский CSS код 🛠️ Техническая реализация: - SiteSettingsHelper с кешированием для производительности - CSS переменные для динамического изменения стилей - Автоматическая миграция базы данных - Интеграция с AdminJS для удобного управления - Загрузка настроек в шаблоны для доступности 📊 База данных: - Расширена таблица site_settings (добавлено поле category) - Новые типы настроек: color, file - 27 предустановленных настроек для полного контроля над дизайном - Автоматическое применение миграций при старте приложения
This commit is contained in:
@@ -7,10 +7,13 @@
|
||||
<meta name="description" content="<%= siteDescription %>">
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="/images/favicon.ico">
|
||||
<link rel="icon" href="<%= siteSettings.favicon_url || '/images/favicon.ico' %>">
|
||||
|
||||
<!-- Google Fonts -->
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Playfair+Display:wght@400;600;700&display=swap" rel="stylesheet">
|
||||
<% if (siteSettings.google_fonts_url && siteSettings.google_fonts_url.trim()) { %>
|
||||
<link href="<%= siteSettings.google_fonts_url %>" rel="stylesheet">
|
||||
<% } %>
|
||||
|
||||
<!-- Bootstrap CSS -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
@@ -26,6 +29,8 @@
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="/css/main.css" rel="stylesheet">
|
||||
<!-- Dynamic Site Settings CSS -->
|
||||
<link href="/dynamic-styles.css" rel="stylesheet">
|
||||
|
||||
<!-- Open Graph Meta Tags -->
|
||||
<meta property="og:title" content="<%= title || siteName %>">
|
||||
@@ -42,7 +47,9 @@
|
||||
<nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-top">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" href="/">
|
||||
<img src="/images/korea-logo.png" alt="Korea Tourism" height="40" class="me-2">
|
||||
<% if (siteSettings.site_logo_url && siteSettings.site_logo_url.trim()) { %>
|
||||
<img src="<%= siteSettings.site_logo_url %>" alt="<%= siteName %>" height="40" class="me-2">
|
||||
<% } %>
|
||||
<span class="fw-bold"><%= siteName %></span>
|
||||
</a>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user