[Typo3-german] Re: [Typo3-german] tt_news / Name des Orders der das Element enthält

Torsten Schrade schrade at lineara.de
Thu Jul 21 13:37:36 CEST 2005


Oliver Friesen wrote:
> Ich bleibe mal bei dem Beispiel mit dem Namen der Seite.
> 
> Wenn ich mir sowas konsturiere und temp.test ausgebe, erhalteich einen 
> String wie ich ihn für die ".data" Funktion brauche:
>    temp.test = TEXT
>    temp.field = pid
>    temp.wrap = DB : page:|:title
> 
> Wenn ich jetzt aber diese Konstruktion zuweise, wird ja ein Array 
> kopiert und nicht der String den dieses Array ergiebt. Daher funktionert 
> das jetzt nicht:
> 
> displayLatest.title_stdWrap.preCObject.data < temp.test
> 
> So wie ich die Source verstehe, darf man ".data" nur einen String 
> zuweisen und mir ist völlig unklar wie ich den dynamisch erzeugen könnte.
> 
> Oliver
> 
> 
> 
Hi Oliver,

zunächst mal: .data != wrap...

Dein Beispiel temp.wrap = DB : page:|:title ist unmöglich, weil du die 
Funkionalitäten verwechselst:

.data ist eine Eigenschaft der stdWrap Funktion und vom Datentyp 
*getText* - damit ist es also möglich, verschiedene Werte aus Datenbank, 
Arrays oder Variablen zu importieren. Dafür gibt es festgelegte 
Funktionsstrings, wie z.B. temp.data = page : title (holt den Titel der 
aktuellen Seite). Diese festen Anweisungen kannst Du in der TSRef unter 
getText nachschlagen.

Um zu wissen, was für Felder etc. im aktuellen cObj. zur Verfügung 
stehen, kannst du Dir mit temp.data = debug : data ein entsprechendes 
Wertearray anzeigen lassen.

.wrap ist hingegen in verschiedenen Objekten/Funktionen unterschiedlich 
implementiert, manchmal mit, manchmal ohne stdWrap Funktion. Die 
Funktion eines wraps ist aber IMMER, einen String UM den jeweiligen 
Inhalts des aktuellen Objekts zu legen. Hier wird nix ausgeführt wie bei 
.data sondern eingefügt! Deshalb ist der wrap ein so tolles Prinzip, 
HTML tags um Inhaltsobjekte zu legen.

Das heißt, bei Dir kommt oben einfach DB:page:99:title oder so ähnlich 
als endgültiger Inhaltswert Deines Textobjektes raus.

Du möchtest aber versuchen, mittels Datenbankabfrage den Titel der Seite 
der pid Deines aktuellen News-cObj zu bekommen. Und dafür gibt es z.B. 
das RECORD Objekt, mit dem Du Dein Problem lösen kannst:

displayLatest.title_stdWrap.preCObject = RECORDS
displayLatest.title_stdWrap.preCObject {

	# Wert aus dem aktuellen News-cObj bekommen
	source.field = pid
	tables = pages

	# Wert aus dem cObj-Array des ausgewählten Records bekommen
	conf.pages = TEXT
	conf.pages.field = title
}

Vielleicht ist das Prinzip jetzt ein bißchen klarer :-). Viel Spass noch 
und beste Grüße,

Torsten






More information about the TYPO3-german mailing list