web-dev-qa-db-ja.com

管理者/コンテンツのユーザーに属するコンテンツのみを表示します

コンテンツエディターと2人のユーザーChangLiangと呼ばれる役割があり、同じ役割を持っています。

自分のコンテンツを両方とも追加/編集できます。ロールの権限は、自分のコンテンツのみを編集できるように設定されています。

ただし、Chang/admin/contentに移動すると、このユーザーはすべてのユーザーが書き込んだすべてのコンテンツを表示できます。

チャンを制限して、/admin/contentリンクにアクセスしたときに自分が書いた内容だけを表示できるようにするにはどうすればよいですか?

2
user12947

Content Admin Access というサンドボックスモジュールを作成しました==これがあなたが探しているものかもしれません。

コンテンツ管理者アクセスを使用すると、管理者/コンテンツ概要で他のコンテンツを表示または非表示にする権限を設定できます。

このモジュールを有効にすると、デフォルトでは管理者/コンテンツの概要に自分のコンテンツのみが表示されます。

1
Stijn

Hook_query_TAG_alterを使用して、管理/コンテンツページでコンテンツをフィルタリングできます

/**
 * Implement hook_query_TAG_alter()
 * Need to filter out nodes from admin/content page.
 */
function hook_query_node_admin_filter_alter(QueryAlterableInterface $query) {
  global $user;
  if ($query->hasTag('node_admin_filter')) {
    $query->condition('uid', $user->uid);
  }
}

条件を追加することで特権管理者をバイパスできます。

ありがとう、Devendra

0
Devendra Mishra

see all the contents」とは、「実際のコンテンツを閲覧できる」ことを意味します(「タイトルのあるノードのリスト」のようなものではありません)。

その場合は、 Rules モジュールの使用を検討してください。基本的に、ルールは次のようになります。

  • Event:コンテンツが表示されます
  • 条件:(ユーザーはロール=コンテンツ編集者)AND(ノード:作成者がサイト:現在のユーザーと等しくない)
  • Action:ページのリダイレクト(適切と思われるいくつかの適切なノードに)
0
Pierre.Vriens

インストール 管理ビュー

優れた使いやすさのために、管理の概要/一覧ページを実際のビューに置き換えます。

次に、ノードリストを表示するビューを変更して、現在ログインしているユーザーなどによるコンテンツを含めることができます。

0
J. Reynolds