主なパラメータ

&config

目的: よく使うパラメータセットをconfigurationファイルとしてまとめておき、必要に応じて呼び出すことができます。
Values : default.config.php in ditto/configs folder
デフォルト値 : default (中身が空のdefault.config.phpを読み込んでます)
使い方 : [[Ditto?config=config名]]
Notes : /assets/snippets/ditto/configs/ ディレクトリ内にconfig名.config.php として配置します。このファイルは普通のphpファイルとして機能しますので、各パラメータの値を動的に生成するような使い方もできます。

&dateFormat

目的: [+date+]プレースホルダの出力形式を指定します。
Values : PHPの strftime() 関数の書式を用います。
Default : 何も指定しない場合は languageファイルで指定された書式が用いられます。
使い方 : [[Ditto?dateFormat=%Y年%m月%d日]]
Notes : [+date+]プレースホルダではなく[+createdon+]や[+editedon+]を使う場合はPHxモディファイアを通せば同じように使えます。たとえば[+createdon:date=`%Y年%m月%d日`+]というふうに記述します。

&dateSource

目的: [+date+]プレースホルダと関連付けるフィールドを指定します。
Values : [*createdon*] [*publishedon*] [*editedon*] [*任意のテンプレート変数*]から選べます。
デフォルト値 : createdon
使い方 : [[Ditto?dateSource=editedon]]
Notes : 値がUNIX timestamp形式で管理されているフィールドを指定する必要があります。そのため、テンプレート変数を指定する場合はUnixtimeウィジェットを設定してください。

&debug

目的: デバッグコンソールを使えるようにします(どういうものかは、試してみると分かります)。文字化けのバグがありますが、MODX1.0.5J-r8で修正されました。
Values : 0,1
使い方 : [[Ditto?debug=1]]
Default : 0

&depth

目的: 取得対象とするリソースの階層数を指定。Wayfinderの&levelパラメータに相当します。デフォルトでは直下の1階層のみを取得します。
Values : 正の整数
Default : 1
使い方 : [[Ditto?depth=3]]
Notes : 0をセットすると階層無限です

&display

目的: 取得したリソースのうち、何件を表示するかを指定します。ページング制御をしている時に、ページあたり何件を表示するかを指定するパラメータです。
Values : 整数値または「all」
使い方 : [[Ditto?display=10]]
Default : all

&ditto_base

Ditto本体ファイルを置いているディレクトリを設定します。改造したDitto本体を使いたい場合にこのパラメータを用います。
Default : [(base_path)]assets/snippets/ditto/
使い方 : [[Ditto?ditto_base=assets/snippets/ditto_custom/]]
Notes :末尾をスラッシュで閉じてください。(MODXのパス指定は基本的にスラッシュで閉じるスタイルです)

&documents

目的: 一覧表示したいリソースを静的に指定します。リソースIDはコンマで区切って複数指定します。このパラメータを指定すると&parentsの指定は無効になります。また、メニューの表示・非表示に関係なく取得します。
Values : IDをコンマで区切って指定します
Default : ブランク(指定なし)
使い方 : [[Ditto?documents=3,7,8]]
Notes : &parentsの指定を無視します

&extenders

エクステンダーを組み込んでDittoの機能を拡張します。追加したい機能をこのパラメータで指定します。
Values : コンマで区切られた名前のリスト
Default : ブランク
使い方 : [[Ditto?extenders=summary,request]]
Notes : extendersフォルダ内のファイル名は <name>.extender.inc.php

&format

目的: 出力フォーマットの指定。プリセット型のconfig・パターンの組み合わせのようなもので、ここでパラメータを指定するだけで、必要な出力を得ることができます。通常のDittoコールと違って、ヘッダ・フッタに相当するブロックの出力も行ないます。
Values : `html`,`json`,`xml`,`atom`,`rss`
Default : `html`

デフォルトは「html」になっていますが、

<?php
$header = "";
$footer = "";
?>

「html」フォーマットの実際の処理は上記のような空処理になっており、何も指定していないのと同等です。

&hiddenFields

目的: Dittoのテンプレートパーサーが処理できないネストされたプレースホルダなどのフィールドを取得できるようにします
Values : コンマで区切られたフィールド名およびテンプレート変数名のリスト
Default : ブランク
Notes : (このパラメータについてはまだ調査していません)

&hideFolders

目的: 子リソースを持つリソースを非表示にします
Values : 1,0
Default : 0

&hidePrivate

目的: ゲストまたはユーザーに表示許可がないリソースを表示しません
Values : 1,0
Default : 1

&id

