[TYPO3-german] Anfängerprobleme: erstes einfaches Plugin und DB-Ausgabe

Steffen Kamper steffen at sk-typo3.de
Thu Dec 20 15:09:40 CET 2007


$GOBALS['TSFE']->id ist immer 0
Wenn das L drin ist, stimmts: $GLOBALS['TSFE']->id

Ausgabe mit t3lib_div::debug($query,'my query');

Am besten Du installierst Dir extdeveval, dann hast Du die API als 
offline-Hilfe. Die DB-Klasse enthält einige hilfreiche Funktionen, gerade im 
Bezug auf mm-Tabellen.

vg  Steffen

"Detlef Fluess" <fluess at 2-ad.de> schrieb im Newsbeitrag 
news:mailman.5903.1198086799.14020.typo3-german at lists.netfielders.de...
Hallo liebe TYPO3 ler,

nun habe ich schon seit Tagen einige Foren durchforstet und ihr seid meine 
letzte Hoffnung.

Ich habe mit dem Kickstarter eine Extension mit Plugin erstellt und möchte 
folgedes erreichen... vereinfache mal ein wenig die Beschreibung:

Es gibt zwei Tabellen.

Tabelle 1 enthält einige Felder mit Informationen
Tabelle 2 die Felder PLZ und ORT

Die Tabelle 2 habe ich als DB Relation in die Tabelle 1 gehängt, wobei 
mehrere PLZ dem Datensatz der Tabelle 1 zugeordnet werden können/sollen.

Das Plugin zeigt im FE die Tabelle 1, ich bekomme eine schöne Liste und mit 
Klick lande ich in der Single-Ansicht mit allen Details der Tabelle 1.

Das erste Problem, die zugehörigen PLZ's werden nicht ausgegeben, sondern 
nur die uid des in Tabelle 2 zugehörigen Datensatzes.
Dieses Problem konnte ich aber mit Hilfe des Videos von Kasper (Rendering 
The Category Title) zum Teil beheben. Denn das klappt nur, wenn _EINE_ PLZ 
zugeordnet ist.

Problem 1: Sobald mehrere PLZ zugeordnet sind, erfolgt gar keine Ausgabe.
Problem 2: Das nächste, aber viel wichtigere ist, dass die PLZ mit in die 
Suche mit aufgenommen wird. Das funktioniert nicht.

Ich versuche nun schon seit einer Woche diese Probleme zu knacken. Kann mir 
vielleicht jemand helfen? Gern sende ich auch die ganze class.

Der Schnipsel in der function "getFieldContent($fN)" sieht so aus:
[code]
case 'kd_plz':
if (!count($this->plzBereichCache)) {
$query = 'SELECT * FROM tx_dfhsw_plz WHERE pid=118 
'.$this->cObj->enableFields('tx_dfhsw_plz');

//das funktioniert nicht, denn für "intval($GOBALS['TSFE']->id" wird immer 
"00" eingesetzt ????
//geht nicht $query = 'SELECT * FROM tx_dfhsw_plz WHERE 
pid='.intval($GOBALS['TSFE']->id).' 
'.$this->cObj->enableFields('tx_dfhsw_plz');
$res = mysql(TYPO3_db, $query);
while ($row = mysql_fetch_assoc($res)) {
$this->plzBereichCache[$row['uid']] = $row;
}
}
return 
htmlspecialchars($this->plzBereichCache[$this->internal['currentRow']['kd_plz']]['plz']);
break;
[code][/code]





More information about the TYPO3-german mailing list