[TYPO3-german] if Abfrage + lib.stdheader

JoH asenau info at cybercraft.de
Thu Jul 5 10:31:55 CEST 2007


>> Es ist aber ein IMAGE und da macht es wenig Sinn mit field = header
>> zu arbeiten.
>
> Ja, hab's noch nicht so richtig raus, wann ich welche Eigenschaft
> anwenden kann. Ist das eine try-and-error-Geschichte, oder wo kann ich
> lesen, welche Eigenschaft ich bei welchem Objekt anwenden kann?
>
> In der deutschen TSref steht zu "field" z.B.:
>
> "Setzt den Inhalt auf $cObj->data[field]."
>
> Daraus werde ich nicht schlau, wie sagt mir obiges, dass ich "field"
> nur bei diesem oder jenem Objekt anwenden kann?

Du kannst das zwar anwenden, aber für ein IMAGE macht das nur Sinn, wenn Du
es im Bereich von "file" einsetzt, weil man aus einem simplen Text einfach
kein Bild generieren kann. Mal abgesehen vom GIFBUILDER, aber auch in dem
Fall gehört das "field" nicht zu IMAGE sondern zum TEXT Element im
GIFBUILDER.

> Außerdem steht dort noch:
>
> "$cObj->data verändert sich. Siehe die Beschreibung für den Datentyp
> getText."
>
> Auch wenn ich mir die Beschreibung für "getText" in der englischen
> TSref anschaue sehe ich keinen Hinweis, warum ich "field" nicht im
> Zusammenhang mit einem IMAGE-Objekt anwenden können sollte ...

stdWrap.field könntest Du anwenden, es brächte aber nichts aus oben
genanntem Grund.

>> required = 1 geht ebenfalls nicht, weil das Bild als solches ja auch
>> ohne Text erzeugt wird.
>
> Zu "required" sagt die Doku:
>
> "Wenn diese Eigenschaft gesetzt ist, muss der Inhalt nach allem
> Importieren von Inhalten und Prozeduren, die bis jetzt stattgefunden
> haben (»data, »field, »current, »listNum, »trim) einen Wert haben."

Genau und deswegen liefert required in Deinem Fall immer "true" zurück, weil
der GIFBUILDER auch ohne Deinen Text ein Bild erzeugt.

> Gut, wenn "field" ohnehin nicht geht, kann ich "required" auch nicht
> einsetzen, da es in direktem Zusammenhang steht, das ist mir jetzt
> klar.

Es steht in keinem direkten Zusammenhang ;-)
"field" liefert den Inhalt eines Feldes
"required" liefert true zurück, wenn irgendein Inhalt im Element ist.
Deswegen gibt es ja noch zusätzlich "fieldRequired", um sicherzustellen, daß
die Anzeige des Elements ausschließlich dann stattfindet, wenn im Feld etwas
drinsteht.

>> zudem müssen die Eigenschaften beim IMAGE Element unter
>> stdWrap.whatever eingegeben werden. wrap zwar nicht, damit das aber
>> mit der Abfrage zusammen funktioniert, muß auch wrap in diesem Fall
>> unterhalb von stdWrap laufen.
>
> Auch wieder ne dumme Frage: Wieso ist das eigentlich so, dass man bei
> manchen Objekten extra noch stdWrap.eigenschaft angeben muss + beim
> TEXT-Objekt z.B. nicht?

Weil da jemand beim ursprünglichen Entwickeln getorft hat und das jetzt aus
historischen Gründen der "Backwards Compatibility so bleibt".
IMHO hätten alle Elemente auf die gleiche Weise wie TEXT angelegt werden
müssen, dann hätten nämlich auch alle stdWrap Eigenschaften.
Momentan gibt es vier Varianten:

direkte stdWrap Funktionen => TEXT
stdWrap Funktionen über ELEMENT.stdWrap
stdWrap Funktionen über TEXT.text => TEXT im GIFBUILDER
keine stdWrap Funktionen

TSref ist Dein Freund :-)

HTH

Joey

-- 
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your gob sometimes!)
Dieter Nuhr, German comedian
openBC/Xing: http://www.cybercraft.de
T3 cookbook: http://www.typo3experts.com




More information about the TYPO3-german mailing list