Ahoi,
da ich mich lange mit der Frage beschäftigt habe,
wie ich eine SQL-Abfrage in TypoScript machen kann,
bei der die aktuelle Seiten-ID in der Where-Bedingung dynamisch eingefügt wird, stelle ich euch meine Lösung vor.
Öffne die Datei: .../t3lib/class.t3lib_db.php
Gehe zu Zeile 225 und suche nach:
function exec_SELECTquery($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='') {
mysql_query($this->SELECTquery($select_fields,$from_table,$where_clause,$groupBy,$orderBy,$limit), $this->link);
if ($this->debugOutput) $this->debug('exec_SELECTquery');
return $res;
}
ersetze es mit:
function exec_SELECTquery($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='') {
$where_clause = str_replace('{pid}',$GLOBALS['TSFE']->id,$where_clause);
$res = mysql_query($this->SELECTquery($select_fields,$from_table,$where_clause,$groupBy,$orderBy,$limit), $this->link);
if ($this->debugOutput) $this->debug('exec_SELECTquery');
return $res;
}
damit könnt ihr in eurem TypoScript die Variable {pid} als die aktuelle Seiten ID benutzen:
select.where = feld1 = {pid}
Viele Grüße,
Christian
Hallo,
und was spricht gegen ein
select {
andWhere =uid = {field:uid}
andWhere.insertData = 1
}
?
georg
Bei mir hat das nie funktioniert.
Kann nicht erklären warum, allerdings gab es das Problem dass es nicht funktioniert, laut Google, schon öfters bei verschiedenen Typo Seite
man muss halt andwhere nehmen, weil das normale where kein stdWrap hat aber funktioniert hat das immer.
sonst einfach mal verwenden, bewusst einen fehler einbauen und sqldebug einschalten, dann weißt du genau was da rauskommt
georg
Kann mir einer sagen wie ich das mit uid hier rein bekomme ich bekomm das einfach nicht hin 🙁
Das ist der Quelltext. Für die vier soll halt die uid der aktuellen Seite hinkommen
lib.topbild = IMAGE
lib.topbild {
file = ****
altText.data = DB:pages:$uid:user_bilder_alttext
altText.insertData = 1
titleText.data = DB:pages:4:user_bilder_titeltag
titleText.insertData = 1
}
Blizzer nur ganz kurz die Info das es sowas nicht gibt. Du müsstest quasi über verschachtelte stdWraps das zusammenbauen, aber schön ist das nicht. Gibts keinen anderne Weg zu erreichen was du machen willst?
Blizzer schrieb... Für die vier soll halt die uid der aktuellen Seite hinkommen ...
Hat Dich denn "dataWrap" und "{page:uid}" nicht weiter gebracht?
http://www.typo3forum.net/forum/gmenu-hmenu-tmenu-co/57320-uid-abfragen-datenbank-abfrage-benutzen.html#post187225
.