[TYPO3-german] if Abfrage + lib.stdheader

Michael Bakonyi kontakt at mb-mediendesign.de
Sun Jul 8 19:38:36 CEST 2007


Hi JoH,

sorry, aber so ganz ist's mir noch nicht klar ...

>> 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.

>>> 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.

Okay, aber ich habe doch die Eigenschaft "field" der stdWrap-Funktion 
gesetzt, also müsste sich das "required" doch auf dieses "field" 
beziehen ... Dass sich das "required" nun auf das von GIFBUILDER 
erzeugte Bild bezieht spricht doch dann eigentlich gegen die Erklärung 
der Doku, oder nicht? Ich meine, außer "field" habe ich keine der in der 
Doku benannten Eigenschaften gesetzt ...


>> 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 ;-)

Wieso? "required" bezieht sich doch laut Doku auf die Werte »data, 
»field, »current, »listNum, oder »trim. Wenn keine der Eigenschaften 
gesetzt ist bzw. bei einem Objekt, welches diese Eigenschaft nicht 
unterstützt, kann "required" nicht angewand werden.

> "field" liefert den Inhalt eines Feldes
> "required" liefert true zurück, wenn irgendein Inhalt im Element ist.

Aber im Falle von meinem gesetzten "field" war ja gar kein Inhalt 
vorhanden, da ja falsch gesetzt oder nicht?


>> 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.

Okay, DAS habe ich ausnahmsweise verstanden + sehe ich genauso! ;-)

> 
> TSref ist Dein Freund :-)
>

Jo, das sagen alle, aber wie ich deinen obigen Hinweisen entnehme muss 
man trotzdem immer schauen, ob man diese oder jene Eigenschaft nun auf 
das erstellte Objekt anwenden kann oder nicht.

Das wäre ja nicht schlimm ss bleibt aber immer ein Rest Rumprobiererei + 
man ist oft auf Hinweise von anderen angewiesen, was schon nervt finde 
ich. Da sind Programmier- und Skriptsprachen doch um einiges klarer ...

Gruß,

Micha


More information about the TYPO3-german mailing list