Phize on the Web

phiEditedonプラグイン(1.1.2) - MODx

オープンソースCMSのMODxで、ドキュメントの保存時に編集日時の更新方法を指定するプラグインです。

通常、ドキュメントの編集日時はドキュメントの保存時に自動的に更新されますが、「ページ設定」や「META キーワード」などの設定のみしか変更していない場合でも編集日時は自動的に更新されてしまいます。内容が更新されていない場合でも編集日時が更新されてしまうのは、編集日時を利用するスニペット・プラグインなどでは都合が悪い場合があります。このプラグインを使うことによって、ドキュメントの編集日時を手動で設定したり、編集日時を更新しないでドキュメントの編集ができるようになります。

  1. 画像: phiEditedonプラグインの使用例

インストール

リソースの転送とプラグインのインストール

  1. ダウンロードしたファイル内の「assets」ディレクトリをMODxのトップディレクトリに転送する。
  2. 「phiEditedon」という名前のプラグインを作成する。(プラグインの作成)
  3. 「プラグイン コード (php)」にダウンロードしたファイル内の「phieditedon.plugin.txt」の内容をコピー&ペーストする。
  4. 「プラグイン設定」に次のコードをコピー&ペーストする。(プラグインの設定)
    &updateTV=Update TV name;string;peUpdate&editedonTV=Editedon TV name;string;peEditedon
  5. プラグインを「OnBeforeDocFormSave」イベントと「OnDocFormSave」イベントに登録する。(プラグインのシステムイベントへの登録)
  6. 「保存」をクリックしてプラグインを保存する。

MODx Evolution 1.0.3以降(日本語版)では、「プラグイン コード (php)」にファイルの内容をコピー&ペーストして保存するだけで良い。プラグイン名、説明、プラグイン設定、システムイベントは自動的に補完される。

テンプレート変数の作成

  1. 「プラグイン設定」の「Update TV name」で設定した名前のテンプレート変数(初期設定では「peUpdate」)を作成する。(テンプレート変数の作成)
  2. 「入力タイプ」から「DropDown List Menu」を選び、「入力時のオプション値」に次のコードをコピー&ペーストする。
    Auto==-1||Manual==0||Disable==1
    「デフォルト値」には-1等と入力する。
  3. 「テンプレートへのアクセス」からプラグインを使用するテンプレートにチェックを付け、「保存」をクリックしてテンプレート変数を保存する。
  4. 「プラグイン設定」の「Editedon TV name」で設定した名前のテンプレート変数(初期設定では「peEditedon」)を作成する。(テンプレート変数の作成)
  5. 「入力タイプ」から「Date」を選び、「テンプレートへのアクセス」からphiEditedonプラグインを使用するテンプレートにチェックを付け、「保存」をクリックしてテンプレート変数を保存する。

使い方

ドキュメントの編集画面から、ドキュメントの保存前に「テンプレート変数」のUpdate TV nameEditedon TV nameを設定する。ドキュメントを保存すると、設定値に合わせてドキュメントの編集日時が更新される。なお、テンプレート変数の設定はドキュメントを保存するたびにリセットされる。テンプレート変数Update TV nameの設定値による動作の違いは次の通りである。

phiEditedonプラグインのテンプレート変数Update TV nameの設定値
設定値 説明
Auto 現在の日時をドキュメントの編集日時として更新する。MODxの標準の動作と同等。
Manual テンプレート変数Editedon TV nameで設定した日時をドキュメントの編集日時として更新する。テンプレート変数Editedon TV nameが未設定の場合はAutoと同等。
Disable ドキュメントの編集日時を更新しない(前回の編集日時をドキュメントの編集日時として更新する)。ドキュメントの新規作成時、複製時はAutoと同等。

バージョン履歴

Version 1.1.2
MODx Evolution 1.0.3 日本語版用にDocBlockコメントを追加。
Version 1.1.1
PHP5.2.2未満の環境で動作しない問題を修正。
Version 1.1.0
MODx Evolutionに対応。
Version 1.0.0
公開。
Copyright© 2006-2017 Phize on the Web All Rights Reserved.