
Für mehr Infos
bitte auf die Grafik unten klicken.
HMENU: "special = updated" mit Typoscript nachgebildet
Ihr könnt den Code ja selber anpassen, so kommt Ihr wenigstens an den Ansatz.
Da unter TYPO3-V4.6 die Menü-Funktion "special = updated" nicht mehr funktioniert (Bug-Id: 32374 ) habe ich sie mal mit reinem Typoscript versucht nachzubilden, nur etwas "aufgepeppt" mit deutschem Text. Den könnte man aber auch mit variablem Text aus der locallang.xml ersetzen.
Dieser Code ersetzt die Sitemap-Funktion "Kürzlich aktualisierte Seiten" (Recently updated pages), die unter V4.6 nur noch eine weiße Seite zeigt!
Falls Sie realUrl einsetzen, können Sie u.a. Code eins zu eins einsetzen; Änderungen an der Rootpage würden aber nicht zur Anzeige kommen, da diese nicht in der Tabelle "tx_realurl_pathcache" abgelegt wird. Ohne Pfad (realUrl) sind die im Code rot eingefärbten Teile zu entfernen!
Ein paar Konstanten müssen gesetzt werden (entw. tstamp oder SYS_LASTCHANGE):
# Feldname des Zeitstempels, nach dem selektiert werden soll
modeLC = pages.SYS_LASTCHANGED
# Feldname des Zeitstempels, nach dem selektiert werden soll (Kurzform für field =)
modeLCs = SYS_LASTCHANGED
# maximale Anzahl an Datensätzen (Seiten) in der Anzeigeliste
maxPagesLC = 10
# Anzahl Tage rückwirkend bis wann Änderungen engezeigt werden sollen
anzahlTageLC = 8
# Page-IDs (pages.uid), die nicht angezeigt werden sollen:
ExcludeFromLastModified = 166,361,439,498
und so etwas kommt dann ins Template-Setup:
###########################################
# Die letzten Änderungen aus allen Seiten:
#
lib.lastUpdated >
lib.lastUpdated = COA
lib.lastUpdated {
10 = TEXT
10 {
data = date: d.m.Y H:i
stdWrap.wrap = <h4>Referenz-Zeitpunkt aktuell: | (= Ladezeitpunkt dieser Seite)</h4>
}
20 = CONTENT
20 {
table = tt_content
wrap (
<h4>Änderungen in den letzten {$anzahlTageLC} Tagen:</h4>
<ol class="kupix_lastUpdated">|</ol>
)
select {
max = {$maxPagesLC}
languageField = sys_language_uid
selectFields (
tt_content.uid AS cUid,
tt_content.pid AS cPid,
tt_content.header AS header,
tt_content.tstamp AS cTstamp,
pages.title AS title,
pages.subtitle AS subtitle,
pages.tstamp AS pTstamp,
pages.SYS_LASTCHANGED,
tx_realurl_pathcache.pagepath as pfad
)
andWhere.data = date:U - 3600*24*{$anzahlTageLC}
andWhere.stdWrap.wrap = {$modeLC} >= (|)
join = pages ON (tt_content.pid = pages.uid) JOIN tx_realurl_pathcache ON (pages.uid = tx_realurl_pathcache.page_id)
orderBy = {$modeLC} DESC
groupBy = tt_content.pid
pidInList.cObject = HMENU
pidInList.cObject {
special = list
special.value.field = pages
excludeUidList = {$ExcludeFromLastModified}
1 = TMENU
1 {
expAll = 1
NO {
doNotLinkIt = 1
stdWrap.field = uid
stdWrap.wrap = | |*| ,| |*|
}
}
2 < .1
2.NO.stdWrap.wrap = ,|
3 < .2
4 < .2
5 < .2
6 < .2
# usw. für alle verfübaren Ebenen.
}
}
renderObj = COA
renderObj {
10 = TEXT
10 {
field = {$modeLCs}
strftime = %d.%m.%y
wrap = <li class="midi">Am <span class="rot">| um
}
11 = TEXT
11 {
field = {$modeLCs}
strftime = %H:%M
wrap = | Uhr</span> wurde die Seite "
}
20 = TEXT
20{
field = pfad
typolink.parameter {
field = cPid
stdWrap.dataWrap=|
}
noTrimWrap = |<strong>|</strong>" |
if.value = {$HomePID}
if.equals.field = cPid
if.negate = 1
}
21 = TEXT
21{
field = pfad
typolink.parameter {
field = cPid
stdWrap.wrap=|
}
noTrimWrap = |<strong>|</strong>" |
if.value = {$HomePID}
if.equals.field = cPid
}
25 = TEXT
25{
field = cPid
wrap = (id=|) bearbeitet.
}
30 = TEXT
30{
field = subtitle
noTrimWrap = |<br /><span class="_2ndrow"><em>Untertitel: </em> »|«|
if {
value =
equals.field = subtitle
negate = 1
}
}
40 < .20
40{
field = header
noTrimWrap = |<br /><em>Datensatz:</em> »|«</span></li>|
}
41 < .21
41{
field = header
typolink.parameter.field >
typolink.parameter.stdWrap.dataWrap = {$basisURL}#kk{field:cUid}
noTrimWrap = |<br /><em>Datensatz:</em> »|«</span></li>|
}
}
}
}
tt_content.menu.20.5 >
tt_content.menu.20.5 < lib.lastUpdated
Die Konstanten anzahlTageLC (hier: Änderungen in den letzten 10 Tagen) und maxPagesLC (maximal 25 Seiten anzeigen) steuern die Ausgabe. Ihr könnt Euch das Ergebnis auf unserer Seite "letzte Änd. handgemacht" ansehen.
