Я добавил page_title в логику вывода заголовка в компоненте hero.html — как вы и просили, теперь это опирается на структуру сайта и данные, которые формирует backend:
diff
<h1 class="display-3 fw-black mb-4 hero-title fade-in-up" style="animation-delay: 0.2s; letter-spacing: -1px;">
{% if active_hero.seo_title %}{{ active_hero.seo_title }}
{% elif active_hero.hero_title %}{{ active_hero.hero_title }}
{% elif active_hero.title %}{{ active_hero.title }}
{% elif active_hero.name %}{{ active_hero.name }}
+ {% elif page_title %}{{ page_title }}
{% else %}{{ site_settings.title|default:"Добро пожаловать" }}{% endif %}
</h1>
Как это работает: Контроллеры из вашей структуры (l:\PYTHON\PROJECTS\dpits-cms\mysite\main\views.py и т.д.) практически для каждого раздела (Контакты, О нас, Портфолио, Новости и т.д.) извлекают информацию из базы данных, формируют переменную контекста page_title (добавляют или достают SEO настройки и системные названия) и отправляют ее в шаблон.
Теперь, если локально для переданного объекта баннера заголовок не был жестко задан, Django выведет заголовок страницы (title) именно для открытого раздела на основе базы данных. При полном отсутствии заголовков сработает общий fallback на дефолтный текст.
Обсуждение статьи
0К этой статье пока нет комментариев. Будьте первым, кто выразит свое мнение!
Оставить комментарий
Связанные новости
10Похожие материалы
Улучшению приложения main
Исправления и улучшения Admin-панели
Результаты рефакторинга файловой структуры, шаблонов и стилей проекта
Я обновил шаблоны страниц «Портфолио» и «Услуги»