まいにち@ぐだぐだ

明日と言わず、今日から…ぐだぐだ(^_^;

wayfinder 2.0 ジェネレータ

wayfinder 2.0 ジェネレータ

wayfinder 2.0 の概要

wayfinderは、ドキュメントのタイトル等をリストアップします。メニューとして利用したり、サイトマップとして利用したり、パンくずリストとして利用しても良いでしょう。
オリジナルテンプレートを作成して多彩な表現が可能です。
2.0 からコンフィギュレーションファイルに対応し、簡潔なスニペットコールで表現できるようになりました。


このジェネレータの内容はLet's enjoy MODx|Wayfinder - 2.0の内容を、許可をいただいた上で引用させていただいています。
一部、ジェネレータの内容に合わせて変更している箇所もあります。また、引用していない情報もありますので、合わせてご覧になることをお勧めいたします。


『リセット』ボタンでフォームをすべて初期化します。貼り付けたコードも初期化されますので、貼り付けるところからやり直してください。
オプションの変更などは、このページの最後のテキストボックスに、リアルタイムにコードを書き出します。
テキストボックスの内容を選択してコピーしてお使いください。
このジェネレータは完全な動作を保証するレベルのモノではありません。
ご利用に際して、思わぬエラーを引き起こす可能性も十分考えられます。また、作成されたコードでは正しく動作しない場合も考えられます。
いずれにしても、完全な保証をすることは出来ません。
このジェネレータを使用して得られたコードをMODxに適応する場合は、自己責任において行ってください。
それによる損傷および損害等に対しては一切責任を負いません。


このテキストエリアに現在お使いのコードを貼り付けて『コードセット』ボタンをクリックすると、ジェネレータに反映されます。
ただし、このジェネレータのリストに存在しないパラメータ(過去のバージョンで利用されていたパラメータなど)はそのまま出力されます。

基本的な書式

[!Wayfinder? &startId=`0`!]
 または
[[Wayfinder? &startId=`0`]]
公開ドキュメントでかつ、メニューに表示にチェックが入っているものすべてを表示します。

パラメータ(一般)

リンクするドキュメントのID番号
startId=
既定値
(カレントドキュメント)
解説
出力したいドキュメント群の親ドキュメントをIDで指定します。以下を指定できます。
  • 0
  • document id
  • [*parent*]
  • [*id*]
  • [[UltimateParent]]なども可
サイト内のすべてのドキュメントを出力したい場合は、「0」を指定します。
階層の深さ
level= すべて
既定値
すべて(0)
解説
出力階層の深さを指定します。
出力するドキュメントの任意選択
includeDocs=
既定値
ありません
解説
「startId」で指定したフォルダ下の、どのドキュメントを出力するかをIDで指定します。カンマで区切って複数指定可能です。
このパラメータで出力できるのは「StartId」で指定したドキュメントの直下のドキュメントまでです。
以下のような場合:
ドキュメントA(15)
 └ ドキュメントA(16)
 └ ドキュメントB(17)
   └ ドキュメントC(18)
 └ ドキュメントD(19)
「startId=`15` includeDocs=`16,17`」とした場合、「ドキュメントA」「ドキュメントB」が出力されますが、「startId=`15` includeDocs=`18`」とした場合、結果は得られません。
出力しないドキュメントの任意選択
excludeDocs=
既定値
ありません
解説
「startId」で指定したフォルダ下の、どのドキュメントを出力しないかをIDで指定します。カンマで区切って複数指定可能です。
以下のような場合:
ドキュメントA(15)
 └ ドキュメントA(16)
 └ ドキュメントB(17)
   └ ドキュメントC(18)
   └ ドキュメントD(19)
「startId=`15` excludeDocs=`18`」とした場合、「ドキュメントA」「ドキュメントB」「ドキュメントD」が出力されます
メニューに表示されないドキュメント
ignoreHidden=
既定値
出力しない(0)
解説
「メニューに表示」にチェックしていないドキュメントも表示するかどうかを指定します。
※ドキュメント には「true」「false」での指定となっていますが、以下の場合:
  • ignoreHidden=`false`
  • ignoreHidden=`true`
  • ignoreHidden=`1`
すべて「ignoreHidden=`true`」と同結果になります。なお、「ignoreHidden=`0`」は有効(デフォルトと同じ結果)です。
プレイスホルダに送る
ph= 使用しない
既定値
使用しない(false)
解説
スニペットコールで得た出力結果を指定したプレイスホルダに送るかどうかを指定します。
指定する場合は、プレイスホルダ名としたい名称を指定します。
「ph=`breadcrumbnav`」とし、ドキュメントの任意の場所に[+breadcrumbnav+]と記述します。
※「ph=`breadcrumbnav`」とした場合、[+breadcrumbnav+]を記述しないと結果は出力されません。
デバッグ出力をする
debug=
既定値
しない(false)
解説
debug モードにするかどうかを指定します。
「true」を指定すると現在のWayfinderの設定値や出力結果がそれぞれどのように処理されているかなどを出力します。
子ドキュメントの出力
hideSubMenus=
既定値
出力しない(false)
解説
カレントドキュメント以外は、「startId」で指定したドキュメントの直下のドキュメントのみを表示するかどうか(カレントドキュメントのみサブドキュメントをメニューとして出力するかどうか)を指定します。
※ドキュメント には「true」「false」での指定となっていますが、以下の場合:
  • hideSubMenus=`false`
  • hideSubMenus=`true`
  • hideSubMenus=`1`
すべて「hideSubMenus=`true`」と同結果になります。なお、「hideSubMenus=`0`」は有効(デフォルトと同じ結果)です。

以下のような場合:
ROOT(0)
 └ ドキュメントA(16)
 └ ドキュメントB(17) ← カレントドキュメント
   └ ドキュメントC(18)
   └ ドキュメントD(19)
 └ ドキュメントE(20)
   └ ドキュメントF(21)
   └ ドキュメントG(22)
   └ ドキュメントH(23)
スニペットコールを
[!Wayfinder? &startId=0 &hideSubMenus=`1`!]

と記述した場合、
出力結果は
  • ドキュメントA
  • ドキュメントB
  • ドキュメントC
  • ドキュメントD
  • ドキュメントE
という結果になります。
改行コードを除去する
removeNewLines=
既定値
除去しない(false)
解説
出力ソースの改行コードを取り去るかどうかを指定します。
テンプレートで改行したままのソースで出力されます。
※ドキュメント には「true」「false」での指定となっていますが、以下の場合:
  • removeNewLines=`false`
  • removeNewLines=`true`
  • removeNewLines=`1`
  • removeNewLines=`0`
すべて「hideSubMenus=`true`」と同結果になります。従って、「改行コードを取り去らない」のであればパラメータそのものを書かないようにします。
注意:このスニペットコールジェネレーターではパラメータがデフォルト値と同じだった場合は、パラメータそのものを記述しないようになっています。
リンクを貼るテキスト
textOfLinks=
既定値
menutitle
解説
リンクテキストを指定します。以下を指定できます。
  • id
  • menutitle
  • pagetitle
  • introtext
  • menuindex
  • published
  • hidemenu
  • parent
  • isfolder
  • description
  • alias
  • longtitle
  • type
  • template
ここで指定した値は、 に送られます。
<a title="">の値
titleOfLinks=
既定値
pagetitle
解説
<a title="">の値を指定します。
ここで指定した値は、に送られます。
指定できる値は以下です。
  • id
  • menutitle
  • pagetitle
  • introtext
  • menuindex
  • published
  • hidemenu
  • parent
  • isfolder
  • description
  • alias
  • longtitle
  • type
  • template
subject
rowIdPrefix=
既定値
"0"
解説
各アイテム(row)にユニークID()を出力するかどうかを指定します。
ここで指定した値はに送られます。出力結果は「ここで指定した値+ドキュメントID」になります。
「&rowIdPrefix=`list`」を指定した場合結果は以下のようになります。
<ul>
 <li id="list21"></li>
 <li id="list25"></li>
 …
</ul>
※「21、25」はドキュメントID

※「rowIdPrefix=`false`」を指定すると各アイテムに「falsedocid」と出力されます。
weblinkの扱い
useWeblinkUrl=
既定値
有効にする(true)
解説
出力結果に「Weblink」がある場合、Wayfinder は、MODxの標準のリンクの代わりに、指定されたリンクを出力するでしょう。
このパラメータを「false」にすると、他のドキュメントのリンクのように標準的なWeblinkの表示するでしょう。
と、ドキュメント にあるんですけど(たぶん)、挙動がよくわかりません。。
子ドキュメントの数
showSubDocCount=
既定値
出力しない(false)
解説
それぞれのドキュメントが直接持っているドキュメントの数を出力するかどうかを指定します(孫は数えません)。
このパラメータで「true」を指定するとにドキュメント数が送られます。
とドキュメント にはなっていますが、「false」でも「true」でも「0」でも「1」でも、テンプレートにを書けば、ドキュメント数を出力します。

以下のような場合:

ドキュメント構成
ROOT(0)
 └ ドキュメントA(16)
 └ ドキュメントB(17)
   └ ドキュメントC(18)
   └ ドキュメントD(19)
     └ ドキュメントI(24)
 └ ドキュメントE(20)
   └ ドキュメントF(21)
   └ ドキュメントG(22)
   └ ドキュメントH(23)
テンプレートサンプル
<li[+wf.classes+]><a href="[+wf.link+]" title="[+wf.title+]">[+wf.linktext+]</a>([+wf.subitemcount+])[+wf.wrapper+]</li>

スニペットコールサンプル1
[!Wayfinder? &startId=`0` &showSubDocCount=`true` &rowTpl=`my.RowTpl`!]

アウトプットサンプル
・ドキュメントA(0)
・ドキュメントB(2)
  ・ドキュメントC(0)
  ・ドキュメントD(1)
     └ ドキュメントI(0)
・ドキュメントE(3)
  ・ドキュメントF(0)
  ・ドキュメントG(0)
  ・ドキュメントH(0)

スニペットコールサンプル2
[[Wayfinder? &startId=`0` &showSubDocCount=`true` &level=`1` &rowTpl=`my.RowTpl`]]

アウトプットサンプル2
・ドキュメントA(0) ・ドキュメントB(0) ・ドキュメントE(0)

スニペットコールサンプル3
[[Wayfinder? &startId=`0` &showSubDocCount=`true` &hideSubMenus=`true` &rowTpl=`my.RowTpl`]]

アウトプットサンプル3
・ドキュメントA(0)
・ドキュメントB(2)
・ドキュメントE(3)
ソート順
sortOrder=
既定値
昇順(ASC)
解説
ソートの並び順を指定します。
ソートを行うフィールド
sortBy=
既定値
menuindex
解説
並べ替えの基準になるフィールドを指定します。
以下を指定できます。
  • id
  • menutitle
  • pagetitle
  • introtext
  • menuindex
  • published
  • hidemenu
  • parent
  • isfolder
  • description
  • alias
  • longtitle
  • type
  • template
  • random
また、non-cacheでスニペットコールを書き、「random」を指定するとページを表示するたびに並び順が変わります。
2008.2.19 追記
今日気が付いたんだけど。たとえば、以下のように、
[[Wayfinder? &startId=`0` &sortBy=`pub_date`]]
と、公開日をソートキーにしたとき、ドキュメントに公開日が指定してないと、メニューインデックス(デフォルト)の順に並ぶらしい。
最大出力数
limit=
既定値
0
解説
最大の出力数を設定します。
「sortBy=`id`」「limit=`10`」とすれば、「docid」順で上位10件を出力します。
※「startId=`0`」と併用すると上手く動作しません(「startId」で「0」以外を指定れすばOK)。
ヘッダの挿入
displayStart=
既定値
出力しない(false)
解説
リストのヘッダを挿入するかどうかを指定します。
「true」を指定すると「startItemTpl」が有効になり、ヘッダとして挿入されます。
テンプレートの中のには、「startId」で指定したドキュメントの「menutitle」が代入されますが、もし「startId」で指定したドキュメントのメニュー属性が「非表示」だった場合、Wayfinder で指定しているすべてのアウトプットがされなくなります。その場合「ignoreHidden=`true`」を指定して対処すると良いでしょう。
「startItemTpl」は、テンプレートを指定しなければ、デフォルトのテンプレートが使用されます(「startItemTpl」参照)。
<head>~</head>に挿入したいCSS
cssTpl=
既定値
ありません
解説
<head>~</head>に挿入したいCSSをチャンク名で指定します。
チャンクには以下のように書くことができます。
  • assets/templates/wayfindersample.css
  • <link rel="stylesheet" href="assets/templates/wayfindersample.css" type="text/css" media="screen,tv" />
  • <style type="text/css">
    body,code {
    font-size:96%;
    ..........
    }
<head>~</head>に挿入したいJavaScript
jsTpl=
既定値
ありません
解説
<head>~</head>に挿入したいJavaScriptをチャンク名で指定します。
チャンクには以下のように書くことができます。
  • assets/templates/wayfindersample.js
  • <script type="text/javascript" src="assets/templates/wayfindersample.js"></script>
  • <script type="text/javascript">
    <!--
    ..........
    -->
    </script>
キャッシュあり キャッシュ無し
ジェネレータの状態を初期状態に戻します。

このジェネレータはLet's enjoy MODx|Wayfinder - 2.0ページから引用しています。
また、ジェネレータに合わせるために一部の文章を変更させていただいております。