Ditto2.0.2(SNIPPET)

何かと便利なDitto2.0.2はMODx0.9.6には標準装備でインストールの必要はありませんでした。
 
さて。詳しくは公式サイト内マニュアル。こちらに書き留めるのは、自分の仕事で必要になりそうな事項のみ。
 
日本語使用前提とする場合、コールする前に下処理が必要。
リソース管理→スニペット→Dittoを選択、

$language = (isset($language))? $language : "english";

の部分を

$language = (isset($language))? $language : "japanese-utf8";

に変更。
システム運用をUTF8以外で行っていた場合、それらに変更すればいいけれども、根本的にMODxをUTF8以外で運用するのはかなり不安。
なので、CGIと直接絡むなどの場合以外はUTF8で運用するのが良いようだ。
 
基本コールは

[[Ditto? &tpl=`XXX` &parents=`10,20,30`]]

もしくは

[!Ditto? &tpl=`XXX` &parents=`10,20,30`!]

以下パラメータ補足。
tpl ...Dittoで取得したデータを吐き出す形式を、チャンクから指定。
parents ...データを取得するフォルダをIDで指定。カンマ区切りで複数指定可。
format ...出力フォーマットを指定。他に「rss」「atom」「xml」などがあるので、RSS出力などにも利用できる。
depth ...データを取得する深さを指定。省略した場合は1。その場合、parentsで指定したID直下1階層分しかデータを取得しない。
display ...取得するサマリを指定。省略した場合は3。「all」指定も可能。…「取得する」ではなく「表示する」か?
total ...取得する件数を指定。省略した場合はall。その場合、parentsで指定したフォルダ内、depthで指定した深さ内すべての記事を取得する。
sortDir ...ソートの順。ASCは昇順、DESCは降順。省略した場合はDESC。
sortby ...ソートキーの指定。createdon(作成日)、editedon(更新日)、pub_date(公開日)、pagetitle(ページタイトル)が指定できる。省略した場合は作成日。
removeChunk ...ドキュメント内のチャンクを削除するかどうか。チャンクコードを指定する。省略した場合は「false」(しない)。コメント表示のチャンクが「comment」だった場合、commentと指定するとページ内のコメント表示部分のチャンクを削除して取得するので、ブログ風ページなどの新着に便利。
noResults ...表示するドキュメントがない場合の表示内容。チャンクを指定することもできる。省略した場合、$_lang['no_entries`] が使用される。
start ...省略した場合は0。5と設定した場合、取得したデータの5番目以降から表示される。
dateSource ...[+date+]で表示する日付を指定。createdon、editedon、pub_dateの3つ。省略した場合は作成日。
dateFormat ...[+date+]で表示する日付のフォーマットを指定。PHPのデータ関数に対するフォーマットが使える。
 
パラメータ:dateFormatで日本語を使うと、文字化けする。(2007年=%Y年など)
これを回避するには、/assets/snippets/ditto/classes/ditto.class.inc.php,line925-927

		if ($modx->config["modx_charset"] == "UTF-8") {
			$dt = utf8_encode($dt);
		}

コメントアウトする必要がある。