Меню администрирования

Я ищу некоторые ресурсы новичков для drupal. Я писал свой собственный модуль как способ преподавать мне основы разработки, поскольку мне нравится, когда идея наличия Drupal переходит в то, когда Wordpress не может справиться. (Хотя Wordpress быстро становится столь же выполненным как Drupal, но это не что вопросы о.)

У меня есть модуль, обнаруживающийся на позволять/запрещать экране и module.install работах файла обработка. То, на чем я застреваю, генерирует администраторскую область для редактирования записей в таблице, которую я использую. У меня есть module_admin_settings () функция в module.admin.inc плюс module.menu () в module.module.

Но это не появляется в меню, и я озадачен относительно того, почему это. Таким образом, я надеюсь, что кто-то знает хорошее учебное руководство, которое объясняет, как генерировать администраторские опции.

1
задан kiamlaluno 25 July 2010 в 14:17
поделиться

2 ответа

Если вы хотите серьезно заняться разработкой Drupal, я бы посоветовал вам прочитать книгу Pro Drupal developemnt . Это была самая полезная книга по Drupal, которую я когда-либо читал.

Что касается вашего вопроса, создание раздела администратора мало чем отличается от создания представления где-нибудь. Что вам нужно сделать, так это.

  1. Реализуйте hook_menu , чтобы зарегистрировать URL-адрес, который вы хотите использовать, в вашем случае admin / settings / name должно быть хорошо
  2. Реализуйте функцию обратного вызова, которая должна вызываться, когда пользователь заходит в ваш. В вашем случае вам не нужно реализовывать его, поскольку вы должны использовать drupal_get_form , но вместо этого вам нужно создать форму, которую пользователь должен видеть, используя API формы .

    Вам нужно поместить эту информацию в ваше hook_menu следующим образом:

     function modulename_menu () {
     $ items = array ();
     $ items ['admin / settings / modulename'] = array (
     'title' => 'Пункт меню',
     'description' => 'Описание пункта меню. Он используется как атрибут заголовка и на странице обзора администрирования. ',
     'page callback' => 'drupal_get_form',
     'аргументы страницы' => массив ('form_id'),
     'аргументы доступа' => array ('administer modulename'), // ограничение доступа только админам
     );
    вернуть $ items;
    }
    
  3. Затем вам нужно реализовать обработчики проверки и отправки для вашей формы. Если вы используете system_settings_form , вы можете выполнить большую часть работы за вас.

  4. Каждый раз, когда вы вносите изменения в hook_menu , вам необходимо очистить кеш (меню), поскольку Drupal кэширует эту информацию для оптимизации производительности.

Вот и все. Теперь вам не нужно использовать в модуле разные файлы. Если модуль небольшой, все можно просто зайти в файл .module . Но для более крупных модулей вы можете поместить часть своего кода в файлы .inc , чтобы немного упорядочить свой код. Fx имя модуля.admin.inc для обратных вызовов / функций администратора, имя модуля.page.inc для обычных обратных вызовов / функций и т. Д.

2
ответ дан 2 September 2019 в 22:56
поделиться

http://drupal.org/node / 206761 - это то, что я использую в качестве отправной точки.

0
ответ дан 2 September 2019 в 22:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: