表題の件ですが、以下のようなサイトマップにて
site root(0)
└pagetitle=長野県(1) <<- ※スニペットコール
| └pagetitle=松本市(2)
| | └pagetitle=AA町(3)
| | └pagetitle=BB町(4)
| |
| └pagetitle=諏訪市(5)
| | └pagetitle=CC町(6)
| | └pagetitle=DD町(7)
|
└pagetitle=山梨県(8)
【***実現したい内容***】
上記のMODxのサイトマップでAA町(3)~DD町(7)までをdittoコールを使用して、pagetitle=長野県(1)
のページに一覧で表示させています。
例えば一覧中のAA町(3)の表示箇所に「長野県、松本市、AA町」という感じです。
※BB町(4)の場合は「長野県、松本市、BB町」になります。
※スニペットコールの内容
[!Ditto? &parents=`2,5` &display=`10` &tpl=`一覧データ`!]
上記のスニペットコールをpagetitle=長野県(1)のリソースのテンプレートに埋め込んでいます。
スニペットコールで指定したテンプレートチャンク「一覧データ」の中身は、[+pagetitle+]だけでAA町(3)~DD町(7)
までの町名がpagetitle=長野県(1)のページに表示できるのですが、
松本市(2)、諏訪市(5)のpagetitleを取得する方法が解らず悩んでいます。
また、以下のように一覧データのdittoの中にさらに以下ような呼び出しでdittoコールを入れ子にして松本市(2)と諏訪市の
pagetitleだけを取得しようと思っていましたが、「松本市」と「諏訪市」の両方が表示されてしまい上手く行きませんでした。
[!Ditto? &parents=`1` &tpl=`市`!] ← &tpl=`一覧データ`!]内でdittoコールです。
※チャンク「市」の中身は[+pagetitle+]だけです。
[modx]
バージョン:1.0.2J
スニペット:ditto 2.0
何卒、よろしくお願いいたします。m(_ _)m
親リソースから子リソースのpagetitleを取得したい。 【解決済み】
Re: 親リソースから子リソースのpagetitleを取得したい。
これ、ツリー的に表示するのではなくて、mojira さんが書きました:例えば一覧中のAA町(3)の表示箇所に「長野県、松本市、AA町」という感じです。
※BB町(4)の場合は「長野県、松本市、BB町」になります。
コード: 全て選択
長野県、松本市、AA町
長野県、松本市、BB町
長野県、諏訪市、CC町
長野県、諏訪市、DD町
つまり、各行は「町」単位で、それぞれ、上位になる市、さらにもう一つ上位の県まで表示する。
ということですね?
いくつか方法はあると思いますが、とりあえず思いついた方法で、
Dittoで繰り返すチャンクの中に、以下のようにスニペットGetFieldを入れる。
ひとつ上(市)の表示
コード: 全て選択
[[GetField? &docid=`[+id+]` &parent=`1` &parentLevel=`1`]]
コード: 全て選択
[[GetField? &docid=`[+id+]` &parent=`1` &parentLevel=`2`]]
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
http://d.hatena.ne.jp/hikidas_ikeda/
Re: 親リソースから子リソースのpagetitleを取得したい。 【解決済み】
kazuikeさんへ
ご返信、ありがというございます!m(_ _)m
おかげ様で、思い通りの結果が得られました! 悩んでいたので、本当にたすかりました。
質問の前にGetFieldも試したのですが「&docid=`[+id+]`」という発想が浮かびませんでした・・・
大変親切に教えていただき感謝です!
ご返信、ありがというございます!m(_ _)m
おかげ様で、思い通りの結果が得られました! 悩んでいたので、本当にたすかりました。
質問の前にGetFieldも試したのですが「&docid=`[+id+]`」という発想が浮かびませんでした・・・
大変親切に教えていただき感謝です!