Class Summary HTML_Menu_SigmaRenderer
Description
This renderer uses HTML_Template_Sigma for actual HTML generation. This will allow you to easily plug HTML_Menu into your site's structure if you are using this template engine.
The renderer offers more possibilites for output customization than HTML_Menu_DirectRenderer.
The renderer may also work with HTML_Template_IT instance, but as menu templates tend to have lots of blocks, HTML_Template_Sigma's cache feature will give a significant performance improvement.
Template structure
This minimal template will allow output of any available menu type:
<!-- BEGIN mu_menu_loop -->
<table cellpadding="2" cellspacing="0" border="1">
<!-- BEGIN mu_row_loop -->
<tr>
<!-- BEGIN mu_entry_loop -->
<!-- BEGIN mu_inactive -->
<td><!-- BEGIN mu_inactive_indent --> <!-- END mu_inactive_indent --><a href="{mu_url}">{mu_title}</a></td>
<!-- END mu_inactive -->
<!-- BEGIN mu_active -->
<td><!-- BEGIN mu_active_indent --> <!-- END mu_active_indent --><strong>{mu_title}</strong></td>
<!-- END mu_active -->
<!-- BEGIN mu_activepath -->
<td><!-- BEGIN mu_activepath_indent --> <!-- END mu_activepath_indent --><a href="{mu_url}"><strong>{mu_title}</strong></a></td>
<!-- END mu_activepath -->
<!-- BEGIN mu_previous -->
<td><a href="{mu_url}"><<< {mu_title}</a></td>
<!-- END mu_previous -->
<!-- BEGIN mu_next -->
<td><a href="{mu_url}">{mu_title} >>></a></td>
<!-- END mu_next -->
<!-- BEGIN mu_upper -->
<td><a href="{mu_url}">^ {mu_title} ^</a></td>
<!-- END mu_upper -->
<!-- BEGIN mu_breadcrumb -->
<td><a href="{mu_url}">{mu_title}</a> >>></td>
<!-- END mu_breadcrumb -->
<!-- END mu_entry_loop -->
</tr>
<!-- END mu_row_loop -->
</table>
<!-- END mu_menu_loop -->
A more complete example showing possible customizations can be found in the package archive.
Note that blocks and placeholders in the template have mu_ prefix.
This is done to prevent name conflicts with existing blocks and placeholders, mu_ is
the default prefix, another prefix can be passed to class constructor.
menu_loopIf present, this block will be parse()'d after outputting the current menu or (in case of
'rows'type) current menu level. If menu type is'rows'and%level%_menu_loopblock is present, it will be parse()'d instead.
row_loopIf present, this block will be parse()'d after outputting the current menu row. If menu type is
'rows'and%level%_row_loopblock is present, it will be parse()'d instead.
entry_loopThis block should always be present and should be a parent for all menu entries' blocks. It is used to implement "flow", to render entries one after another.
If menu type is
'rows'and%level%_entry_loopblock is present, it will be used instead.
inactive,active,activepath,previous,next,upper,breadcrumbThese blocks are used to output menu entries, they correspond to possible entry types. Each block should contain a
{title}placeholder and may also contain{url}placeholder andindentblockIf menu type is either of
'tree','sitemap'or'rows'and%level%_%entry type%block exists, it will be used instead.
inactive_indent,active_indent,activepath_indentIf present, these blocks are used to indent the entries inside tree-type menus (
'tree'and'sitemap').
Class Trees for HTML_Menu_SigmaRenderer
HTML_Menu_SigmaRenderer
HTML_Menu_SigmaRenderer Inherited Methods
| Method Name | Summary |
|---|---|
| HTML_Menu_Renderer::finishLevel() | Finish the tree level (for types 'tree' and 'sitemap') |
| HTML_Menu_Renderer::finishMenu() | Finish the menu |
| HTML_Menu_Renderer::finishRow() | Finish the row in the menu |
| HTML_Menu_Renderer::renderEntry() | Renders the element of the menu |
| HTML_Menu_Renderer::setMenuType() | Sets the type of the menu being rendered. |
| Prev | HTML_Menu | Next |
| ArrayRenderer::toArray() | PEAR Manual | constructor HTML_Menu_SigmaRenderer() |