SVSP
TECHNOLOGIES

Документация

CrmAdminLeftMenu

Общее описание

Класс CrmAdminLeftMenu представляет собой сущность левого административного меню в системе Ultralight CRM. Это техническая сущность, которая создается автоматически при установке системы и используется для формирования структуры меню в административной панели.

Основная информация

Назначение

Сущность CrmAdminLeftMenu предназначена для:

Методы

Класс CrmAdminLeftMenu наследует все методы от базового класса Entity и не содержит собственных методов, так как не требует описания кастомной бизнес-логики. Все необходимые операции выполняются через родительский класс.

Наследуемые методы от Entity

<?php

initialize(int $id, int $typeId, bool $dnCheckRights = false)

Инициализирует экземпляр сущности с указанными параметрами.

Параметры:

<?php

getField(string $name)

Получает значение поля сущности по его имени.

Параметры:

Возвращает: Значение поля

<?php

setField(string $name, $value)

Устанавливает значение поля сущности.

Параметры:

<?php

delete()

Удаляет экземпляр сущности из базы данных.

<?php

save()

Сохраняет изменения в экземпляре сущности.

Поля сущности

Сущность CrmAdminLeftMenu содержит стандартные поля, созданные при миграции:

Использование

Создание пункта меню

<?php

// Создание нового пункта меню
$menuItem = EntityTable::createEntity(5, [
    'name' => 'Новый раздел',
    'url' => '/workspace/admin/new-section',
'icon' => 'fa fa-newspaper-o', 'parent_id' => 0, 'sort_order' => 10, 'access_level' => 0 ]);

Получение пунктов меню

<?php

// Получение всех пунктов меню
$menuItems = EntityTable::getEntities([
    'ENTITY_TYPE_ID' => 5,
    'ORDER_BY' => ['sort_order', 'ASC']
]);

// Получение подпунктов определенного раздела
$submenuItems = EntityTable::getEntities([
    'ENTITY_TYPE_ID' => 5,
    'FILTER' => [['parent_id', '=', 1]]
]);

Особенности

  1. Автоматическое создание — сущность и ее таблица создаются автоматически при установке системы
  2. Наследование — класс наследует функциональность от Entity и использует trait EntityTrait
  3. Без кастомной логики — не содержит собственных методов, так как предназначена исключительно для хранения данных
  4. Интеграция с интерфейсом — данные из этой сущности используются для генерации HTML-структуры левого меню в административной панели

Безопасность

При работе с сущностью CrmAdminLeftMenu учитываются стандартные правила безопасности системы:

Примеры использования в системе

Сущность CrmAdminLeftMenu используется в следующих компонентах системы:

  1. Административная панель — для отображения структуры меню
  2. Контроллеры администрирования — для проверки доступа к разделам
  3. Шаблоны Blade — для динамической генерации HTML-меню
<?php

{{-- Пример использования в шаблоне --}}
@foreach($menuItems as $item)
    <li>
        <a href="{{ $item->getField('url') }}">
            <i class="{{ $item->getField('icon') }}"></i>
            <span>{{ $item->getField('name') }}</span>
        </a>
        @if($item->hasChildren())
            <ul class="submenu">
               @foreach($item->getChildren() as $child)
                    <li><a href="{{ $child->getField('url') }}">{{ $child->getField('name') }}</a></li>
               @endforeach
            </ul>
        @endif
    </li>
@endforeach

Заключение

Сущность CrmAdminLeftMenu является важным компонентом административной панели Ultralight CRM, обеспечивающим гибкую настройку интерфейса администратора. Благодаря своей простой структуре и отсутствию кастомной бизнес-логики, она эффективно выполняет свою основную функцию — хранение и предоставление данных о структуре меню.

SVSP
TECHNOLOGIES
Политика конфиденциальности
Политика конфиденциальности