開発(PHP):イベント発火時のきっかけとリソース情報の取得

イベント発火時のきっかけとリソース情報の取得するには、$modx->event->paramsプロパティを使用します。
リソース情報はイベントによって異なります。

構文

戻り値

連想配列で返します。
次のようにイベントにより内容が異なります。
(一部のみ掲載しています)

イベント 戻り値 補足
OnBeforeDocFormSave Array (
    [mode] => きっかけ [ 'new' ... 新規作成 'upd' ... 更新 ]
    [id] => 対象のリソースID
    [doc] => Array (
        変更後のリソース変数
    )
)
・リソース変数のみでテンプレート変数は含まれない。
・更新の場合、更新前の情報はこの戻り値で得ることができない。
$modx->getDocumentメソッドなどで得ることが可能。
OnDocFormSave Array (
    [mode] => きっかけ [ 'new' ... 新規作成 'upd' ... 更新 ]
    [id] => 対象のリソースID
    [doc] => Array (
        変更後のリソース変数
    )
)
・リソース変数のみでテンプレート変数は含まれない。
・更新の場合、更新前の情報はこの戻り値で得ることができない。
OnDocDuplicate Array (
    [mode] => きっかけ [ 'new' ... 新規作成 ]
    [new_id] => 複製(作成)されたリソースID
)
・複製されたリソースごとにイベントが発火、new_idキーはその複製した1つのリソースID。
例えば配下のリソース3つを含む場合、4回のイベントが発火する。
OnDocFormDelete Array (
    [id] => 削除されたリソースID
    [children] => Array (
        削除された子孫リソースID
    )
)
・配下のリソースがある場合idキーは、親のリソースID。
OnEmptyTrash Array (
    [ids] => Array (
        消去されたリソースID
    )
)

サンプルコード

次のコードはリソースを編集した際にOnDocFormSaveイベントが発火した時の例です。

結果

Array (
    [mode] => upd
    [id] => 3
    [doc] => Array (
        [introtext] =>
        [content] => Hello World !
        [pagetitle] => Welcome
        [longtitle] =>
        [type] => document
        [description] =>
        [alias] => hello
        [link_attributes] =>
        [isfolder] => 0
        [richtext] => 1
        [published] => 1
        [parent] => 0
        [template] => 1
        [menuindex] => 0
        [searchable] => 1
        [cacheable] => 1
        [pub_date] => 0
        [unpub_date] => 0
        [contentType] => text/html
        [content_dispo] => 0
        [hide_from_tree] => 0
        [menutitle] =>
        [hidemenu] => 0
        [alias_visible] => 1
        [publishedon] => 1130304721
        [publishedby] => 1
    )
)

CMS「Evolution CMS」逆引きリファレンス一覧へ戻る