Zum Inhalt springen

Per dataWrap news_id ansprechen (tt_news)

Erstellt am 1. September 2008 · 3 Antworten · letzte Antwort am 2. September 2008

Tags: tt_news, Frage

bps-tom ·

Hallo liebe Forumsteilnehmer,
ich hoffe das gehört noch in die Anfängerfragen und ist nicht zu speziell
(immerhin sehe ICH mich noch als Anfänger)

Folgendes Szenario:
Im Footer meiner Seite befindet sich ein Menü (mit Sitemap, Impressum, usw.)
Dort befindet sich auch die Druckversion, die die aktuelle Seite, anders
formatiert, in einem neuen Fenster ausgeben soll (funktioniert auch)

Zu diesem Zweck wrappe ich einen Link speziell nur um diesen Menüpunkt, bei dem
ich die aktuelle Seiten-ID und den Typ der Druckversion mit übergebe

NO.allWrap.dataWrap = |*| |*| <a href="index.php?id={page:uid}&type=98" target="_blank"> | </a>

Zur Erläuterung: Das OptionSplit verwende ich, damit nur der letzte Menüpunkt angesprochen wird.

Jetzt habe ich festgestellt, dass, wenn ich die Druckversion einer tt_news Single Nachricht aufrufen will, die Fehlermeldung "no news_id given" erscheint, da im Link eben nicht die ID der aktuellen Nachricht mit übergeben wird.

Meine Frage: Gibt es die Möglichkeit, ähnlich wie bei {page:uid} die ID der aktuellen News anzusprechen? Etwa derart: {tt_news:id} oder {field:news_id}. Dann könnte ich den Wrap von oben weiterhin verwenden.
Wegen des oben zitierten TS-Konstruktes kann ich nämlich nicht einfach ein cObject hinten an den Link-Aufruf dranhängen.

Ich hoffe das war jetzt nicht zu verwirrend.
Jemand irgendwelche Ideen?

Vielen vielen Dank schon mal im Voraus. Dieses Forum hat mir schon oft weitergeholfen!
Lieben Gruß,
Tom

Unbekannter Benutzer ·

Du musst noch was an dein &type=98 anhängen.

Da nich nicht weiß wie deine Druckansicht überhaupt generiert wird mal roh:

20 {
	data = GPvar:tx_ttnews|tt_news
	wrap = ?&tx_ttnews[tt_news]=|
}

ich glaube das ist sogar im Manual beschrieben

bps-tom ·

Ja, das würde zwar prinzipiell gehen, in diesem speziellen Fall ist das aber ungünstig, wegen des Wraps:

NO.allWrap.dataWrap = |*| |*| <a href="index.php?id={page:uid}&type=98" target="_blank"> | </a>

Das Problem ist, dass ich das nicht hinten an die 98 dranhängen kann, weil danach noch mehr kommt, und wrappen kann man ja immer nur vor, nach und um ein Element, oder? Den Link brauch ich aber unbedingt an der Stelle. Wär halt schön, wenns auch anders ging, sonst muss ich die ganze Herangehensweise nochmal abändern.

Trotzdem danke erstmal.

bps-tom ·

Ok, ich hab's jetzt ein wenig anders gelöst.
Folgendermaßen:

NO.ATagParams = |*| |*| target=_blank
NO.additionalParams.cObject = |*| |*| COA
NO.additionalParams.cObject {
	10 = TEXT
	10.data = GPvar : tx_ttnews|tt_news
	10.wrap = &tx_ttnews[tt_news]=|
	10.required = 1
	20 = TEXT
	20.wrap = &type=98
	30 = TEXT
	30.data = page:uid
	30.wrap = &id=|
}

Heißt also, nur beim letzten Link (Druckversion) hänge ich noch die entsprechenden Parameter dran, ohne diesen Link vorher zu verändern.
Einziges Problem ist nun noch, dass in den Parametern zweimal die id aufgerufen wird - es funktioniert aber trotzdem. Gibt es eine Möglichkeit, die automatisch von TYPO3 angehangene id zu entfernen oder zu unterdrücken?

Gruß,
Tom