Zum Inhalt springen

Zwei Abfragen in einer mit Typoscript

Erstellt am 4. September 2013 · 2 Antworten · letzte Antwort am 5. September 2013

Tags: Datenbank, TYPO3 6.x, Frage

SirRuddy ·

Hallo! Ich möchte eigentlich zwei Abfragen in einer erzeugen. Jede für sich funktioniert:

lib.companyTitle = TEXT
lib.companyTitle {
  # data = GP:ts_addresslist|showUid //Gibt mir schon einmal die richtige UID aus
  data = DB:tt_address:135:company //Mit UID gibt er mir auch die richtige Firma aus
}
# Hier dann die Ausgabe
page.headerData.60 < lib.companyTitle
page.headerData.60.wrap = <!-- | -->

Nun müsste doch:

dataWrap = DB:tt_address:{GP:ts_addresslist|showUid}:title

...zum gewünschten Ziel führen. - Tut es aber nicht. Warum?! Kann jemand helfen?

Gruß
SirRuddy

einpraegsam.​net · · Beste Antwort

Ich würde eine eine eigene Abfrage machen:

lib.title = CONTENT
lib.title {
	table = tt_address
	select {
             	pidInList = 2
		andWhere {
			data = GP:ts_addresslist|showUid
			wrap = tt_address.uid=|
			intval = 1
		}
	}
	renderObj = COA
	renderObj.10 = TEXT
	renderObj.10 {
		field = company
	}
}
SirRuddy ·

Hallo MacGyver,

vielen Dank für die Antwort. Die hat mir schon mal geholfen. Allerdings liegen die Adressen nicht in einem zentralen Ordner sonder auf unterschiedlichen Seiten. Daher musste ich das 'pidInList' um das 'temp.seitenID' erweitern um an die aktuelle Seiten-ID zu kommen. - Das verwirrt mich auch wieder! Warum kann ich die aktuelle Seite nicht "on-the-fly" auslesen?!

$GLOBALS["TSFE"]->id //und
$this->cObj->data['pid']

Haben keine Wirkung in Zeile 11...
So funktioniert es jedenfalls:

temp.seitenId = TEXT
temp.seitenId {
  insertData = 1
   data = TSFE:id
}

lib.companyTitle = CONTENT
lib.companyTitle {
  table = tt_address
  select {
    pidInList < temp.seitenId
    andWhere {
      data = GP:ts_addresslist|showUid
      wrap = tt_address.uid=|
      intval = 1
    }
  }
  renderObj = COA
  renderObj.10 = TEXT
  renderObj.10 {
    field = company
  }
}

page.headerData.60 < lib.companyTitle
page.headerData.60.wrap = <!-- | -->