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¶
special.value¶
Property
special.value
Data type
list of page ids /stdWrap
Description
This will generate a menu of the most recently updated pages from the branches in the tree starting with the uid's (uid=35 and uid=56) listed.
20 = HMENU
20.special = updated
20.special.value = 35, 56
special.mode¶
Property
special.mode
Data type
string
Default
SYS_LASTCHANGED
Description
The field in the database which should be used to get the information about the last update from.
The following values are possible:
SYS_LASTCHANGED: Is updated to the youngest tstamp of the records on the page when a page is generated.
crdate: Uses the "crdate"-field of the pagerecord.
tstamp: Uses the "tstamp"-field of the pagerecord, which is set automatically when the record is changed.
manual or lastUpdated: Uses the field "lastUpdated", which can be set manually in the page-record.
starttime: Uses the starttime field.
Fields with empty values are generally not selected.
special.depth¶
Property
special.depth
Data type
integer
Default
20
Description
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 "beginAtLevel".
special.beginAtLevel¶
Property
special.beginAtLevel
Data type
integer
Default
0
Description
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.maxAge¶
Property
special.maxAge
Data type
integer +calc
Description
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¶
Property
special.limit
Data type
integer
Default
10
Description
Maximal number of items in the menu. Default is 10, max is 100.
special.excludeNoSearchPages¶
Property
special.excludeNoSearchPages
Data type
boolean
Default
0 (false)
Description
If set, pages marked "No search" are not included.
[tsref:(cObject).HMENU.special = updated]
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 MenuProcessor
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 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
10 {
special = updated
special {
value.field = pages
maxAge = 3600*24*7
excludeNoSearchPages = 1
}
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
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>