Клиенты
Управление клиентами вашей организации
Добавить клиента
{# Формируем строки таблицы из клиентов #}
{% set tableRows = [] %}
{% if clients is defined and clients|length > 0 %}
{% for client in clients %}
{% set tableRows = tableRows|merge([{
cells: [
{
content: '
' ~ client.name|first|upper ~ '
' ~ client.name ~ '' ~ (client.notes ? '
' ~ client.notes|slice(0, 50) ~ (client.notes|length > 50 ? '...' : '') ~ '') ~ '
',
class: ''
},
{
content: client.email ? '
' ~ client.email ~ '' : '
—',
class: ''
},
{
content: client.phone ? '
' ~ client.phone ~ '' : '
—',
class: ''
}
],
actions: '
'
}]) %}
{% endfor %}
{% endif %}
{{ include('@components/table/table.twig', {
id: 'clients-table',
url: '/clients/table',
perPage: perPage|default(10),
sort: sort|default(''),
order: order|default('asc'),
filters: filters|default({}),
columns: {
name: { label: 'Имя / Название', width: '40%' },
email: { label: 'Email', width: '25%' },
phone: { label: 'Телефон', width: '20%' }
},
rows: tableRows,
pagerDetails: {
currentPage: pagerDetails.currentPage|default(1),
pageCount: pagerDetails.pageCount|default(1),
total: pagerDetails.total|default(0),
perPage: perPage|default(10),
from: pagerDetails.from|default(1),
to: pagerDetails.to|default(clients|length|default(0))
},
actions: { label: 'Действия', width: '15%' },
emptyMessage: 'Клиентов пока нет',
emptyIcon: 'fa-solid fa-users',
emptyActionUrl: base_url('/clients/new'),
emptyActionLabel: 'Добавить клиента',
emptyActionIcon: 'fa-solid fa-plus'
}) }}
{# CSRF токен для AJAX запросов #}
{{ csrf_field()|raw }}
{% endblock %}
{% block stylesheets %}
{{ parent() }}