{% load static %}{% comment %} Шаблон "Хлебные крошки" (breadcrumbs). ЗАЧЕМ ЭТОТ БЛОК: Показывает пользователю путь от главной страницы до текущей ("Главная > Каталог > Винил > The Beatles > Abbey Road"), помогая ориентироваться в структуре сайта + SEO Первый пункт (ссылка "Главная") — вставляется САМИМ этим шаблоном, без участия контекста. Она одинакова абсолютно на всех страницах сайта, поэтому передавать её через каждую вьюху не нужно: переменная `breadcrumbs`, которую передаёт вызывающая вьюха, НЕ должна содержать пункт "Главная" — начинайте сразу со следующего уровня (например, "Каталог"), см. КОНТРАКТ ниже. Вместо слова "Главная" используется готовая иконка домика из статики проекта — public/static/svgs/ico-home.svg, подключаемая через , БЕЗ подключения иконочного шрифта (Font Awesome, IcoMoon и т.п.). Пока иконок в проекте немного, тянуть ради них целый шрифт (лишние килограммы + лишний HTTP-запрос + зависимость от CDN) — невыгодно; один SVG-файл дешевле и не требует внешних подключений. ВАЖНО про цвет иконки: иконка из img-тега НЕ наследует цвет текста и не меняется на hover — она остаётся такой, какая нарисована в самом файле (чёрная заливка). Чтобы иконка оставалась видимой на тёмном фоне в тёмной теме, применён CSS-фильтр dark:invert (инвертирует чёрный в белый только в тёмной теме, в светлой теме фильтр не применяется). КОНТРАКТ (что именно должна передать вызывающая вьюха/шаблон): Контекстная переменная `breadcrumbs` — список (или любой другой iterable) объектов с двумя атрибутами (БЕЗ пункта "Главная" — его добавляет сам шаблон, см. выше): - title: str — видимый текст пункта ("Каталог", "Винил"...); - url: str | None — ссылка на пункт. Если url = None (или отсутствует/пуст) — пункт считается ТЕКУЩЕЙ страницей и рендерится БЕЗ ссылки, с атрибутом aria-current="page". Обычно url=None указывают только у ПОСЛЕДНЕГО пункта. В проекте для этого используется dataclass `BreadcrumbItem` — см. подробное объяснение (с комментариями "для новичков") прямо в docstring класса в файле lpon_site/frontend/views.py. Шаблону не важно, dataclass это, NamedTuple или просто объект с нужными атрибутами — главное, чтобы у каждого элемента были поля `title` и `url`. {% endcomment %}{% if breadcrumbs %}{% endif %}