私はhook_menu_alterを操作しようとしています。たとえば、アクセスコールバックを管理パス(admin/config/account/people/fields)に変更しようとしています。
権限を作成し、役割に追加しました。今私はこれを試しています:
function mymodule_menu_alter(&$items) {
$items['admin/config/people/account/fields']['access arguments'] = array('my custom permission');
}
しかし、それは機能しません。
この「システム」モジュールの権限を編集できますか?
あなたのコードは正しいです(それは間違いなくhook_menu_alter()
を使用してパスのアクセス引数をオーバーライドする方法です)。
それが機能しない場合は、キャッシュをクリアするだけです(もちろん、カスタムモジュールがインストールされて有効になっていることを確認してください)。
コードをテストサイトにコピーし、キャッシュをクリアしたところ、匿名ユーザーとしてそのページにアクセスしたときに403エラーが発生しなくなりました。
Drupalのコアモジュールは編集しないでください。 drupalインスタンスのアップグレードパスが壊れます。
コアモジュールを編集しないことを常にお勧めします。
変更しようとしているメニューパスはDrupal 7.に存在しません。探しているものがわかりません。