{# app/Modules/Clients/Views/_table.twig #} {# Определяем тип запроса: AJAX = только tbody + footer #} {% set isAjax = app.request.headers.get('X-Requested-With') == 'XMLHttpRequest' %} {# Настройки пагинации - ИСПОЛЬЗУЕМ pagerDetails напрямую #} {% if pagerDetails is defined %} {% set pagination = pagerDetails %} {% else %} {# Fallback если pagerDetails нет #} {% set pagination = { currentPage: 1, totalPages: 1, total: clients|length|default(0), perPage: perPage|default(10), from: 1, to: clients|length|default(0) } %} {% endif %} {# Проверка на пустое состояние #} {% set isEmpty = clients is empty or clients|length == 0 %} {# AJAX запрос - tbody + footer #} {% if isEmpty %}

{% if filters.name or filters.email or filters.phone %} Клиенты не найдены {% else %} Клиентов пока нет {% endif %}

Добавить клиента {% else %} {% for client in clients %}
{{ client.name|first|upper }}
{{ client.name }} {% if client.notes %}
{{ client.notes|slice(0, 50) }}{{ client.notes|length > 50 ? '...' : '' }} {% endif %}
{% if client.email %} {{ client.email }} {% else %} {% endif %} {% if client.phone %} {{ client.phone }} {% else %} {% endif %} {% endfor %} {% endif %} {{ include('@components/table/pagination.twig', { pagination: pagination, id: 'clients-table' }) }}