Содержание
Меню админки
Контроллер админки может содержать в себе описание пунктов меню, которое будет автоматически выводиться во всех разделах (экшенах) админки.
Пример меню в настройках компонента users:
Описание меню
В контроллере (backend.php) должен быть определен метод getBackendMenu(), возвращающий массив пунктов. Каждый пункт так же представлен массивом, содержащим поля:
- title – заголовок пункта
- url – ссылка
Для формирования ссылок используется функция-хелпер href_to(). Первым параметром ей передается название контроллера, вторым – название экшена, на который нужно сослаться. Однако, поскольку контроллер админки начинает свой URL не от корня сайта, а от /admin/controllers/edit, это должно быть учтено. В контроллере админки есть специальное свойство:
$this->root_url
содержащее полный путь от корня сайта. Таким образом, URL экшена может быть получен так:
href_to($this->root_url, 'action');
Пример описания меню
Пример меню из админки компонента users (код не относящийся к меню был вырезан):
//system/controllers/users/backend.php class backendUsers extends cmsBackend{ public function getBackendMenu(){ return array( array( 'title' => LANG_USERS_CFG_FIELDS, 'url' => href_to($this->root_url, 'fields') ), array( 'title' => LANG_USERS_CFG_TABS, 'url' => href_to($this->root_url, 'tabs') ), array( 'title' => LANG_OPTIONS, 'url' => href_to($this->root_url, 'options') ), array( 'title' => LANG_PERMISSIONS, 'url' => href_to($this->root_url, 'perms', 'users') ), array( 'title' => LANG_USERS_CFG_MIGRATION, 'url' => href_to($this->root_url, 'migrations') ) ); } }
Результат показан на скриншоте выше.