Topic: Reflectの使い方(まとめ)  (Read 2674 times)

Pages: [1]   Go Down

#1: 21-May-2007, 07:34 AM

joy
Posts: 10

毎回質問してばかりもなんなので、個人的に調べたReflectの使い方でちょっとわかりづらいかなという部分をまとめておきます。
(マニュアルのカテゴリに書くほどのことではないのでこちらに書きました)

まず0.9.6rc3のサンプルのblogのReflectですが、
 
[[Reflect? &dittoSnippetParameters=`startID:2` &groupByYears=`0` &showItems=0` &tplMonth=`reflect_month_tpl`]]

上記のようになっていますが、このままだとアーカイブのリンク自体は表示されるのですが問題があります。
(自分の環境だけかもしれませんが・・・。)
たとえば、私の環境ではアーカイブが下記のようになるのですが、

Archives
2007年05月
2007年04月

2007年05月のリンクをクリックしても04月の記事も表示されてしまいます。
これでは使い物になりませんので、

まずReflectの記述を

[!Reflect? &id=`blog` &getDocuments=`1` &dittoSnippetParameters=`startID:2` &groupByYears=`0` &showItems=0` &tplMonth=`reflect_month_tpl`!]

のようにidとgetDocumentsを追加しました。
そして、Dittoの方にも

[!Ditto? &startID=`2` &summarize=`all` &id=`blog` &extenders=`dateFilter`!]

のようにidとextendersを追加しました。

これで2007年05月のリンクをクリックした場合は05月の記事だけが表示されるようになります。
ちなみにたまたまうまくいっただけなのでどうしてgetDocumentsやextendersを追加しないといけないのかはわかりません・・・。
詳しい方がおられましたら是非ご教授いただければと思います。

以上、もし間違いがあればご指摘いただければと思います。

#2: 21-May-2007, 07:54 AM

joy
Posts: 10

Reflectを試していたときには気づかなかったのですが、

[!Ditto? &id=`blog`

のようにDittoでidを指定した場合

paginate=`1`

としてDittoでページを分割した場合に正常に動作しなくなりますね・・・。
かといってidを指定しないとReflectが使えないし・・・。

#3: 21-May-2007, 08:21 AM


MEGU
Posts: 890

WWW
こんにちは。その問題は、こちらでもあげられていましたが。
http://modxcms.com/forums/index.php?topic=12262.0;wap2

これでいけそうですよ。

[!Ditto? &parents=`54` &extenders=`dateFilter` &display=`5` &id=`myDittoCall` &paginate=`1`!]

<p> [+myDittoCall_previous+] [+myDittoCall_pages+] [+myDittoCall_next+] </p>

[!Reflect? &getDocuments=`1` &dittoSnippetParameters=`parents:54` &tplMonth=`ditto_month` &monthSortDir=`DESC` &id=`myDittoCall` &showItems=`0`!]

[+page+]関係のプレイスホルダにプリフィックスとして「id」で指定した値を入れます。

id を指定することで、1ページの中で複数のDitto および、Reflect を動作
させられるということらしいですが、そのために、ページナビゲーションのための
プレイスホルダにも識別名としてプリフィックスが必要ということみたいですね。
« Last Edit: 21-May-2007, 08:36 AM by MEGU »

#4: 21-May-2007, 08:52 AM

joy
Posts: 10

MEGUさん

ご回答ありがとうございます。

>>プレイスホルダにプリフィックスとして「id」で指定した値を入れます

ばっちり上手くいきました。
いつもいつもありがとうございます。

#5: 21-May-2007, 09:07 AM


MEGU
Posts: 890

WWW
良かったです~。
こっちにも追加しておきました Cheesy
http://modxcms.com/forums/index.php/topic,14994.0.html

#6: 21-May-2007, 09:25 AM

joy
Posts: 10

すごい!
Ditto2の仕様がDitto1とだいぶ変わってて手探りでがんばってたのですが、
これ見ればたいていの事はわかりますね。

extenderの概要とか勉強になります。

あと、

・テンプレート変数の指定
  テンプレート変数を指定する場合、1.x 系ではプリフィックス「tv」をつけていましたが、2.x 系ではつけないようになりました。

これは何とか自力でたどり着いたのですが、気づくまで苦労しました・・・。

その他色々わからないことがありますので参考にさせていただきます。


今までReflectに関して
http://modxcms.com/forums/index.php/topic,12433.0.html
を参考に試行錯誤していたのですが、日本語でこれほど詳しくまとめられているとは・・・。
もう少し早くこのページをしっていれば1日無駄にせずにすんだかも Cry
« Last Edit: 21-May-2007, 10:02 AM by joy »
Pages: [1]   Go Up
0 Members and 1 Guest are viewing this topic.