[Решено] Доступ запрещен У вас нет доступа к этой странице.

Главные вкладки

Аватар пользователя ValBangMan ValBangMan 2 февраля 2009 в 23:10

Начинаю изучать друпал по книге Джона Вандюка (второе издание). Так вот начинается там все с написания своего модуля для добавления комментариев или аннотаций, как там они называются к определенным типам нод. Вроде все делаю, как надо, но после включения модуля на странице /admin/build/modules он не хочет быть доступным в разделе /admin/settings а если просто в браузер вбить /admin/settings/annotate (annotate - название модуля) то пишет, что "Доступ запрещен
У вас нет доступа к этой странице."...Помогите кто, что я упустил?

код файла annotate.info:

; $Id$
name = Annotate
description = Allows users to annotate nodes.
core = 6.x
version = 6.8-0.1
package = Annotate

код файла annotate.module:

<?php
// $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);
}

Комментарии

Аватар пользователя jsv jsv 3 февраля 2009 в 9:08

может кеш меню не обновился? Правда такое в 5-ке часто бывало, в 6-й не уверен, не писал на ней...

Аватар пользователя ValBangMan ValBangMan 7 февраля 2009 в 18:51

Оказывается в книге в листинге не дописали строку

'access arguments' => array('administer site configuration'),

которая и определяет видимость пункта в админке