[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