modx revoではDittoに代わってgetResourcesというスニペットが推奨されていたのですが、やはり使い慣れてる方がいいなと思ってパッケージマネージャーで検索してみるとDittoが見つかり、なんだあるじゃんと思ってインストール&使ってみました。単純な使い方なら大丈夫だろうと思って。

・・・が、しかしすぐにつまずきました。

なんと、Dittoのテンプレート内でテンプレート変数のプレースホルダーが機能していません!そんなばかなと思って検索してみると、周知の事実みたいでした。
これは、全然使いものにならない・・・。

というわけで、やはりrevoではgetResourcesを使うしかないようです。modxインストールしたら、すぐにパッケージマネージャーで検索して入れておきましょう。

ついでに、getResources 最初の一歩!

getResourcesはDittoの機能をほぼすべて持っていて、文法も似ていますが、テンプレート内でテンプレート変数のプレースホルダーを使う際に2点注意が必要です。

1)includeTVs=`1` を指定
テンプレート変数を使うかどうかの設定の初期値0になっているので、そのままでは使えません・・・。(これは、ソースいじって設定変えちゃってもいいかもな・・・)
[[!getResources? &parents=`[[*id]]` &includeTVs=`1` &tpl=`my-tmpl`]]



2)プレースホルダーのシンタックス
テンプレート内のプレースホルダーの書き方がちょっと違います。
例えば、上の例で指定している「my-tmpl」の中身、「tvname」という名前の変数を表示させたい時はこんな感じです。
[[+tv.tvname]]


あとは、ドキュメント読めばいいですね。すっきり乗り換えましょう!

それにしても、modx revoの公式ドキュメントがしょっちゅうダウンしているのが気になります。