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
Copied!
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 = 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>