Начинаю изучать друпал по книге Джона Вандюка (второе издание). Так вот начинается там все с написания своего модуля для добавления комментариев или аннотаций, как там они называются к определенным типам нод. Вроде все делаю, как надо, но после включения модуля на странице /admin/build/modules он не хочет быть доступным в разделе /admin/settings а если просто в браузер вбить /admin/settings/annotate (annotate - название модуля) то пишет, что "Доступ запрещен
У вас нет доступа к этой странице."...Помогите кто, что я упустил?
код файла annotate.info:
name = Annotate
description = Allows users to annotate nodes.
core = 6.x
version = 6.8-0.1
package = Annotate
код файла annotate.module:
// $Id$
/**
* file
* Предоставляет пользователям возможности приватно добавлять аннотации к узлу.
*
* Добавить текстовое поле при отображении узла, так, чтобы
* аутентифицированные пользователи могли делать аннотации.
*/
/**
* Реализация hook_menu()
*/
function annotate_menu() {
$items['admin/settings/annotate'] = array(
'title' => t('Annotation settings'),
'description' => t('Change now annotations behave.'),
'page callback' => 'drupal_get_form',
'page arguments' => array ('annotate_admin_settings'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
код файла annotate.admin.inc:
* file
* Обратные вызовы административной страницы для модуля аннотации.
*/
/**
* Построитель форм. Конфигурирование аннотаций.
*
* ingroup forms
* see system_settings_form()
*/
function annotate_admin_settings() {
// Получить массив типов узлов с внутренними именами в качестве ключей
// и "дружественными именами" в качестве значений. Например,
// array('page' => 'Page', 'story' => 'Story')
$options = node_get_types('names');
$form['annotate_node_types'] = array(
'#type' => 'checkboxes',
'#title' => t('Users may annotate these contate types'),
'#options' => $options,
'#default_value' => variable_get('annotate_node_types',
array('story')),
'#description' => t('A text field will be available on these
content types to make user-specific notes.'),
);
return system_settings_form($form);
}
Комментарии
может кеш меню не обновился? Правда такое в 5-ке часто бывало, в 6-й не уверен, не писал на ней...
Оказывается в книге в листинге не дописали строку
которая и определяет видимость пункта в админке