Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!  【解決済み】

質問全般・改善要望
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by modxfan »

modxfan さんが書きました:kazuikeさま、了解しました。本当に感謝申し上げます。

> 公開までは、動的に出力されるリンクはクリックしないようにしていただく等、運用でカバーされると良いですね。

はい、そうなる可能性が大きいかも。。汗;


> UltimateParentのパラメータ「id」や「top」を指定すれば良いような気がしますが。

どれが該当するのか、また、どういう書式にすればいいのか自体の意味がわかっていない段階なので、そういった、知らないとわかるわけないルールというものを探しつつ、こちらの内容も探そうと考えております。

【投稿後に追記した箇所:開始】
> UltimateParentのパラメータ「id」や「top」を指定すれば良いような気がしますが。

[!Wayfinder? &startID=`[[UltimateParent? &topLevel=`1`]]`!]
とか、
[!Wayfinder? &startID=`[[UltimateParent? &topLevel=`2`]]`!]
とかやってみたのですが、変わらずです。エラーも表示されないのも不思議ですが・・・汗;

ネット検索すると、UltimateParentとは、
サイトルート直下のフォルダー、または指定したフォルダーの子ドキュメントの内、指定したドキュメントを含むドキュメントのIDを返す。
と書かれてあるのですが、
現在私が記載している
[!Wayfinder? &startID=`[[UltimateParent]]`!]
だと、サイトルート直下のフォルダの子ドキュメントを表示させるという意味だから、どのサイトルート直下のページを開いても、そのカテゴリ内の子ページがちゃんとサイドメニューに出現してはくれるので、一見成功したかに見えるのですが、その子ページを開くと、突然サイドメニューが「該当ページ無し」的な表示になります。
サイドメニューの箱デザインは表示されるのですが、なぜか子ページのメニューリンクだけが消え去っているのです。
【投稿後に追記した箇所:終了】


それから、他に記述方法あるのかと思ってMODXで作る最強の~を読んだりネット検索したのですが、
UltimateParentで本件解決したく思っておりますが、なかなかどう記述すればいいのかわからないのですが、

[[GetField? &docid=`[[UltimateParent? &topLevel=`1`]]` &field=`取得するテンプレート変数名`]]

とすると良い、というサイトがあったので試そうとしているのですが、

http://www.speed-fish.com/columns/faq/277

「&docid」には何か数値を入れるんでしょうか?
それともこのままで?

また、
`取得するテンプレート変数名`
とあるのですが、探しまくってやっと見つけたのですが、テンプレートを作成する画面で、「定義されているテンプレート変数」というオプションタブがありました。ここに自分で名称を命名するようですが、そもそもおかしいです。
取得するテンプレート変数名なんか入れたら、そのテンプレートを使っているページだけしかサイドバーのサブメニュー自動表示ができなくなっちゃいます。
ニュースページ以外は全て記事投稿はせずにコンテンツが完成しています。投稿画面のtextareaで入力する程度のデザイン性では作成できないからです。
ニュースページの詳細ページだけが使いまわしするテンプレートです。

つまり、どのテンプレートを選んでテンプレート変数名を作成したところで、そのテンプレートを使っているひとつのページだけがサイドバーが自動表示されるだけで、その他のページは全て自動表示がなされないと思うのです。
作成者が何を意図して書いているのかわからずにおります。
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

出来ました!!!!!

投稿記事 by modxfan »

今、色々やっていて、とうとう出来ました!!!!!

最初に、どこかのサイトで紹介されてあったソースをそのまま貼り付けてやっていたのですが、それでは本件の問題が出ていたのですが、
今、他の紹介サイトのソースを貼り付けたら解決しました!!!

こんなふうになるんですね!!!
なんと、大文字か小文字かの違いだけだったとは!!!
違うならば全く動いてくれなければ最初から使わないんですが、エラーにもならず、直下ページだけは正常に自動化され、その子ページ群はどこを開いてもページが出なかったので全くわかりませんでした。

Id
が正しいのですね!!!
こんなことがあるんですね!驚きました。

正解は、
[!Wayfinder? &startId=`[[UltimateParent]]`!]
でした。これを記述するだけでサイドメニューが自動化してくれます。完璧です :P
MODxは本当にすごいですね!!
MT、WPなど、難しくつくるCMSはいくらもありますがMODxはデザインカスタマイズが本当にしやすい!!!
このCMSは広めなければなりません!!!
返信する