Hat einer mal ein kleines Typo-Script beispiel, wie ich einen Marker in nem Template durch das Last Changed-Datum ersetze?
JamesB
Hat einer mal ein kleines Typo-Script beispiel, wie ich einen Marker in nem Template durch das Last Changed-Datum ersetze?
JamesB
Hallo JamesB
so müsste es gehen:
marks.LETZTEAENDERUNG = TEXT
marks.LETZTEAENDERUNG {
data = page:lastUpdated
if.isTrue.data = page:lastUpdated
date = d.m.Y H:i
wrap = letzte Änderung dieser Seite: |
wrap2 = |
data = register : SYS_LASTCHANGED
if >
}
Danke, das funktioniert ja schon ganz prächtig!
Kann man da auch das Datum anzeigen lassen, wann die letzte Änderung irgendwo in einem von allen Dokumenten im Roottree?
JamesB
Hallo Ska,
habe auch Dein Skript benutzt. Leider bekomme ich jetzt auf allen Seiten ein "letzte Änderung dieser Seite...", auch auf denen, die kein Tag dafür im Header bekommen haben.
Was fehlt noch im Skript, um den Marker bei Bedarf leer zu lassen??
DANKE
GRüße
Sisuk
Muss jetzt noch mal hier rein...
also, auch in der Mailing-Liste (engl.) steht "nur" diese Version.... die ja eigentlich auch sehr gut funktioniert. Nur nicht mit dem Tag aus dem Inhaltsbereich, da sich (zumindest bei mir!?!) LastUpdate nun auf allen Seiten befindet, die sich auf dieses Template aufbauen.
Ist jetzt die Konsequenz, das ich zwei Templates brauche? Eines für die Seiten, die einen LastUpdate bekommen sollen und eines, welches ohne auskommt?
Da ich 3 Content-Templates habe, würde das dann 6 machen(!). Eigentlich wollte ich so wenig wie nötig an Vorlagenwust konstruieren.
Bitte einen kleinen Tipp, ob sich das nur über 2 Template-Vorlage extra für LastUpdate (Code an/aus) regeln lässt wie ich das hier befürchte.
DANKE
Grüße
Sisuk
ich schlage vor, dass du dir mal anschaust, wie vererbung funktioniert.
Gibt es in der Testsite ohne ende beispiele.
Du kannst nämlich für andere seiten auch nur einzelne werte überschreiben.
ja o.k., da scheint was zu gehen. Danke für den Tipp!
Aber ich glaube so ganz gechecked habe ich das noch nicht.
Vielleicht darf ich kurz ein Beispiel hinzuziehen, an dem ich etwas fragen möchte:
-root-seite (root-template)
--- Home
--- Irgendwas
--- Nochirgendwas
------- Unterpunkt1
------- Unterpunkt 2
--- Wiederwas
--- Usw.
Das root-template vererbt seine Struktur so auf alle Ebenen. O.k. Aber wie bekomme ich es hin, das z.B. nur auf den Unterpunkten 1+2 das LastUpdate erscheint.
Wenn ich auf diesen Seiten ein ext.-template anlege, ist dies nicht in der Lage das root-template zu überschreiben oder?
Ich glaube ein Problem in meinem root-template ist die Struktur aus modern-template-building2&3:
>root-template includiert als Basic-Templates:
>>Auto-parser
>>Menu1
>>Pfad
>>CA-Template (enthält die Einteilung für die subparts substitution der Content-area)
>>Main Template (Fügt das Main-Template zusammen)
So, wenn ich dann auf Unterseite 1 meinen LastUpdate-Code anhänge (im template-file.htm durch subpart-marker eingeteilt), wird der nicht abgearbeitet, da (so vermute ich mal) er in der Reihenfolge vor CA-Template geparst werden müsste, da hier ja schon die zuweisung für die subparts geschehen ist oder?
Lege ich für Unterseite 1 ein komplett neues Site-template an wo ich ein LastUpdate-template vor dem CA-Template einfüge, gehts, aber das finde ich nicht gerade sehr praktikabel 🙁
Oder ist das genau der Weg?
Oder habe ich was falsch verstanden/gemacht.
Danke für die Hilfe.
Davon mal ab, ich bewundere echt eure Geduld. 😃
so, jetzt mal für alle:
erst ein paar Keywords, damit die Suche das hier auch findet.
VERERBUNG TEMPLATE EXT.TEMPLATE ERWEITERN ÜBERSCHREIBEN
so, los gehts.
In deinem Roottemplate machst du zum Beispiel folgendes:
page.10.subparts.FARBE = TEXT
page.10.subparts.FARBE.value = #FF00FF
// damit setzen wir den Subpart FARBE auf den TEXT #FF00FF, dadurch färben wir eine Tabelle
Jetzt geht es auf Unterseite X mit einer anderen Farbe weiter.
Dazu erstellst du ein ext.template (die 3 Checkboxen NICHT (!!!) setzen, da sonst alles vererbte gelöscht wird und gerade das wollen wir nicht).
Im ext.template steht folgendes:
page.10.subparts.FARBE.value = #FFFF00
damit überschreiben wir nur diesen einen Wert, der Rest bleibt, wie er ist.
Prinzip jetzt klar?
für die Programmierer:
TypoScript ist nichts anderes als ein PHP Array.
Technisch sieht das so aus:
$conf["page."]["10."]["subparts."]["FARBE."]["value"] = '#FF00FF';
und unser ext.template macht in PHP einfach nur:
$conf["page."]["10."]["subparts."]["FARBE."]["value"] = '#FFFF00';
Die Variable wird nur neu definiert.
P.S. zum Thema Geduld....ab und zu frage ich mich auch warum ich das hier eigentlich mache.
Aber dann treff ich leute wie z.B. sacha oder thorsten oder ingmar oder oder oder...und weiß wieder, warum ich das mache
Super Erklärung!
Ist alles angekommen. Werde das mal versuchen umzusetzen. DANKE auch für die Geduld, ohne gute mods würde sich typo3 wahrscheinlich bei sehr wenigen Leuten "bewegen". ABer was soll man machen, geübte Anwender in neuen Programmen/Umgebungen fallen halt nicht vom Himmel...
Grüße
Sisuk
Sorry Mathias,
trau mich ja schon gar nicht mehr in diesen Thread zu schreiben.... aber ich wage es noch mal:
ALso, ich habe das vererben verstanden. Wirklich. 😉
Aber bei mir funktioniert das nicht,
da ich den Aufbau - wie schon beschrieben - nach dem Modell von "Modern Template Building 2&3" nutze.
Ich dachte eigentlich, das wäre eine sehr clevere Struktur. (Wahrscheinlich zu clever für mich, hehe)
So, das Problem liegt darin, das ich einzelne Bereiche, in ext:templates auslagere (Sys-Ordner), die im Root-Template includiert werden.
Der Bereich für die Content-Area und die subparts liegt im
Content-Area-Template.
Dort wird der Subpart (ich bleibe bei Deinem Beispiel Farbe) FARBE so wie Du es beschrieben hast durch content ersetzt.
Schön, das funktioniert ja auch.
Nur mal kurz zum Verständnis:
Subpart FARBE wird durch CA-Template gesteuert (ersetzt), welcher im Root-Template inlcudiert ist.
root-template > CA-Template > steuert den Subpart FARBE
Es gibt also keine direkte Ansprache im Setup des root-levels.
Tja und wenn ich jetzt ein ext:Template für Unterseite X erzeuge, greift die Änderung für FARBE nicht, da der Content schon vorher von CA-Template gerendert wurde. Eine Überschreibung findet nicht statt. ?
Ich vermute mal, das hier der Grund für das Nicht-Überschreiben liegt, da Kasper auch in diesem Tutorial öfters deutlich macht, das die Reihenfolge der Includierung entscheidend für den Content ist. Steht CA-Template hinter Main-Template (Beispiel), funktioniert der Aufbau nicht mehr.
Er steuert den Content hier nur marginal über page.10(20,30) Aufrufe.
Geht ein Überschreiben in der Art und Weise, wie Kasper die Templates in diesem Tutorial in einander verschachtelt hat überhaupt?
Kann ich in dem ext:template für Unterseite X das CA-Template neu renden (überschreiben?)? Wie?
Sorry, irgendwo liegt (bei mir) wahrscheinlich ncoh ein Denkfehler. Wie gesagt, Prinzip mit Vererbung habe ich schon verstanden... nur das Überschreiben geht hier nicht.
Wenn es Sinn macht, bzw. euch das nciht zu viel ist, kann ich auch mal einen Ausschnitt des root-templates, bzw. des CA-Templates posten. Der Aufbau aus dem Tutorial ist ja vielleicht nicht ständig present... ?
DANKE
Gute Nacht
und Grüße
Sisuk