Class Summary HTML_Menu_SigmaRenderer
Описание
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 --> |
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.
Blocks in the template (without prefix)
- menu_loop
If 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_loop block is present, it will be parse()'d instead.
- row_loop
If present, this block will be parse()'d after outputting the current menu row. If menu type is 'rows' and %level%_row_loop block is present, it will be parse()'d instead.
- entry_loop
This 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_loop block is present, it will be used instead.
- inactive, active, activepath, previous, next, upper, breadcrumb
These 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 and indent block
If 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_indent
If 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
Таблица 43-1. Inherited from HTML_Menu_Renderer
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. |
Пред. | Начало | След. |
ArrayRenderer::toArray() | Уровень выше | constructor HTML_Menu_SigmaRenderer() |