HTML_Menu_SigmaTreeRenderer クラス概要

HTML_Menu_SigmaTreeRenderer クラス概要 – HTML_Template_Sigma ベースのレンダラで 'tree''sitemap' 型のメニューに使用する。メニューのレベルを入れ子状のタグで表す

Description

このレンダラが作成する出力は HTML_Menu_DirectTreeRenderer によるものと似ていますが、出力を、よりカスタマイズできるようになっています。

このレンダラは、おそらく HTML_Template_IT のインスタンスを渡してもうまく動作するでしょう。 しかし、メニューのテンプレートは多くのブロックで構成されることになりがちです。 HTML_Template_Sigmaキャッシュ機能 により、パフォーマンスの劇的な向上が期待できます。

テンプレートの構造

これが HTML_Menu_SigmaTreeRenderer 用の最低限のテンプレートです。必須ブロックをすべて含んでいます。

<!-- BEGIN mu_tree_loop -->
    <!-- BEGIN mu_level_open -->
<ul>
    <!-- END mu_level_open -->
        <!-- BEGIN mu_entry_open -->
    <li>
        <!-- END mu_entry_open -->
        <!-- BEGIN mu_active -->
    <strong>{mu_title}</strong>
        <!-- END mu_active -->
        <!-- BEGIN mu_inactive -->
    <a href="{mu_url}">{mu_title}</a>
        <!-- END mu_inactive -->
        <!-- BEGIN mu_activepath -->
    <a href="{mu_url}"><em>{mu_title}</em></a>
        <!-- END mu_activepath -->
        <!-- BEGIN mu_entry_close -->
    </li>
        <!-- END mu_entry_close -->
    <!-- BEGIN mu_level_close -->
</ul>
    <!-- END mu_level_close -->
<!-- END mu_tree_loop -->

カスタマイズの方法を示すもう少し複雑な例が、 パッケージのアーカイブに含まれています。

テンプレート内のブロックやプレースホルダの先頭に mu_ というプレフィックスがついていることに注目しましょう。 これにより、既存のブロック名やプレースホルダ名との衝突を避けるようにしています。 mu_ がデフォルトのプレフィックスですが、 クラスのコンストラクタ で別のプレフィックスを指定することもできます。

tree_loop

このブロックは 常に 存在する必要があり、すべてのその他のブロックの親となります。 これは、"flow" を実装してエントリを次々にレンダリングする際に使用します。

level_open, level_close

これらのブロックを使用して、各メニューレベルの開始と終了を指定します。 レベル固有のブロック %level%_level_open および %level%_level_close が存在する場合は、 代わりにそれが使用されます。

entry_open, entry_close

これらのブロックを使用して、各エントリの開始と終了を指定します。 レベル固有のブロック %level%_entry_open および %level%_entry_close が存在する場合は、 代わりにそれが使用されます。

inactive, active, activepath

これらのブロックはメニューエントリを出力する際に使用され、 それぞれの エントリ型 に対応します。各ブロックには {title} プレースホルダが存在する必要があり、また {url} プレースホルダを含むことができます。 通常は、もし他のキーがもとのメニュー配列にあった場合は、 それはテンプレートの対応するプレースホルダに代入されます。

レベル固有のブロック %level%_%entry type% が存在する場合は、代わりにそれが使用されます。

HTML_Menu_SigmaTreeRenderer のクラス階層

HTML_Menu_SigmaTreeRenderer が継承しているメソッド

HTML_Menu_Renderer から継承したもの
メソッド名 概要
HTML_Menu_Renderer::finishLevel() ツリーのレベルを終了します ('tree' 型および 'sitemap' 型用)。
HTML_Menu_Renderer::finishMenu() メニューを終了します。
HTML_Menu_Renderer::finishRow() メニューの行を終了します。
HTML_Menu_Renderer::renderEntry() メニューの要素をレンダリングします。
HTML_Menu_Renderer::setMenuType() レンダリングするメニューの型を設定します。
クラスのコンストラクタ (Previous) クラスのコンストラクタ (Next)
Last updated: Sun, 21 Sep 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.