Module Eliom_tools
module Eliom_tools: sig..end
Predefined boxes for Eliom
Menus ¶
type ('a, 'b) one_page = (unit, unit, 'a, [ `WithoutSuffix ], unit, unit, 'b) Eliom_services.service
Creates a menu
Example:
menu ~classe:["mainmenu"]
[
(home, <:xmllist< Home >>);
(infos, <:xmllist< More infos >>)
] current sp
Hierchical sites ¶
type ('a, 'b, 'c) hierarchical_site_item =
| | | Disabled |
| | | Site_tree of ('a, 'b, 'c) hierarchical_site |
type ('a, 'b, 'c) main_page =
| | | Main_page of ('a, 'b) one_page |
| | | Default_page of ('a, 'b) one_page |
| | | Not_clickable |
type ('a, 'b, 'c) hierarchical_site =
('a, 'b, 'c) main_page *
('c XHTML.M.elt list * ('a, 'b, 'c) hierarchical_site_item) list
The type of hierarchical sites.
A hierarchical site is a pair (main page, subpages).
The difference between
Main_page, Default_page and Not_clickable is a bit subtle:
- Main_page is when you want to create a main page for your subsite. All the subpages are subsections of that page.
- Default_page is like Main_page but is not taken into account for computing which is the current page in the menu. Use it for example when there is no main page, but you want one of the subpages to be the default page for your subsite. The service you use as default page must appear another time in the subtree!
- Not_clickable is when you do not want the menu entry to be a link but you want subpages.
Each subpage is defined by the text to be displayed in menus
and a hierarchical_site_item.
If the latter is Disabled, the menu entry is disabled.
hierarchical_menu_depth_first menu constructs a function taking
as parameters a service and ~sp (server parameters)
and displaying a hierarchical menu for this service.
The menu is constructed by exploring the tree using
a depth-first algorithm. It means that the first menu item will be
displayed, followed by the whole sub-menu for this item, then the second
menu item with its sub-menu, and so on.
By default, only the sub-menus corresponding to the current page
are displayed. If you want all the sub-menus to be displayed, specify
?whole_tree=true.
hierarchical_menu_breadth_first menu constructs a function taking
as parameters a service and ~sp (server parameters)
and displaying a hierarchical menu for this service.
The menu is constructed by exploring the tree using
a breadth_first algorithm. It means that the whole menu for one
level will be displayed, followed by all sub-menus.
Only the sub-menu corresponding to the current page
is displayed.
val structure_links :
([< Eliom_services.get_service_kind ] as 'a,
[< Eliom_services.registrable ] as 'b, Xhtmltypes.a_content)
hierarchical_site ->
?service:('a, 'b) one_page ->
sp:Eliom_sessions.server_params -> [> `Link ] XHTML.M.elt list
Returns the tags <link rel="subsection" ...> and
<link rev="subsection" ...> for the given hierarchical site.
