Каков путь моего модуля в Drupal 7? - PullRequest
0 голосов
/ 22 сентября 2011

Это мой первый раз с Drupal 7, я написал тестовый модуль, который выдает «test», и в меню путь называется «test».

Когда я пытаюсь получить доступ к localhost / drupal / test ИЛИ localhost / drupal / admin / test, он не может его найти, и я вижу страницу 404 или страницу администратора.

В чем здесь проблема?


это код, и он не работает

<?php
/* $Id$ */

/**
* @file
* Very simple DRUPAL module
*/

/**
* Implementation of hook_help().
*/
function hello_world_help($section) {
  switch ($section) {
    case 'admin/help#hello_world':
      $output = '<p>Hello world help...</p>';
      return $output;
    case 'admin/modules#description':
      return 'Hello world module description...';
  }
}

/**
* Implementation of hook_menu().
*/
function hello_world_menu($may_cache) {
  $items = array();

  if ($may_cache) {
  }
  else {
    $items[] = array(
      'path' => 'hello', // drupal path example.com/?q=hello
      'title' => 'Hello world page...', // page title
      'callback' => 'hello_world_page', // callback function name
      'access' => TRUE, // every user can look at generated page
      'type' => MENU_CALLBACK // define type of menu item as callback
    );
  }

  return $items;
}


/**
* Function which generate page (this generate any content - you need only your own code...)
*/
function hello_world_page() {
  return '<p>Hello world!</p>';
}
?>

Ответы [ 2 ]

10 голосов
/ 22 сентября 2011

Используйте drupal_get_path () , чтобы получить путь к вашему модулю или теме. Если имя вашего модуля - «mymodule», то вы просто вызовете приведенный ниже фрагмент кода, чтобы получить путь.

drupal_get_path('module', 'mymodule');

EDIT

Повторное чтение вашего вопроса заставляет меня понять, что вы спрашиваете URL вашего модуля. Не могли бы вы опубликовать код, который вы получили в hook_menu () вашего модуля?

0 голосов
/ 22 сентября 2011

Если я вас правильно понимаю,

  1. вы написали hook_menu(), где создали тест пути к меню (скажем, $item['test']) и написали функцию обратного вызова страницы.

  2. В функции обратного вызова страницы вы говорите эхо-тест.

Если это сценарий, вам просто нужно очистить кеш . Drupal необходимо зарегистрировать пункт меню. После написания любой реализации ловушки меню вы должны очистить кэшированные данные и повторить попытку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...