Welcome !! Now 2008.11.22 08:30 (JST)

Wayfinder によるアウトプットサンプル

Wayfinder による簡単なアウトプットサンプルです。

テンプレートとパラメータで指定したCSSクラスが、実際どのような順番で適用されるのかを実験しました。

Wayfinder の解説はこちらです

「linktest03」は、「ウェブリンク」です(リソース解説にリダイレクトします)。

また各ページのパンくずリストは「Wayfinder」で出力しています

スニペットコールサンプル

[!Wayfinder? &startId=`286` &config=`wayfindertest`!]

コンフィギュレーション

上記アウトプットのためのコンフィギュレーションです(wayfindertest.config.php)。

チャンクを作ってそれを指定しても良いはずですが、そうするとチャンクが増えるので、私はこの方法で指定しています。

この場合、チャンクに書くべきコードをこの1つのファイルにすべて書いてしまっているわけです。このようにすると、どこかのパラメータなどを直そうと思ったとき、管理画面をうろうろしなくてすむので、私的には便利に感じています。

Wayfinder2.0 には標準でいくつかのコンフィギュレーションファイルが同梱されていますので、参考にすると良いと思います。

尚、下記コードには、上記を出力するのに必要ないものもたくさん含まれています。テンプレートの適用順序を調べたかったので、すべてのテンプレートを適用してみました。どの階層にいるとき、どのテンプレートがそれぞれ適用されているかがわかると思います。また、クラス名もすべて指定しています。[+wf.classes+]の中で、どのように、クラス名が指定されていくかもわかると思います。

<?php
// common parameter //
  $displayStart = 'true';
  $ignoreHidden = 'true';
  $rowIdPrefix = 'rowprefix_';
  $cssTpl = 'wayfindercss';

// template parameter //
  $startItemTpl = '@CODE:<h2[+wf.id+][+wf.classes+]>[+wf.linktext+]</h2>[+wf.wrapper+]';
  $parentRowHereTpl = '@CODE:<li[+wf.classes+]><a href="[+wf.link+]" title="私は親です。カレントドキュメントです。" [+wf.attributes+]>[+wf.linktext+]</a>[+wf.wrapper+]</li>';
  $innerHereTpl = '@CODE:<li[+wf.classes+] title="私はinnerHereTplです">[+wf.linktext+][+wf.wrapper+]</li>';
  $hereTpl = '@CODE:<li[+wf.classes+] title="私はカレントドキュメントです">[+wf.linktext+][+wf.wrapper+]</li>';
  $activeParentRowTpl = '@CODE:<li[+wf.classes+]><a href="[+wf.link+]" title="私はactiveParentRowTplです">[+wf.linktext+]</a>[+wf.wrapper+]</li>';
  $categoryFoldersTpl = '@CODE:<li[+wf.classes+]><a href="[+wf.link+]" title="私はcategoryFoldersTplです">[+wf.linktext+]</a>[+wf.wrapper+]</li>';
  $parentRowTpl = '@CODE:<li[+wf.classes+]><a href="[+wf.link+]" title="私は親ドキュメントです。子供がいます。">[+wf.linktext+]</a>[+wf.wrapper+]</li>';
  $innerRowTpl = '@CODE:<li[+wf.classes+]><a href="[+wf.link+]" title="私はinnerTplの中の子ドキュメントです">[+wf.linktext+]</a>[+wf.wrapper+]</li>';
  $rowTpl = '@CODE:<li[+wf.classes+]><a href="[+wf.link+]" title="私は子ドキュメントです">[+wf.linktext+]</a>[+wf.wrapper+]</li>';

  $innerTpl = '@CODE:<ul[+wf.classes+] id="inner">[+wf.wrapper+]</ul>';
  $outerTpl = '@CODE:<ul[+wf.classes+] id="outer">[+wf.wrapper+]</ul>';

// class parameger //
  $outerClass = 'outerClass';
  $rowClass = 'rowClass';
  $innerClass = 'innerClass';
  $levelClass = 'levelClass_';
  $webLinkClass = 'webLinkClass';
  $firstClass = 'firstClass';
  $lastClass = 'lastClass';
  $selfClass = 'selfClass';
  $parentClass = 'parentClass';
?>

△ページトップ