подскажите пожалуйста почему простейший модуль по адресу 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;
}?>
Комментарии
Если, скажем, модуль называется
'userslist'
, а реализация hook_menu() -'userlist_menu'
, то, вероятно, Друпал не узнает, что она (реализация) есть.почему же не узнает? в документации именно так и рекомендуется называть хук. то есть имямодуля_menu. в моём модуле всё это есть
Так это вы весь SO засрали своими вопросами, вы хоть ответы-то на них поглядывайте.
Сравнить два слова не пытались?