Posted at

MODXのリソースツリーをカスタマイズする

More than 3 years have passed since last update.

MODXの管理画面左側にあるリソースツリー。

ここに表示されるリソースは「公開、非公開、削除」といった状態によって若干色が変わったりしてツリーを見るだけでリソースの状態が分かるようになっています。

この部分もプラグインによって制御する事が可能です。

例えば次のプラグインをMODX管理画面のプラグインで保存すると本文に「追記予定」と書いているリソースについてはリソース名に「(追記予定)」というprefixを付けます。

/**

* リソースツリーのカスタマイズデモ
*
* リソースツリーで「追記予定」リソースの表示を変更させます。
*
* @category plugin
* @version 1.00
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL)
* @author soushi
* @internal @events OnManagerNodePrerender
* @internal @modx_category demo
* @internal @properties
*/

if( $this->Event->name == 'OnManagerNodePrerender' ){
$doc = $modx->getDocument($modx->event->data->param['id'],'content');
if( preg_match('/追記予定/',$doc['content']) ){
$modx->event->data->param['nodetitleDisplay'] = preg_replace('/(<span class=".*?">)/','${1}(追記予定)',$modx->event->data->param['nodetitleDisplay']);
}
}

以下はMODXデモサイトで実際に「新サービスのおしらせ」リソースの本文に「追記予定」と書いて保存した時の画面です。

こうしておくと左側のツリーを見るだけで後で追記しようと思ってたリソースを簡単に確認する事が出来るようになります。

追記が終わったリソースは本文から「追記予定」の文字を消すことでツリーに表示された「追記予定」の文字も削除されます。

上記は簡単な使用例ですが、他にも色々な用途に使えると思います。