web-dev-qa-db-ja.com

設定画面のパフォーマンス領域にのみアクセスすることをユーザーに許可する方法drupal 7

コンテンツエディターにWebサイトをフラッシュする機能を提供したいと思いますDrupalキャッシュ。構成タブですべてを実行する特権を与えずに、この特権を与えることはできないようです。キャッシュをクリアするアクセス許可のみを与えることはできますか?(明らかにこれはコンテンツの編集に加えて)Drupal 7.を使用しています。

ありがとう!

2
Will

これを行うための簡単なカスタムモジュールを作成できます。ご覧のように hook_menu_alter drupalのすべてのメニューを変更できます。そして、そのアクセスコールバックをオーバーライドすることで、ユーザーにアクセス権を付与するカスタム関数を持つことができます。ユーザーが「編集者」の役割を持っているかどうかを確認するサンプルコードを次に示します。次に、trueを返し、ユーザーはパフォーマンスにアクセスできます。

function MYMODULE_menu_alter(&$items) {
  $items['admin/config/development/performance']['access callback'] = '_accesscheck';
}

function _accesscheck(){
  global $user;
  if(in_array('editor', $user->roles)){
     return TRUE;
  }
  return FALSE;
}
3
Shirin Abdolahi

Flush page cache モジュールを試すことができます。このモジュールを使用して、特定のRolesにキャッシュのクリアオプションを付与する権限を設定できます。

特徴

  • ページフッター、ブロック付き、または[管理メニュー]モジュールを使用している場合は、そこにリンクも含まれる多くのボタン配置オプション。
  • ページキャッシュをフラッシュするときにクリアする特定のキャッシュオブジェクトを定義する機能。
  • Varnish統合。キャッシュされたページをVarnishからも削除します。
0
shrish