1
1
:navigation-title: Browse
2
2
.. include :: /Includes.rst.txt
3
3
.. _hmenu-special-browse :
4
+ .. _MenuProcessor-special-browse :
4
5
5
- ================================
6
- Browse - previous and next links
7
- ================================
6
+ ===========================================
7
+ Browse navigation - previous and next links
8
+ ===========================================
8
9
9
- This menu contains pages which give your user the possibility to
10
+ This data processor provides pages which give your reader the possibility to
10
11
browse to the previous page, to the next page, to a page with the
11
- table of contents and so on. The menu is built of items given by a
12
- list from the property ".items".
12
+ table of contents and so on.
13
+
14
+ .. tip ::
15
+ In older TypoScript browser menus were created using the `HMENU ` object.
16
+ This still works for backward compatibility reasons. We recommend to only use
17
+ data processors for newly created menus.
18
+
19
+ See :ref: `TYPO3 11, Browse navigation <t3tsref/:hmenu-special-browse >` for
20
+ examples how this was done.
13
21
14
22
.. attention ::
15
- Mount pages are *not * supported!
23
+ Mount pages are *not * supported!
16
24
17
25
.. contents ::
18
- :local:
26
+ :local:
19
27
20
- .. _ hmenu -special-browse-properties :
28
+ .. _ MenuProcessor -special-browse-properties :
21
29
22
30
Properties
23
31
==========
@@ -27,193 +35,88 @@ Properties
27
35
:type:
28
36
:Default:
29
37
30
- .. _hmenu-special-browse-value :
31
-
32
- .. confval :: special.value
33
- :name: hmenu-browse-special-value
34
- :type: integer /:ref: `stdWrap <stdwrap >`
35
- :Default: current page ID
36
-
37
- The default value can be overridden with a different page ID as starting
38
- point for the menu in some rare use cases.
39
-
40
-
41
- .. _hmenu-special-browse-items :
42
-
43
- .. confval :: special.items
44
- :name: hmenu-browse-special-items
45
- :type: list of item names separated by `| `
46
- :Default: Current page ID
47
-
48
- Each element in the list (separated by `| `) is either a reserved item
49
- name (see list) with a predefined function, or a user-defined name
50
- which you can assign a link to any page. Note that the current page
51
- cannot be the root-page of a site.
52
-
53
- .. rubric :: Reserved item names:
54
-
55
- `next ` / `prev `
56
- Links to the next page / the previous page.
57
- Next and previous pages are from the same "pid" as the current page id
58
- (or "value") - that is the next item in a menu with the current page.
59
- Also referred to as current level.
60
-
61
- If :confval: `hmenu-browse-special-items-prevnextToSection ` is set then
62
- `next ` / `prev ` will link to the first
63
- page of the next section / to the last page of the previous section,
64
- too.
65
-
66
- `nextsection ` / `prevsection `
67
- Links to the next section / the
68
- previous section. A section is defined as the subpages of a page on
69
- the same level as the parent (pid) page of the current page. Will not
70
- work if the parent page of the current page is the root page of the
71
- site.
72
-
73
- .. figure :: /Images/ManualScreenshots/FrontendOutput/Hmenu/ContentObjectsHmenuSpecialBrowse.png
74
- :alt: Example for the usage of the property "items".
75
-
76
- `nextsection_last ` / `prevsection_last `
77
- Where `nextsection ` / `prevsection ` links to the first page in a section, these
78
- link to the last page. If there is only one page in the section that
79
- will be both first and last. Will not work if the parent page of the
80
- current page is the root page of the site.
81
-
82
- `first ` / `last `
83
- First / last page on the current level. If
84
- there is only one page on the current level that page will be both
85
- first and last.
86
-
87
- `up `
88
- Links to the parent (pid) page of the current page (up 1
89
- level). Will always be available.
90
-
91
- `index `
92
- Links to the parent of the parent page of the current
93
- page(up 2 levels). May not be available, if that page is out of the
94
- root line.
95
-
96
-
97
- .. _hmenu-special-browse-items-example :
98
-
99
- Example: Display different types of browse links
100
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
101
-
102
- If id = 20 is the current page then:
103
-
104
- 21 = prev and first, 19 = next, 18 = last, 17 = up, 1 = index, 10 =
105
- nextsection, 11 = nextsection\_ last
106
-
107
- prevsection and prevsection\_ last are not present because id = 3 has
108
- no subpages!
109
-
110
- **TypoScript (only "browse"-part, needs also TMENU): **
111
-
112
- .. code-block :: typoscript
113
- :caption: EXT:site_package/Configuration/TypoScript/setup.typoscript
114
-
115
- xxx = HMENU
116
- xxx.special = browse
117
- xxx.special {
118
- items = index|up|next|prev
119
- items.prevnextToSection = 1
120
- index.target = _blank
121
- index.fields.title = INDEX
122
- index.uid = 8
123
- }
124
-
125
- .. _hmenu-special-browse-prevnexttosection :
126
-
127
- special.items.prevnextToSection
128
- --------------------------------
129
-
130
- .. confval :: special.items.prevnextToSection
131
- :name: hmenu-browse-special-items-prevnextToSection
132
- :type: boolean
133
- :Default: false
134
-
135
- If set, the `prev ` and `next ` navigation will jump to the next section
136
- when it reaches the end of pages in the current section. That way
137
- `prev ` and `next ` will also link to the first page of the next section
138
- / to the last page of the previous section.
139
-
140
-
141
- .. _hmenu-special-browse-target :
142
-
143
- special.[itemname].target
144
- --------------------------
145
-
146
- .. confval :: special.[itemname].target
147
- :name: hmenu-browse-special-itemname-target
148
- :type: string
149
-
150
- Optional or alternative target of the item.
151
-
152
- .. _hmenu-special-browse-uid :
153
-
154
- special.[itemname].uid
155
- -----------------------
156
-
157
- .. confval :: special.[itemname].uid
158
- :name: hmenu-browse-special-itemname-uid
159
- :type: integer (UID of page)
160
-
161
- Optional or alternative page UID to link to.
162
-
163
- .. _hmenu-special-browse-fields :
164
-
165
- special.[itemname].fields.[field name]
166
- ---------------------------------------
167
-
168
- .. confval :: special.[itemname].fields.[field name]
169
- :name: hmenu-browse-special-itemname-fields
170
- :type: string
171
-
172
- Use the provided string as linked text instead of the pages title.
173
-
174
-
175
- .. _hmenu-special-browse-fields-example :
176
-
177
- Example: Use "back" as text on the `prev ` link
178
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
179
-
180
- This gives the link to the previous page the linked text "« back":
181
-
182
- .. code-block :: typoscript
183
- :caption: EXT:site_package/Configuration/TypoScript/setup.typoscript
184
-
185
- prev.fields.title = « back
186
-
187
-
188
- .. _hmenu-special-browser-excludenosearchpages :
189
-
190
- special.excludeNoSearchPages
191
- -----------------------------
192
-
193
-
194
- .. confval :: special.excludeNoSearchPages
195
- :name: hmenu-browse-special-excludeNoSearchPages
196
- :type: boolean
197
- :Default: false
198
-
199
- If set, pages marked with the `no search ` checkbox will be excluded from the menu.
200
-
201
- .. _hmenu-special-browser-example :
202
-
203
- Example: Pagination with rel="next" and rel="prev"
204
- ==================================================
205
-
206
- The following snippet uses a :ref: `HMENU <cobj-hmenu >` with
207
- :typoscript: `special = browse ` to display links like the following:
208
-
209
- .. code-block :: html
210
- :caption: Example HTML output
211
-
212
- <link rel =" prev" href =" http://www.example.org/page1" />
213
- <link rel =" next" href =" http://www.example.org/page2" />
214
-
215
- The menu excludes pages with the flag :guilabel: `Include in Search ` removed
216
- and jumps to the next section when the last of subpages is reached.
217
-
218
- .. literalinclude :: _code-snippets/_RelPrevNextMenu.typoscript
219
- :caption: EXT:site_package/Configuration/TypoScript/Seo/Setup/RelPrevNextMenu.typoscript
38
+ .. confval :: special.value
39
+ :name: hmenu-browse-special-value
40
+ :type: integer /:ref: `stdWrap <stdwrap >`
41
+ :Default: current page ID
42
+
43
+ The default value can be overridden with a different page ID as starting
44
+ point for the menu in some rare use cases.
45
+
46
+ .. confval :: special.items
47
+ :name: hmenu-browse-special-items
48
+ :type: list of item names separated by `| `
49
+ :Required:
50
+
51
+ A list, separated by pipes `| `, containing the following item types:
52
+
53
+ `next ` / `prev `
54
+ Links to the next page / the previous page.
55
+ Next and previous pages are from the same "pid" as the current page id
56
+ (or "value") - that is the next item in a menu with the current page.
57
+ Also referred to as current level.
58
+
59
+ If :confval: `hmenu-browse-special-items-prevnextToSection ` is set then
60
+ `next ` / `prev ` will link to the first
61
+ page of the next section / to the last page of the previous section,
62
+ too.
63
+
64
+ `nextsection ` / `prevsection `
65
+ Links to the next section / the
66
+ previous section. A section is defined as the subpages of a page on
67
+ the same level as the parent (pid) page of the current page. Will not
68
+ work if the parent page of the current page is the root page of the
69
+ site.
70
+
71
+ `nextsection_last ` / `prevsection_last `
72
+ Where `nextsection ` / `prevsection ` links to the first page in a section, these
73
+ link to the last page. If there is only one page in the section that
74
+ will be both first and last. Will not work if the parent page of the
75
+ current page is the root page of the site.
76
+
77
+ `first ` / `last `
78
+ First / last page on the current level. If
79
+ there is only one page on the current level that page will be both
80
+ first and last.
81
+
82
+ `up `
83
+ Links to the parent (pid) page of the current page (up 1
84
+ level). Will always be available.
85
+
86
+ `index `
87
+ Links to the parent of the parent page of the current
88
+ page(up 2 levels). May not be available, if that page is out of the
89
+ root line.
90
+
91
+ .. confval :: special.items.prevnextToSection
92
+ :name: hmenu-browse-special-items-prevnextToSection
93
+ :type: boolean
94
+ :Default: false
95
+
96
+ If set, the `prev ` and `next ` navigation will jump to the next section
97
+ when it reaches the end of pages in the current section. That way
98
+ `prev ` and `next ` will also link to the first page of the next section
99
+ / to the last page of the previous section.
100
+
101
+ .. confval :: special.excludeNoSearchPages
102
+ :name: hmenu-browse-special-excludeNoSearchPages
103
+ :type: boolean
104
+ :Default: false
105
+
106
+ If set, pages marked with the `no search ` checkbox will be excluded from the menu.
107
+
108
+ .. _MenuProcessor-special-browse-example :
109
+
110
+ Example: Display a browse navigation
111
+ ====================================
112
+
113
+ The menu data processor with `special = browse ` returns the found items as an
114
+ array. The items in this array contain no information about what kind of item
115
+ (previous, next, up, etc) they are. We therefore recommend to only use one
116
+ item kind per data processor:
117
+
118
+ .. literalinclude :: _code-snippets/_BrowseNavigation.typoscript
119
+ :caption: config/sites/mySite/setup.typoscript
120
+
121
+ The result of each data processor can then be used, assuming that the result is
122
+ the first item of the array saved into the database.
0 commit comments