web-dev-qa-db-ja.com

フィルター基準:現在のユーザーの役割

ビューを使用して、いくつかの公開済みコンテンツを表示しています。 previewの役割を持つユーザーに、ビュー内のすべてのコンテンツ(公開済みおよび非公開)を表示する権限を付与したいと思います。したがって、コンテンツを公開した後のページの外観をプレビューできます。私の考え:フィルター基準を追加する必要があります。

公開済み(=はい)

または

現在のユーザーの役割(=プレビュー)

アイデア?


編集#1:簡単にするために、すべての認証済みユーザーのコンテンツを表示することもできます。


編集#2:プレビュー機能が必要な場所に約15ビューがあります。それらは異なる構造(フィルター基準、ビューモード、コンテキストなど)を持っています。つまり、それを維持する必要があるということです柔軟。おそらく、フィルタを定義し、template.phpのデータを検証する必要があることを意味します

6

コメントで述べたように:非公開コンテンツへのアクセス権をユーザーに付与する場合は、 view_unpublished を参照できます

これを「コンテンツ:公開済みまたは管理者」フィルターと組み合わせて使用​​することもできますが、試すための変更はありませんでした。

あなたが説明しているようなフィルターは、ビューへの良い追加になる可能性があります。そのために 問題 を作成することを検討してください。

2
Attiks

あなたの質問をよく理解している場合は、ビューの[アクセス]> [権限]> [アクセス制限]設定を使用して、ビューの結果をそれぞれのロール内のユーザーのみに制限できると思います。

enter image description here

更新:同じビューを許可する必要がある場合、ユーザーの役割に応じてビューのコンテンツのみを表示するには、コンテンツアクセスモジュールをインストールできます http: //drupal.org/project/content_access 。次に、同じビューは、各Content Type> Access Controlタブの設定に従って、ユーザーに表示できるコンテンツのみを表示します。 (注:変更を確認する前に、モジュールでコンテンツアクセス権限を再構築する必要がある場合があります)

enter image description here

ACL http://drupal.org/project/acl のように、コンテンツへのアクセスを制御するモジュールの他の代替手段を参照すると便利かもしれませんが、そのモジュールの経験はありません。

情報がお役に立てば幸いです。

1
cigotete

あなたは一時的な修正のために素早く1つのことをすることができます。 2つのビューを個別に作成し、テーマレイヤーでレンダリングするときにいくつかのロジックを使用します。あなたがハックに興味があるなら、私はここで助けることができます。

0
charan

ビューには、Content: Published or adminのフィルターオプションがあります。未公開のコンテンツは、それを表示する権限を持つユーザーに表示されます。これをContent: Publishedではなくフィルターとして選択すると、ユーザーが非公開コンテンツを表示する権限を持っている限り、非公開コンテンツが公開に合わせて自動的に表示されます。

0
Paul Jones

View PublishedまたはRoles モジュールはまさにそれを行います。

0
albertski