2011-09-22 10 views
0

これはDrupal 7で初めてのことです。 "test"をエコーするテストモジュールを書きました。メニューには "test"というパスがあります。 Drupal 7で私のモジュールのパスは何ですか?

私はローカルホスト/ drupalの/テストORにアクセスしようとしているローカルホスト/ drupalの/管理/それはそれを見つけることができませんテストし、私は404またはadminページを参照してください。

ここで問題は何ですか?


これはあなたのモジュールやテーマのパスを取得するためのコード、およびそのdoesntの仕事

<?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>'; 
} 
?> 
+0

これは途中であなたを助けるかもしれない: http://drupal.org/node/84658 – Kristoffer

答えて

0

私はあなたがメニューパステスト($item['test']言う)を作成し、ページのコールバック関数を書いたhook_menu()を書いて、正しく

  1. あなたを取得しています。ページのコールバック関数で

  2. 、あなたはエコー検査を言います。

このシナリオであれば、あなただけのキャッシュをクリアする必要があります。 Drupalはメニュー項目を登録する必要があります。メニューフックの実装を記述したら、キャッシュされたデータをクリアしてから、もう一度やり直してください。

8

使用drupal_get_path()です。あなたのモジュールの名前が 'mymodule'の場合、以下のコードを呼び出してパスを取得するだけです。

drupal_get_path('module', 'mymodule'); 

EDIT

もう一度あなたの質問を読んで、私はyour'eがあなたのモジュールへのURLを尋ねることを実現します。モジュールのhook_menu()にあるコードを投稿してください。

関連する問題