Устройство схемы меню в бекэнде¶
Секции, элементы и подэлементы¶
return array(
'orders' => array(
'items' => array(
'view_orders' => array(
'href' => 'orders.manage',
'alt' => 'order_management',
'position' => '100',
),
'sales_reports' => array(
'href' => 'sales_reports.view',
'position' => '200',
'subitems' => array(
'subitem_1' => array(
'href' => 'smth.todo'
)
)
)
)
)
);
/*
* orders - название секции, значение передается в функцию для получения описания
* items - коллекция элементов
* view_order - название элемента, значение передается в функцию для получения описания. Так же к
* этому значению пристыковывается суффикс "_menu_description" для получения расширенного описания
* href - урл элемента, описывается в формате controller.mode?param1=val1
* alt - дополнительные урлы, при совпадении которых с текущим урлом данный элемент считается выбранным
* active_option - название опции в виде "settings.General.option_name" - если опция выключена, элемент
* не отображается.
* position - позиция элемента
* subitems - подэлементы текущего элемента (поддерживается один уровень вложенности), структура та же,
* что и для коллекции items (см. выше)
*/
Динамические элементы (actions)¶
return array(
'orders' => array(
'side' => array(
'sales_reports.view' => array(
'manage_reports' => array(
'href' => 'sales_reports.manage',
),
)
)
)
)
/*
* orders - название секции, значение передается в функцию для получения описания
* side - коллекция динамических элементов
* sales_reports.view - группа. Может быть как урлом, так и просто контроллером. Сравнивается с текущим урлом
* для отображения только нужных элементов
* manage_reports - название элемента, значение передается в функцию для получения описания
* href - урл элемента, описывается в формате controller.mode?param1=val1
*/
Формирование URL¶
В URL можно добавлять плейсхолдеры в виде company_id=%COMPANY_ID
. В этом случае плейсхолдер заменится на значение из $_REQUEST['company_id']
.