Faqコンテンツがアクセス権にひっかかって表示できなくなった
会員制サイトの構築にあたり、今まではユーザ・プロフィールやユーザ固有コンテンツの表示・非表示をViewsモジュールの閲覧権限の設定や、独自拡張モジュールで対応していましたが、View_ownモジュールを知り、使ってみることにしました。
→ 詳細はView_ownモジュールとWebformモジュール
Faq拡張モジュールへの景況
ところが、View_own拡張モジュールをインストールすると、従来から利用していたFaq拡張モジュールによるFaqコンテンツがスーパーユーザ以外でアクセスするとアクセス権にひっかかって表示できなくなってしまいました。
View_own拡張モジュールとFaq拡張モジュールを同居させるには
View_own拡張モジュールの改造が必要になります。
View_own拡張モジュールの下記部分(Ver 6.x-1.1の場合)
31: function view_own_perm() {
32: foreach (node_get_types() as $type) {
33: if ($type->module == 'node' ) {
34: $perms[] = 'view own '. $type->type .' content';
32: foreach (node_get_types() as $type) {
33: if ($type->module == 'node' ) {
34: $perms[] = 'view own '. $type->type .' content';
を以下のように変更します。
31: function view_own_perm() {
32: foreach (node_get_types() as $type) {
33: if ($type->module == 'node' || $type->module == 'faq') {
34: $perms[] = 'view own '. $type->type .' content';
32: foreach (node_get_types() as $type) {
33: if ($type->module == 'node' || $type->module == 'faq') {
34: $perms[] = 'view own '. $type->type .' content';
上記変更後、以下の要領でWebformコンテンツの一般閲覧を有効にします。
- 管理セクション≫ユーザの管理≫権限ページの「view_own モジュール」以下に「view any faq contentとview own faq content」の権限設定行が増えていますので各ロールに対して有効にします。
- 管理セクション≫コンテンツの管理≫投稿の設定ページの
ノードアクセスの状態:[アクセス権の再構築]をクリックして、変更を反映させます。