Ditto2.0.2のパラメータについて調べてみました。
調査環境:
サーバOS: 自前 Debian 3.1
Apache : 2.0.54
MySQL : 4.1.11
PHP : 4.3.10
MODx : 0.9.5
Ditto: 2.0.2
いろんな形式でドキュメントを表示できます。
スニペットコール
[[Ditto? &parents=`...` &depth=`..` &tpl=`テンプレートチャンク`]]
等の書式でコールします。
基本的な部分は1.0.2と同じ感じで使えます。
http://modxcms.com/forums/index.php/topic,11072.0.html
☆Ditto2.0.2の日本語化について:
Ditto1.0.2で使用できていた日本語パックのDitto用日本語ファイルは、2.0.2では大幅に変数名などが置き換わってしまっているため、使用できなくなっているようです。
中途半端な翻訳ではありますが、こちらでDitto2.0.2用の日本語ファイルを作成して、配布していますので、ご利用ください。一応 EUC-JP , SHIFT-JIS , UTF-8 の3つを用意しておきます。
(日本語部分は改良して使用されることを推奨w)
http://www.pc-maniax.com/downloads/ditto-202jp.html
追記:yamaさんがMOD0.9.6RC3の日本語パックを提供してくださってるようです。(UTF-8)
http://modxcms.com/forums/index.php/topic,14255.0.html
5/3再追記:どうやら上記の日本語パックには私が作ったものがマージされてるようです。(あんなのでいいのかなぁ…σ(^_^; )
================== Ditto2.0.2の動作関連 =============================
&debug
デバッグ出力するか否か
&language
Dittoで使用するlangageファイルを指定 (デフォルト english)
初期状態ではlangファイルにはenglishしか含まれていないため、日本語で使用する場合には別途日本語化パック
http://www.pc-maniax.com/downloads/ditto-202jp.html
のjapanese-euc.inc.php , japanese-utf8.inc.php , japanese-sjis.inc.phpのいずれかを assents/snipets/Ditto/lang/内に
アップロードして、languageパラメータを指定します。
又は以下のようにスニペットコードを直接編集しておけば、逐一languageパラメータを指定する必要がなくなります。
code:
// ---------------------------------------------------
// Get Language
// ---------------------------------------------------
$language = (isset($language))? $language : "japanese-utf8";
japanese-utf8の部分をそれぞれeuc,sjis等にしてください。
ただ、MODx自体がsjisでの運用では何かしら問題が起こることも多いようですので、utf-8か、eucを使うほうが良いでしょう。
&format
Dittoの出力フォーマット (デフォルト html)
Dittoの成形フォーマットを指定できます。
html,json,xml,atom,rssが利用可能なようです。
&parent
取得する親フォルダのID
1.0.2ではstartIDだったパラメータです。
スニペット内でparent=startIDと置き換えてますが、今後はparentになる模様なのでparentで指定した方が無難でしょう。
デフォルトではスニペットをコールしてるドキュメント自身のIDが渡されるようです。
&display
取得するサマリの数を指定。
同じく1.0.2ではsammarizeだったパラメータです。
デフォルトは3
allを指定することで、該当する全てのサマリを表示します。
&total
取得する件数を指定。
allを指定することでparent配下のdepth深さ(後述)全ての記事を対象にできます。
デフォルトはall
&depth
取得する階層の深さ(デフォルト 1)
指定したフォルダ階層分のドキュメントを取得対象とします。
1.0.2ではdescendentDepth=10になっていたため、デフォルトで10階層分取得してましたが、2.0.2ではデフォルト値が1になっているので、depthを指定しないと、スニペットをコールしたフォルダの中身しか取得できませんので注意が必要です。
&showPublishedOnly
公開ドキュメントのみを対象とするか否か 1:YES 0:NO(デフォルト 1)
&showMenuOnly
「メニューに表示」をONにしているドキュメントのみを対象とするか否か 1:YES 0:NO (デフォルト 0)
&hideFolders
フォルダを隠すか否か 1:YES 0:NO (デフォルト 0)
&seeThruUnpub
非公開フォルダの中身を取得対象とするか否か 1:YES 0:NO (デフォルト 1)
&sortDir
ドキュメントのソート順指定 ASC(昇順) or DESC(降順) (デフォルト DESC)
&sortBy
ドキュメントのソートキー createdon(作成日) editedon(更新日) pub_date(公開日)を指定可 (デフォルト createdon) ....pagetitle(ページのタイトル)も指定できました。
&removeChunk
ドキュメント中のチャンクを削除するか。 (デフォルト false)
ドキュメントに含まれているチャンクコードを指定します。
たとえば remoeChunk=`commnet` などとすると、記事中のコメントを,(カンマ)で置き換えます。
&noResults
表示するドキュメントが存在しない場合(1件も取得できなかった場合)の表示テキスト。
デフォルトでは langageファイルの $_lang[’no_entries`] が使用されます。
チャンクを渡すこともできます。
&start
ドキュメント表示の際のオフセット (デフォルト 0)
start=`3`のようにすると、Dittoで取得したドキュメントリストのうち、3番目以降のドキュメントが表示されます。
&dateSource
[+date+]で表示する日付の種類を指定します。 (デフォルト createdon)
createdon(作成日) pub_date(公開日) editedon(更新日)が指定できます。
&dateFormat
[+date+]で表示する日時のフォーマット (デフォルト $_lang["dateFormat"])
PHPのdate関数に対して指定可能なフォーマットが使えます。
&paginate
ページ分割するかどうか (デフォルト
&paginateSplitterCharacter
ページ分割の際の区切り文字 (デフォルト $_lang[’button_splitter’])
&tplPaginatePrevious (デフォルト $_lang[’prev’])
ページ分割時の「前ページ」へのリンクを表示するテンプレート
&tplPaginateNext (デフォルト $_lang[’next’])
ページ分割時の「次ページ」へのリンクを表示するテンプレート
===== テンプレート関連 =========================
&tpl
表示に使用するテンプレート (デフォルト $_lang[’default_template’])
チャンクを指定できます
&tplAlt
tplと交互に表示するテンプレートチャンク (デフォルト tpl)
&tplFirst
最初に表示される行のテンプレート。 (デフォルト tpl)
&tplLast
最後に表示される行のテンプレート。 (デフォルト tpl)
&tplCurrentDocument
Dittoをコールしている自分自身に対する表示テンプレート (デフォルト tpl)
*** テンプレート関連のパラメータに関する考察 ***
たとえば以下のような5件の記事を取得する場合の、tpl,tplAlt,tplFirst,tplLast,tplCurrentDocumentの関係を考えてみます。(DittoをコールしているのはDoc4とした場合。)
Doc1 .... tplFirst
Doc2 .... tplAlt
Doc3 .... tpl
Doc4 .... tplCurrentDocument
Doc5 .... tplLast
(DittoをコールしてるのがDoc1であった場合)
Doc1 .... tplFirst
Doc2 .... tplAlt
Doc3 .... tpl
Doc4 .... tplAlt
Doc5 .... tplLast
この場合、Doc1に対してDocCurrentDocumentが適用される事を期待していても、tplFirst,tplLastの方が優先順位が高いらしく、適用されませんので注意が必要です。
***********************************************************************
まだまだ検証しきれてないパラメータも沢山ありますが、随時追加していきます
よくわからないもの
phx
filter
exteners