---
title: "tt_news: Linkverfolger realisieren"
url: "https://www.typo3.net/d/51909-tt-news-linkverfolger-realisieren"
source: "typo3.net"
tags: ["TYPO3","TypoScript","Frage","tt_news"]
created: "2006-10-18"
last_reply: "2006-10-20"
replies: 6
solved: false
page: 1
pages: 1
lang: "de"
---

# tt_news: Linkverfolger realisieren

TYPO3 › TypoScript · 6 Antworten · gestartet 2006-10-18

## Eröffnungsbeitrag

**Imiglykos** · 2006-10-18 · [Beitrag #1](https://www.typo3.net/d/51909-tt-news-linkverfolger-realisieren/1)

Hallo,

meine tt_news-Extension habe ich so realisiert, dass die News in Kategorien-Ordner erstellt werden und nicht in einem SysOrdner mit Kategorien. Dadurch erhalte ich einen Linkverfolger, den ich benötige, damit die Besucher genau wissen, wo sie sich gerade befinden:

Startseite | Verbraucher | Gesundheit
Startseite | Unternehmen | Haustechnik

Außerdem ist die Verwaltung für die Redakteure einfacher. Die Single-Ansicht löse ich mit TypoScript:

```typoscript
[globalVar = GP:tx_ttnews|tt_news > 0]
   plugin.tt_news.code >
   plugin.tt_news.code = SINGLE
   page.10.subparts.CONTENT >
   page.10.subparts.CONTENT < plugin.tt_news
   config.no_cache = false
[end]
```

Das funktioniert ja alles super. Jetzt aber das Problem:
Auf der Startseite befindet sich eine News-Liste mit bspw. 10 aktuellen News. Auf der Verbraucher-Seite die 10 aktuellsten Verbraucher-News. Wenn ich jetzt eine News in einer dieser Liste anklicke, fehlen mir die entsprechenden Seitenbereiche wo sich diese News befindet (weil auf der gleichen Seite die Single-Ansicht statt findet). Wenn ich auf der Startseite den Link anklicke fehlt mir also der News-Bereich und die Kategorie und in der nächsten Ebene fehlt mir dann nur noch die Kategorie. Ich habe versucht die fehlenden Bereiche zu rekonstruieren, indem ich die übermittelte "backPid" per TS überprüft habe. Stammt die ID von der Startseite (1), so soll er die pid (Ausgangspunkt) der News aus der tt_news-Tabelle entnehmen und den Titel des Verzeichnisses aus der pages-Tabelle entnehmen. Aber hier scheitere ich schon an der Aufgabe und TS gibt mir da keine Ausgabe. Was mache ich da falsch?

```typoscript
page.10.marks.MITVERFOLGER = TEXT
page.10.marks.MITVERFOLGER.field = 

[globalVar = GP:tx_ttnews|backPid=1]
   tmp.KATEGORIE = RECORDS
   tmp.KATEGORIE {
      source.data = GPVar:tx_ttnews|tt_news
      tables = tt_news
      conf.tt_news = TEXT
      conf.tt_news.field = pid
   }

   page.10.marks.MITVERFOLGER = RECORDS
   page.10.marks.MITVERFOLGER {
      source.data = tmp.KATEGORIE
      tables = pages
      conf.tt_news = TEXT
      conf.tt_news.field = title
   }
[global]
```

Hat jemand auch eine andere Idee, wie man das elegant lösen könnte?

## Antworten

### [#2](https://www.typo3.net/d/51909-tt-news-linkverfolger-realisieren/2) · Imiglykos · 2006-10-19

Habe nun rausgefunden, wie man einen Datenfeldbezug durch einen String ermitteln kann:
DB:Tabelle:UID:Feldname

Benötigte Werte innerhalb dieses Strings, die dynamisch sind, können durch die geschweiften Klammern angekündigt werden. Hoffe, damit können auch die übermittelten GET-Variablen (GPVar) angesprochen werden.

Somit habe ich mein TS um einige Zeilen verkürzen können:

```typoscript
page.10.marks.MITVERFOLGER = TEXT
page.10.marks.MITVERFOLGER.value = <

[globalVar = GP:tx_ttnews|backPid=1]
   page.10.marks.MITVERFOLGER = RECORDS
   page.10.marks.MITVERFOLGER {
      source.data = DB:tt_news:{GPVar:tx_ttnews|tt_news}:pid
      tables = pages
      conf.pages = TEXT
      conf.pages.field = title
      wrap = <a href="/index.php?id={???}">|</a>
   }
[global]
```

Allerdings bewirkt dieses TS leider immer noch nichts und der Marker bleibt einfach leer... o.O

Wie kann ich eigentlich in den Markerbereich noch zusätzlich etwas dranhängen?

### [#3](https://www.typo3.net/d/51909-tt-news-linkverfolger-realisieren/3) · Imiglykos · 2006-10-19

So! Wir hamm's ja fast. :D

Jetzt bin ich der Lösung meines Problems ein Schritt weiter gekommen.

Nun bin ich auch auf die sagenhafte Idee gekommen, dass alles in COA reinzupappen. #paralyzed#

```typoscript
page.10.marks.MITVERFOLGER = TEXT
page.10.marks.MITVERFOLGER.value = &nbsp;

[globalVar = GP:tx_ttnews|backPid=1]
   page.10.marks.MITVERFOLGER = COA
   page.10.marks.MITVERFOLGER {
      10 = TEXT
      10 {
         data = DB:tt_news:{GPVar:tx_ttnews|tt_news}:pid
         wrap = <a href="/index.php?id=|">
      }

      20 = RECORDS
      20 {
         source.data = DB:tt_news:{GPVar:tx_ttnews|tt_news}:pid
         tables = pages
         conf.pages = TEXT
         conf.pages.field = title
         wrap = |</a>
      }
   }
[global]
```

Wenn ich die geschweiften Klammern durch eine entsprechende UID ersetze, so funktioniert der ganze Kram! Juchu! Aber wie füge ich nun die Variable ein? Hab bis jetzt noch keine Hinweise bekommen, wie hier vorgegangen werden muss.

### [#4](https://www.typo3.net/d/51909-tt-news-linkverfolger-realisieren/4) · Imiglykos · 2006-10-19

Langsam kommen mir keine Ideen mehr.

Folgendes habe ich versucht:

```typoscript
#Constants:
   ttnewsUid = {GPVar:tx_ttnews|tt_news}

#Setup:
      data = DB:tt_news:{$ttnewsUid}:pid
```

Fehlanzeige, auch wenn der Ansatz doch eigentlich richtig sein sollte?!! Wenn dann einen festen Wert für die Konstante eintrage, so funktioniert's wieder...

Dann nächster Versuch:

```typoscript
      dataWrap = DB:tt_news:{GPVar:tx_ttnews|tt_news}:pid
```

So gibt er mir wenigstens den String "DB:tt_news:54:pid" aus. Wie kann ich also den übersetzten String dann für .data verwenden?!?!

Echt ein Teufelskreis hier.

### [#5](https://www.typo3.net/d/51909-tt-news-linkverfolger-realisieren/5) · Imiglykos · 2006-10-19

Es nimmt kein Ende.

Nun habe ich es mit LOAD_REGISTER versucht:

```typoscript
      [...]

      5 = LOAD_REGISTER
      5 {
         ttnewsUid = RECORDS
         ttnewsUid {
            source.data = GPVar:tx_ttnews|tt_news
            tables = tt_news
            conf.tt_news = TEXT
            conf.tt_news.field = pid
         }
      }

      [...]

         data = register:ttnewsUid

      [...]
```

Nur dort setzt er mir den String RECORDS rein und nicht die ermittelte "pid" aus der tt_news-Tabelle.  #angry#

### [#6](https://www.typo3.net/d/51909-tt-news-linkverfolger-realisieren/6) · Imiglykos · 2006-10-19

Genug für heute. Ich habe allerdings einen kleinen Erfolg zu verzeichnen:

```typoscript
page.10.marks.MITVERFOLGER = TEXT
page.10.marks.MITVERFOLGER.value =  

### News-Seite wird über die Startseite angezeigt?
[globalVar = GP:tx_ttnews|backPid=1]
	### Vorbereiten der PID
	temp.ttnewsCat2 = RECORDS
	temp.ttnewsCat2 {
		source.dataWrap = DB:tt_news:{GPvar:tx_ttnews|tt_news}:pid
		source.wrap3 = {|}
		source.insertData = 1

		tables = pages
		conf.pages = TEXT
		conf.pages.field = uid
	}

	### Marker befüllen
	page.10.marks.MITVERFOLGER = COA
	page.10.marks.MITVERFOLGER {
	
		### Link erstellen für News-Bereich
		40 = TEXT
		40.value =  | <a href="/index.php?id=

		50 < temp.ttnewsCat2

		### Titel der News-Kategorie (Seitentitel)
		60 = RECORDS
		60 {
			source.dataWrap = DB:tt_news:{GPvar:tx_ttnews|tt_news}:pid
			source.wrap3 = {|}
			source.insertData = 1
			tables = pages
			conf.pages = TEXT
			conf.pages.field = title
			wrap = ">|</a>
		}
	}
[global]
```

Wobei dies hier

```typoscript
source.dataWrap = DB:tt_news:{GPvar:tx_ttnews|tt_news}:pid
source.wrap3 = {|}
source.insertData = 1
```

das Herzstück darstellt, um einen verschachtelten Data-String zu ermöglichen:

Jetzt habe ich nur noch ein einziges Problem:

```typoscript
temp.ttnewsCat1 = RECORDS
temp.ttnewsCat1 {
	source.dataWrap = DB:tt_news:{GPvar:tx_ttnews|tt_news}:pid
	source.wrap3 = {|}
	source.insertData = 1

	tables = pages
	conf.pages = TEXT
	conf.pages.field = pid
}

*schnipp*

	### Link erstellen für News-Bereich
	10 = TEXT
	10.value = | <a href="/index.php?id=

	20 < temp.ttnewsCat1

	### Titel der News-Kategorie (Seitentitel)
	30 = RECORDS
	30 {
		source < temp.ttnewsCat1      ### ???
		tables = pages
		conf.pages = TEXT
		conf.pages.field = title
		wrap = ">|</a>
	}
```

Ich kann die "temp.ttnewsCat1" gespeicherte **pid** natürlich nicht für "source" (Zeile 23) übergeben! #angry#

### [#7](https://www.typo3.net/d/51909-tt-news-linkverfolger-realisieren/7) · Imiglykos · 2006-10-20

Problem gelöst!!! :D

Ich wußte doch, dass das in TypoScript geht!!! Wäre doch gelacht!

```typoscript
### Mitverfolger realisieren ###
page.10.marks.MITVERFOLGER = TEXT
page.10.marks.MITVERFOLGER.value = &nbsp;

### News-Seite wird auf der Startseite realisiert?
[globalVar = GP:tx_ttnews|backPid=1]
	### Marker befüllen
	page.10.marks.MITVERFOLGER = COA
	page.10.marks.MITVERFOLGER {
		### pid der Seite zwischenspeichern
		10 = LOAD_REGISTER
		10 {
			ttnewsCat.cObject = RECORDS
			ttnewsCat.cObject {
				source.dataWrap = DB:tt_news:{GPvar:tx_ttnews|tt_news}:pid
				source.wrap3 = {|}
				source.insertData = 1
				tables = pages
				conf.pages = TEXT
				conf.pages.field = pid
			}
		}

		### Titel des News-Bereiches (Seitentitel)
		20 = RECORDS
		20 {
			source.data = register:ttnewsCat
			tables = pages
			conf.pages = TEXT
			conf.pages {
				### Link erstellen
				typolink {
					parameter.dataWrap = {field:uid}
					returnLast = url
				}
				dataWrap = &124;&nbsp;<a href="|">{field:title}</a>
			}
		}
		
		### Titel der News-Kategorie (Seitentitel)
		30 = RECORDS
		30 {
			source.dataWrap = DB:tt_news:{GPvar:tx_ttnews|tt_news}:pid
			source.wrap3 = {|}
			source.insertData = 1
			tables = pages
			conf.pages = TEXT
                        conf.pages {
				### Link erstellen
				typolink {
					parameter.dataWrap = {field:uid}
					returnLast = url
				}
				dataWrap = &124;&nbsp;<a href="|">{field:title}</a>
			}
		}
	}
[global]
```

Man beachte:
Wenn man einen Wert "zwischenspeichern" will, diesen also an anderer Stelle weiterverwenden möchte, so bedient man sich dem **LOAD_REGISTER**, welches aber im **COA**-Objekt erstellt werden muss (.10). An meiner Stelle muss der **RECORDS**-Teil zusätzlich an ein **cObject**-Array verknüpft werden. Vermutlich deshalb, damit es an Ort und Stelle geparst werden kann und kein String "RECORDS" übergeben wird. Somit kann die Variable *ttnewsCat* über **.data** mit register:ttnewsCat an beliebiger Stelle eingefügt werden (vermute jetzt einfach mal innerhalb des COA-Objekts).

Die Links habe ich dann noch über das typolink-Objekt erzeugt, was die Übersichtlichkeit verbessert und die Größe des TypoScript wohlwollend reduziert.

Typo Voila! :D

Ich bedanke mich hiermit allen Mitlesern und Interessierten, die dieses Thema mitverfolgt haben. Vielen Dank! :o

---

Quelle: „tt_news: Linkverfolger realisieren“, typo3.net, https://www.typo3.net/d/51909-tt-news-linkverfolger-realisieren
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
