0

次のコードを使用します。

function mymodule_menu_alter(&$items) {
    if (isset($items['node/add/page'])) {
        $items['node/add/page']['access arguments'] = FALSE;
    }
}

次のエラーが発生します。

警告:2011行の/var/www/vhosts/mysite.co.uk/httpdocs/modules/node/node.moduleにnode_access()の引数1がありません。

コードは実際に機能し、必要なことを実行しますが、エラーは私に関係し、サイトユーザーを混乱させます。

問題が何であるか、またはそれを解決する方法がわかりません。誰かが何か援助を提供できますか?

4

1 に答える 1

2

access arguments配列である必要があります:

function mymodule_menu_alter(&$items) {
  if (isset($items['node/add/page'])) {
    $items['node/add/page']['access arguments'] = array();
  }
}

ページへのアクセスを絶対に誰にも拒否しようとしている場合は、access callback代わりにキーを使用する必要があります。

function mymodule_menu_alter(&$items) {
  if (isset($items['node/add/page'])) {
    $items['node/add/page']['access callback'] = FALSE;
  }
}
于 2011-11-30T10:00:19.260 に答える