[TYPO3-german] tt_address: TITLE korrekt darstellen

bernd wilke t3ng at bernd-wilke.net
Tue Jun 10 14:19:47 CEST 2014


Am 10.06.14 13:08, schrieb Marambio, Nelson:
> Liebe Liste,
>
> mit tt_address 2.3.3 haben wir ein Darstellungsproblem, wenn Mitarbeiter einen Studienabschluss und damit einen akademischen Titel tragen.
> Bei vielen nachgestellten Titeln genügt der Marker TITLE, z.B. für <Nachname>, Dipl.Inf | <Nachname>, MA usw.
>
> Wenigstens ein Titel müsste aber gesplittet werden: Prof. <Vorname> <Nachname>, PhD
> Daran arbeite ich gerade und habe zunächst mal Probleme mit Conditions, anscheinend klappt der Zugriff auf die Felder eines Datensatzes nicht. Bisher habe ich als Übung folgendes in einem Extensiontemplate ins SETUP-Feld getippselt (auch einzeln getestet)
>
> plugin.tx_ttaddress_pi1.templates.UniCD_Personenliste {
> title = ""
> value = "B.Sc."
> if.equals.field = title
>
> organization = n/a
> stdWrap.if.isNull.field = organization
> }
>
> Der erste Block soll den Titel gar nicht ausgeben, wenn im Datensatz "B.Sc." eingetragen wurde, im zweiten Block soll der Text "n/a" erscheinen, wenn das Feld Organisation vom Benutzer nicht ausgefüllt wurde. Und beides bewirkt nichts.
>
> Was mich ebenfalls verwirrt: im Netz befinden sich Beispiele, die wie oben notiert sind
>
> #Anweisung, falls Bedingung erfüllt ist
> #Bedingung
>
> als auch
>
> #Bedingung
> #Anweisung, falls Bedingung erfüllt ist
>
> Ist die Reihenfolge entscheidend ? Bei meinem Mini-Code habe ich bereits beide Varianten probiert, ohne Veränderung. Auch mit den Namespace-Punkten habe ich es im ersten Block versucht:
> Also .title statt title --> nüx !
>

die Reihenfolge ist eher nciht entscheidend (nur wenn es ums 
Überschreiben geht).

Typoscript wird in ein PHP-Array konvertiert und dort abgearbeitet, 
wobei meistens die keys nach ihrem Namen abgearbeitet werden und nicht 
nach ihrer Reihenfolge.

dein Problem dürfte aber sein, dass deine Wraps sich nicht auf das 
beziehen was du davor stehen hast.

plugin.tx_ttaddress_pi1.templates.UniCD_Personenliste {

	title {
		stdWrap.if {
			equals.field = title
			value = B.Sc.
			negate = 1
		}
	}

	organization {
		stdWrap.ifEmpty = n/a
	}
}

title wird nur ausgegeben (muss schon defineirt sein!) wenn das Feld 
title nicht den Wert "B.Sc." hat.

Wenn organization (vorher definiert!) leer ist wird der Wert "n/a" 
ausgegeben.

Achte auch darauf: im Typoscript kannst du Werte nicht mit 
Anführungszeichen angeben. Es sei denn du möchtest die Anführungszeichen 
in der Ausgabe haben bzw. sie sind in den Daten enthalten.

bernd
-- 
http://www.pi-phi.de/cheatsheet.html


More information about the TYPO3-german mailing list