Вы здесь

Как лучше организовать админ страницу?

2

Нужно что-то на подобие страницы "Конфигурация".
Нужна страница со ссылками на настройки (эти настройки выведенных через hook_menu).

Вопросы: как лучше организовать сбор этих ссылок? hook_menu? Массив через get_variables?
Как вывести эти ссылки потом на страницу?

Версия Drupal: 
7.x
Категория: 
Menu API
Вопрос задан 13.03.2015 - 18:07
Аватар пользователя SAM
SAM
212

Ответы

1

Как вариант page manager - создаем страницу и выводим меню, в которое добавляются нужные ссылки.

Ответ дан 13.03.2015 - 18:35
Аватар пользователя drupby
drupby
456
1

Можно использовать hook_menu

$items['admin/config/name/config_form'] = array(
    'title' => 'xxxxx',
    'description' => 'xxxxx',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('name_config_form'),
    'access arguments' => array('administer site configuration'),  
  );
  return $items;

Возращать форму

function name_config_form
$form['xxxx'] = array(
    '#type' => 'checkboxes',
    '#title' => t('xxxx'),
    '#options' => xxxxxxx(),
    '#default_value' => variable_get('xxxxx', array()),
  );

  return system_settings_form($form);

** system_settings_form(),**
будет добавляет в форму обработчик который будет сохранять отправленные данные в соответствующие ключам элементов формы переменные
В инфо файл модуля добавить строку
configure = admin/config/cf/config_form
Теперь можно переходить на страницу конфига со страницы обзора модулей

Ответ дан 15.03.2015 - 00:14
1

Для custom модулей использую hook_menu

    $items['admin/custom'] = array(
          'title' => 'Страница со ссылками',
          'position' => 'left',
          'page callback' => 'system_admin_menu_block_page',
          'access arguments' => array('administer site configuration'),
          'file' => 'system.admin.inc',
          'file path' => drupal_get_path('module', 'system'),
        );

На данной странице будут выводится ссылки описанные ниже по уровню например admin/custom/link, ни каких своих форм писать не нужно. Пример такой страницы это admin/structure

Ответ дан 15.03.2015 - 21:28