{% extends '@adminx/main.twig' %} {% block title %}Размещения · Публичный сайт{% endblock %} {% block content %} {% set public_site_tab = 'placements' %} {% include '@public_site/_tabs.twig' %} {% if rebuilt %}
Карта обновлена

Все сохранённые шаблоны и ссылки на компоненты прочитаны заново.

{% endif %}
{{ placement_map.stats.total }}Подключений
{{ placement_map.stats.sources }}Источников
{{ placement_map.stats.modules }}Модульных тегов
{{ placement_map.stats.broken }}Битых ссылок
Это безопасная карта действующего сайта

Она читает уже сохранённые теги и ничего не переключает в публичной части. Изменения по-прежнему выполняются в штатных редакторах.

{% set filter_suffix = '&q=' ~ filters.q|url_encode ~ '&area=' ~ filters.area|url_encode ~ '&type=' ~ filters.type|url_encode ~ '&state=' ~ filters.state|url_encode %} {% if placement_view == 'placements' %} {% set section_icon = 'ti-route-square' %} {% set section_eyebrow = 'Области страницы' %} {% set section_title = 'Подключённые компоненты' %} {% set section_desc = placement_map.stats.filtered ~ ' связей соответствует текущему фильтру.' %} {% else %} {% set section_icon = 'ti-link' %} {% set section_eyebrow = 'Где используется' %} {% set section_title = 'Компоненты в текущей выборке' %} {% set section_desc = 'Сводка помогает найти повторно используемые и потерянные компоненты.' %} {% endif %}
{{ section_eyebrow }}

{{ section_title }}

{{ section_desc }}

{% if filters.q or filters.area or filters.type or filters.state %} Сбросить {% endif %}
{% if placement_view == 'placements' %}
{% for item in placement_map.rows %} {% else %} {% endfor %}
Область Где подключено Компонент Состояние
{{ item.area_title }} {{ item.source_part_title }}
{{ item.source_title ?: item.source_type_title ~ ' #' ~ item.source_id }} {{ item.source_type_title }} · ID {{ item.source_id }}
{{ item.component_title }} {{ item.tag }} {% if item.occurrences > 1 %}Повторяется {{ item.occurrences }} раза{% endif %}
{% set state_class = item.component_status == 'broken' ? 'badge-red' : (item.component_status == 'disabled' ? 'badge-gray' : (item.component_status == 'module' ? 'badge-violet' : 'badge-green')) %} {{ item.component_status_title }}
{% if item.source_url %} {% endif %} {% if item.component_url %} {% endif %}
Размещений не найдено Измените фильтры или добавьте компонент штатным тегом в шаблон.
{% include '@public_site/_placement_pagination.twig' %}
{% else %}
{% for item in placement_map.usage %} {% else %} {% endfor %}
Компонент Тип Подключений Источников Состояние
{{ item.component_title }} {{ item.component_key }}
{{ placement_map.options.types[item.component_type]|default(item.component_type) }} {{ item.placements }} {{ item.sources }} {% set state_class = item.component_status == 'broken' ? 'badge-red' : (item.component_status == 'disabled' ? 'badge-gray' : (item.component_status == 'module' ? 'badge-violet' : 'badge-green')) %} {{ item.component_status_title }} {% if item.component_url %}
{% endif %}
Компонентов в текущей выборке нет.
{% include '@public_site/_placement_pagination.twig' %}
{% endif %}
{% endblock %}