Я ищу некоторые ресурсы новичков для drupal. Я писал свой собственный модуль как способ преподавать мне основы разработки, поскольку мне нравится, когда идея наличия Drupal переходит в то, когда Wordpress не может справиться. (Хотя Wordpress быстро становится столь же выполненным как Drupal, но это не что вопросы о.)
У меня есть модуль, обнаруживающийся на позволять/запрещать экране и module.install работах файла обработка. То, на чем я застреваю, генерирует администраторскую область для редактирования записей в таблице, которую я использую. У меня есть module_admin_settings () функция в module.admin.inc плюс module.menu () в module.module.
Но это не появляется в меню, и я озадачен относительно того, почему это. Таким образом, я надеюсь, что кто-то знает хорошее учебное руководство, которое объясняет, как генерировать администраторские опции.
Если вы хотите серьезно заняться разработкой Drupal, я бы посоветовал вам прочитать книгу Pro Drupal developemnt . Это была самая полезная книга по Drupal, которую я когда-либо читал.
Что касается вашего вопроса, создание раздела администратора мало чем отличается от создания представления где-нибудь. Что вам нужно сделать, так это.
admin / settings / name
должно быть хорошо Реализуйте функцию обратного вызова, которая должна вызываться, когда пользователь заходит в ваш. В вашем случае вам не нужно реализовывать его, поскольку вы должны использовать 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;
}
Затем вам нужно реализовать обработчики проверки и отправки для вашей формы. Если вы используете system_settings_form
, вы можете выполнить большую часть работы за вас.
hook_menu
, вам необходимо очистить кеш (меню), поскольку Drupal кэширует эту информацию для оптимизации производительности. Вот и все. Теперь вам не нужно использовать в модуле разные файлы. Если модуль небольшой, все можно просто зайти в файл .module
. Но для более крупных модулей вы можете поместить часть своего кода в файлы .inc
, чтобы немного упорядочить свой код. Fx имя модуля.admin.inc
для обратных вызовов / функций администратора, имя модуля.page.inc
для обычных обратных вызовов / функций и т. Д.
http://drupal.org/node / 206761 - это то, что я использую в качестве отправной точки.