модуль не отображает страничку

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

Аватар пользователя zlodiak zlodiak 2 ноября 2013 в 23:10

подскажите пожалуйста почему простейший модуль по адресу site.ru/userslist выводит на страничку, а сообщение
«The requested page "/userslist" could not be found. »

вот код модуля

<?php//наш вывод ссылки в меню навигации
function userlist_menu()
{
    $items['userslist']=array( //userlist - наш url
    'title'=>t('Users List'),//Название ссылки
    'description'=>t('List of users'),//краткое описание ссылки
    'page callback'=>'userslist_form',//вызываемая ф-ция при переходе по ссылке userlist
    'access callback' => 'entity_access',
    'access arguments'=>array('access content'),
    'type'=>MENU_NORMAL_ITEM
    );
    return $items;
}
//ф-ция отображения информации после перехода по ссылке
function userslist_form()
{
    $perpage = 10;
    $rows = array();
    //хедер нашей таблицы
    $header = array(
    array('data'=>'UID', 'field'=>'uid'),
    array('data'=>'Имя', 'field'=>'name'),
    array('data'=>'Был', 'field'=>'login'),
    array('data'=>'e-mail', 'field'=>'mail'),
    array('data'=>'Активен', 'field'=>'status'),
    array('data'=>'Подпись', 'field'=>'signature'),
    );
    //сам запрос, подробнее о нем api.drupal.org/api/drupal/includes--database--database.inc/function/db_select/7
    $nodes = db_select('users','usrs')
    ->fields('usrs', array('uid','name','login','mail','status','signature'))
    ->extend('PagerDefault')
    ->limit(10)
    ->extend('TableSort')
    ->orderByHeader($header)
    ->execute();
    
    $rows = array();
    foreach ($nodes as $node) //проходим по результату в цикле формируя таблицу
    {
        $rows[] = array(
        check_plain($node->uid),
        check_plain($node->name),
        format_date($node->login),//форматируем число в дату
        check_plain($node->mail),
        check_plain($node->status),
        check_plain($node->signature)
        );
    }
    //формирование и вывод таблицы с пейджером
    $output = theme('table', array('header'=>$header,'rows'=>$rows));
    $output .= theme('pager');

    return $output;
}?>

Комментарии

Аватар пользователя ser_house ser_house 3 ноября 2013 в 18:42

Если, скажем, модуль называется 'userslist', а реализация hook_menu() - 'userlist_menu', то, вероятно, Друпал не узнает, что она (реализация) есть.

Аватар пользователя zlodiak zlodiak 4 ноября 2013 в 15:18

почему же не узнает? в документации именно так и рекомендуется называть хук. то есть имямодуля_menu. в моём модуле всё это есть