[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