Класс CrmAdminLeftMenu представляет собой сущность левого административного меню в системе Ultralight CRM. Это техническая сущность, которая создается автоматически при установке системы и используется для формирования структуры меню в административной панели.
App\Models\CrmAdminLeftMenucrm_admin_left_menuEntityСущность CrmAdminLeftMenu предназначена для:
Класс CrmAdminLeftMenu наследует все методы от базового класса Entity и не содержит собственных методов, так как не требует описания кастомной бизнес-логики. Все необходимые операции выполняются через родительский класс.
<?php
initialize(int $id, int $typeId, bool $dnCheckRights = false)
Инициализирует экземпляр сущности с указанными параметрами.
Параметры:
$id — идентификатор экземпляра сущности$typeId — идентификатор типа сущности$dnCheckRights — флаг, указывающий, нужно ли проверять права доступа<?php
getField(string $name)
Получает значение поля сущности по его имени.
Параметры:
$name — имя поляВозвращает: Значение поля
<?php
setField(string $name, $value)
Устанавливает значение поля сущности.
Параметры:
$name — имя поля$value — новое значение поля<?php
delete()
Удаляет экземпляр сущности из базы данных.
<?php
save()
Сохраняет изменения в экземпляре сущности.
Сущность CrmAdminLeftMenu содержит стандартные поля, созданные при миграции:
id — первичный ключname — название пункта менюurl — URL-адрес пункта менюicon — иконка пункта менюparent_id — идентификатор родительского пункта меню (для иерархии)sort_order — порядок сортировкиaccess_level — уровень доступа к пункту меню<?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]]
]);
Entity и использует trait EntityTraitПри работе с сущностью CrmAdminLeftMenu учитываются стандартные правила безопасности системы:
CrmAuthorizationСущность CrmAdminLeftMenu используется в следующих компонентах системы:
<?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, обеспечивающим гибкую настройку интерфейса администратора. Благодаря своей простой структуре и отсутствию кастомной бизнес-логики, она эффективно выполняет свою основную функцию — хранение и предоставление данных о структуре меню.