目的: ページ内で複数のDittoインスタンスを実行する場合は、各インスタンスにIDを割り当てて処理を区別する必要があります。
Values : 半角英数字およびアンダーバーで構成される文字列
Default : ブランク
Notes : 大文字小文字を区別します。

&keywords

目的: MODXのグローバル設定でMETAタグ機能を有効にしている場合、keyword属性を取得します。
Values : 1,0
Default : 0
Notes : MODX本体のMETAタグ機能は1.0.15Jで廃止されました。そのため当パラメータは動作しません

&language

目的: 取得対象リソースがなかった場合の「記事はありません」や、ページ分割機能を有効にした場合の「戻る」「次へ」などで用いるDitto言語ファイルを指定します。デバッグメッセージ・エラーメッセージもこれに含まれます。
Values : &ditto_base/langフォルダ内の対応するファイルを持つ任意の言語名
Default : `english`
Notes : 日付の前置詞などに影響しますが、月の名前の言語には影響しません(これはシステム設定によるものです)

&localFilterDelimiter

目的: 各フィルタ文字列内の個々のパラメータを区切るために使用されるデリミタ
Values : フィルタ自体に使用されていない任意の文字
Default : コンマ
Notes : フィルタ文字列内にコンマが含まれる場合に必要です

&noResults

目的: 結果がない場合に表示するテキストまたはチャンク
Values : チャンク名またはテキスト
Default : 言語ファイルの$_lang['no_documents']エントリー
Notes : 「記事はありません。」

&orderBy

目的: 結果を並べ替える順序と方向
Values : コンマで区切られたリスト
Default : `createdon DESC`

Sample: `editedon desc, id desc`
Notes : &sortByおよび&sortDirが指定されててるばあいは、それらを上書きします。

&parents

目的: データを取得するドキュメントおよびサブフォルダを含むドキュメントのID
Values : コンマで区切られたIDのリスト
Default : 現在のドキュメント
Notes : &startIdを上書きします(単一値のみ指定可能でした)

&phx

目的: 組み込みのPHx関数を使用
Values : 0,1
Default : 1

&queryLimit

目的: データベースから取得するドキュメントの数(MySQLのLIMITと同じ)
Values : 正の整数
Default : 0
Notes : 0は「すべてを取得」を示します。&whereパラメータと併用します

&randomize

目的: 出力の順序をランダムにする
Values : 1,0
Default : 0
Notes : キャッシュの問題に注意してください!

&removeChunk

目的: コンテンツから削除するチャンクの名前
Values : コンマで区切られたリスト
Default : ブランク
Notes : (このパラメータについてはまだ調査していません)

&save

目的:

Dittoが自らの出力のために取得する各パラメータ値を、他のスニペットで用いることができるようにプレースホルダに代入します。オブジェクトとして代入するため、通常の[+プレースホルダ+]でアクセスすることはできません。
$modx->placeholdersのprint_rを行なうスニペットを仮に作って、saveパラメータの値を0-3に設定して出力の違いを見ることでそれぞれの処理を確認できます。

Ditto単体では難しい複雑なパターン出力を実装したい場合は、&save=3をセットし、Dittoで取得した値を他のスニペットで処理するとよいでしょう。慣れればDittoを拡張APIのように用いることができます。

取得したリソースの値は
$modx->getPlaceholder('ditto_resource')または$modx->placeholders['ditto_resource']
で参照できます(&save=2または3)。

Values : 0(代入しない),1(取得したリソース情報以外を代入),2(全て代入),3(全て代入・Ditto自体の出力はオフ)
Default : 0
Notes : (このパラメータについてはまだ調査していません)

http://forums.modx.com/thread/42554/#dis-post-246265
http://forums.modx.com/thread/41824/#dis-post-242521
使い方の実例

&seeThruUnpub

目的: 非公開フォルダを透過してその子リソースを取得する(&depth > 1の場合)
Values : 1,0
Default : 0

&showInMenuOnly

目的: メニューに表示されているリソースのみを表示
Values : 1,0
Default : 0

&showPublishedOnly

目的: 公開されたリソースのみを表示
Values : 1,0
Default : 1

&start

目的: 結果からスキップするドキュメントの数
Values : 正の整数
Default : 0

&tagData

目的: タグ情報を含むフィールド
Values : ドキュメントフィールドまたはテンプレート変数
Default : ブランク
Notes : これを設定すると、自動的にタグ付けエクステンダーが追加されます

&total

目的: データベースから取得するドキュメントの数
Values : 数値または`all`
Default : `all`

&where

目的: カスタムMySQL WHEREステートメント(フォルダまたはドキュメントベースの取得の代わりに使用)

PR

  • KAGOYA
  • ASP at AKIHABARA Japan
  • CMS AWARDS 2007 Winner
ページトップへ