PowerCMS™
アルファサードのゴールデンウィーク休業について を追加しました。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[新着情報] 多要素認証設定画面の QR コードが表示されない問題への対策ファイル を追加しました。
[新着情報] PowerCMSクラウド 月額費用の価格改定に関する追加情報を公開します を追加しました。

PowerCMS 6 プラグイン対応ガイド

オブジェクト共通の管理機能の利用方法の変更

PowerCMS にはオブジェクトの追加・変更・閲覧・削除を行うための共通の管理機能が用意されています。 この機能はプラグインから追加した独自のオブジェクトでも利用可能で、以下のパラメータを持つ管理画面のURLを指定することで利用できます。

_mode view、save、delete のいずれか
_type オブジェクトの識別子

PowerCMS 5 ではこの機能は追加の設定無しに利用することが可能でしたが、PowerCMS 6 ではデフォルトの状態が利用禁止に変わりました。 オブジェクト共通の管理機能を利用する場合は以下のようにレジストリに enable_object_methods を記述します。

applications:
    cms:
        enable_object_methods:
            <オブジェクトの識別子>:
                edit: 1
                save: 1
                delete: 1

※YAML フォーマットで定義する場合の記述サンプルです。

edit、save、delete は以下の操作に対応し、1 を指定することで操作を許可することができます。

edit 新規作成、編集および閲覧画面の表示
save 新規作成および保存の実行
delete 削除

enable_object_methods を指定しない状態で共通の管理機能を使用した場合は以下のエラーメッセージが表示されます。

PowerCMS 6.011 以上で表示されるエラーメッセージの内容
この操作は許可されていません。この操作を行うには、enable_object_methods で [オブジェクト識別子] に対する [操作] の定義が必要です。
PowerCMS 6.01 以下で表示されるエラーメッセージの内容
不正な要求です。

また、PowerCMS 5 では管理画面を利用可能なユーザーが前述の URL を直接ブラウザに指定することで該当機能を利用できることを防ぐために レジストリに disable_object_methods を記述することでその機能を禁止できるようになっています。

applications:
    cms:
        disable_object_methods:
            <オブジェクトの識別子>:
                edit: 1
                save: 1
                delete: 1

従って、プラグインが以下の条件に当てはまった場合はプラグインの修正が必要になります。

  • レジストリ object_types で独自のオブジェクトを追加している
  • 追加している独自のオブジェクトの中に disable_object_methods が指定されていないものがある
  • 下記のいずれかに該当し、オブジェクト共通の管理機能を使用している
    • レジストリの管理画面メニュー、リストアクションの定義で以下のような指定が存在する
    • mode: view、save、delete のいずれか
    • args:
      • _type: 独自のオブジェクトの識別子
    • リスト項目やテンプレート等などのHTMLを出力している箇所で以下のパラメータを持つ URL を生成している
    • _mode: view、save、delete のいずれか
    • _type: 独自のオブジェクトの識別子

修正内容は以下になります。

  • _type に指定されている全てのオブジェクトに対して enable_object_methods の記述を追加する
  • disable_object_methods がある場合は削除せずそのまま残す

たとえば obj_foo と obj_bar のふたつの独自オブジェクトがある場合に、obj_foo は全ての操作が可能、obj_bar は閲覧と削除だけ可能とする場合は以下のように記述します。

object_types:
    obj_foo: MT::ObjFoo
    obj_bar: MT::ObjBar

applications:
    cms:
        enable_object_methods:
            obj_foo:
                edit: 1
                save: 1
                delete: 1
            obj_bar:
                edit: 1
                delete: 1
一覧へ

お問い合わせ

お問い合わせフォームがご利用できない場合は、以下のメールアドレスからも受け付けております。
contact@alfasado.jp

製品資料ダウンロード

パンフレットデータ、提案用資料などがダウンロードできます。