ページタイプの表示権限で設定されたグループIDの取得
2016年7月27日 at 20:42
みなさん、こんにちは
いつもお世話になっております。
頻繁な投稿ですが、ご容赦ください。
タイトルの件につきまして、
コンポーザーによるページ作成時に
ページのタイプで設定されている権限の内、
表示に設定されているグループのIDを取得したいと考えています。
ご存知の方がいらっしゃいましたら、ご教授よろしくお願いします。
タグ:
Your post has been saved and will be published after approval by the forum moderator.
Katz Ueno
Re: ページタイプの表示権限で設定されたグループIDの取得
それらを総称してアクセスエンティティといいます。
英語の公式ドキュメントは
http://documentation.concrete5.org/developers/permissions-access-security/checking-permissions-against-custom-user
なのですが、
これを参考に・・・
下記、1行毎の解説です。
Permission List
http://documentation.concrete5.org/developers/permissions-access-security/full-permission-list
より、'view_page' が表示権限のキーであることを調べ
現在表示しているページの権限になるようにセットします。 場合によっては $c が null になる場合があるので $c = Page::getCurrentPage(); してやってください。
そこからの2行で、その権限があるエンティティを取り出します。
この $entityObject にそのページで閲覧が許可されているアクセスエンティティ(ユーザー、グループ、グループセット等)のオブジェクトが格納されています。
ここで、グループエンティティのみを取り出し、その中からグループオブジェクトを取り出して、グループ ID を取得しています。
サンプルプログラムはグループ ID を $groupIDs の配列に入れています。