cyklop77 90 Posted November 3, 2013 Report Share Posted November 3, 2013 подскажите пожалуйста почему простейший модуль по адресу 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;} Quote Link to post Share on other sites
Николя223 323 Posted November 3, 2013 Report Share Posted November 3, 2013 (edited) userlist_menu userslist_form Найди отличия) Если я правильно помню - хуки должны начинаться с названия модуля или это - намеренная опечатка?Edited November 3, 2013 by Николя223 Quote Link to post Share on other sites
cyklop77 90 Posted November 3, 2013 Author Report Share Posted November 3, 2013 сам хук начинается с названия модуля. function userlist_menu() а userslist_form() это просто пользовательская функция, которая вызывается из хука... Quote Link to post Share on other sites
Николя223 323 Posted November 3, 2013 Report Share Posted November 3, 2013 (edited) хм... трудно гадать не видя всего... ради этого развернул тестовый друпал. После того, как закинул модуль, ищи через админку поиск обновлений, затем включай модуль, после этого должно заработать файл .info есть?Edited November 3, 2013 by Николя223 Quote Link to post Share on other sites
cyklop77 90 Posted November 3, 2013 Author Report Share Posted November 3, 2013 файл инфо есть. честно говоря это туториал по созданию простейшего модуля. их в инете много и они похожи в общем. что странно, каждый автор уверяет, что такой код работает... вот кстати что ответили на стековерфлоу http://stackoverflow.com/questions/19751208/render-the-page-using-the-module но я плохо понял а чем суть) Quote Link to post Share on other sites
Николя223 323 Posted November 3, 2013 Report Share Posted November 3, 2013 он пишет, что нужно так писать 'access callback' => TRUE, Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.