私は現在、メニューの簡単なアクセス制御を可能にする、構築中の新しいモジュールに単純な menu_alter フックを持っています。
<?php
function amh_menu_menu_alter(&$items)
{
$items['admin/build/menu/access'] = array(
'title' => 'Access',
'page callback' => 'drupal_get_form',
'page arguments' => array('amh_menu_access_configure'),
'access arguments' => array('administer menu'),
'type' => MENU_LOCAL_TASK,
'weight' => 5,
'file' => 'amh_menu.admin.inc',
);
}
ただし、ページをロードするときに次のエラーが発生します。
[Mon Feb 21 11:25:15 2011] [error] [client 10.2.2.106] PHP Fatal error: require_once():
Failed opening required '/amh_menu.admin.inc'
(include_path='.:/usr/share/php:/usr/share/pear')
in /var/www/shop.dev.amh/www/includes/menu.inc on line 346,
referer: http://shop.dev.amh/admin/build/menu
menu および menu_alter フックを持つ他のモジュールを見ると、それらはすべてローカルの module.admin.inc を参照しており、この問題はなく、余分なパスを指定しているようには見えません。
確かに-メニューフックのドキュメントには、「ファイルパス」メニュー項目パラメーターは
「file」で指定したファイルを含むディレクトリへのパス。これは、フックを実装するモジュールへのパスにデフォルト設定されます。
どうすればこれを機能させることができますか?