Updated HMENU¶
An HMENU with the property special = updated
will create a menu of the most recently updated pages.
By default the most recently updated page is displayed on top.
Mount pages are supported.
Properties¶
Name | Type | Default |
---|---|---|
list of page IDs /stdWrap | ||
string |
SYS_
|
|
integer | 20 | |
integer | 0 | |
integer +calc | ||
integer | 10 | |
boolean |
false
|
-
special.
¶value -
- Type
- list of page IDs /stdWrap
This will generate a menu of the most recently updated pages from the branches in the tree starting with the UIDs (uid=35 and uid=56) listed.
20 = HMENU 20.special = updated 20.special.value = 35, 56
Copied!
-
special.
¶mode -
- Type
- string
- Default
SYS_
LASTCHANGED
The field in the database, which should be used to get the information about the last update from.
Possible values are:
SYS_
LASTCHANGED - Is updated to the youngest time stamp of the records on the page when a page is generated.
crdate
- Uses the
crdate
field of the page record. This field is set once on creation of the record and left unchanged afterwards. tstamp
- Uses the
tstamp
field of the page record, which is set automatically when the record is changed. manual
orlast
Updated - Uses the field
last
, which can be set manually in the page record.Updated starttime
- Uses the
starttime
field.
Fields with empty values are generally not selected.
-
special.
¶depth -
- Type
- integer
- Default
- 20
Defines the tree depth.
The allowed range is 1-20.
A depth of 1 means only the start ID, depth of 2 means start ID + first level.
Note: "depth" is relative to special.beginAtLevel.
-
special.
¶begin At Level -
- Type
- integer
- Default
- 0
Determines starting level for the page trees generated based on .value and .depth.
0 is default and includes the start id.
1 starts with the first row of subpages,
2 starts with the second row of subpages.
Note: "depth" is relative to this property.
-
special.
¶max Age -
- Type
- integer +calc
Only show pages, whose update-date at most lies this number of seconds in the past. Or with other words: Pages with update-dates older than the current time minus this number of seconds will not be shown in the menu no matter what.
By default all pages are shown. You may use +-*/ for calculations.
-
special.
¶limit -
- Type
- integer
- Default
- 10
Maximal number of items in the menu. Default is 10, max is 100.
-
special.
¶exclude No Search Pages -
- Type
- boolean
- Default
false
If set, pages marked
No search
are not included.
Example: Recently updated pages styled with Fluid¶
The content element Recently Updated Pages provided by the system
extension EXT:fluid_styled_content is configured with a Menu
which is based on the options of the HMENU and provides
all its properties:
# Recently updated pages:
# ...
#
# CType: menu_recently_updated
tt_content.menu_recently_updated =< lib.contentElement
tt_content.menu_recently_updated {
templateName = MenuRecentlyUpdated
dataProcessing {
10 = menu
10 {
special = updated
special {
value.field = pages
maxAge = 3600*24*7
excludeNoSearchPages = 1
}
dataProcessing {
10 = files
10 {
references.fieldName = media
}
}
}
}
}
The following Fluid template can be used to style the menu:
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<f:layout name="Default" />
<f:section name="Main">
<f:if condition="{menu}">
<ul>
<f:for each="{menu}" as="page">
<li>
<a href="{page.link}"{f:if(condition: page.target, then: ' target="{page.target}"')}{f:if(condition: page.current, then: ' aria-current="page"')} title="{page.title}">
<span>{page.title}</span>
</a>
</li>
</f:for>
</ul>
</f:if>
</f:section>
</html>