Hallo Leute,
ich habe eine Extension geschrieben und möchte nun die Ausgabe über ein HTML-Template "stylen".
Das Problem ist jetzt nun, dass ich 2 Schleifen habe, die die Marker ersetzen sollen.
Wenn ich meine Ausgabe für jede einzelne Schleife ausgeben lasse funktioniert es wunderbar.
Aber wenn die Ausgabe in Abhänigkeit von allen beiden Schleifen funktionieren soll, entsteht nur Chaos.
Ich poste hier mal mein Template und meinen Quellcode. Es wäre echt super, wenn mir jemand mal einen Denkanstoß geben würde =).
PHP-Code:
function genListview(){
$content = "";
$marker = array();
$tmpl = $this->cObj->fileResource("typo3conf/ext/extension/listview.html");
$tmpl = $this->cObj->getSubpart($tmpl,"###Listview###");
$tmpl_repeat = $this->cObj->getSubpart($tmpl,"###Series###");
//Standardanwendungen aus der DB holen
$queryApp = $GLOBALS['TYPO3_DB']->SELECTquery(
'applicationname,uid', // SELECT ...
'tx_table', // FROM ...
'deleted <> 1'
);
$resApp = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $queryApp);
while($rowApp = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($resApp)) {
$marker["###HEADER###"] = $rowApp['applicationname'];
$marker["###BILD###"] = $rowApp['applicationname'];
//Abfrage auf Serien - Anfang
$querySeries = $GLOBALS['TYPO3_DB']->SELECTquery(
'seriesname,linkname, shortdescription, listimage', // SELECT ...
'tx_table_series', // FROM ...
'deleted <> 1 and ((series_applications LIKE "%'.$rowApp['uid'].'%"))'
);
$resSeries = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $querySeries);
while($rowSeries = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($resSeries)) {
$marker["###SERIESNAME###"] = $rowSeries['linkname'];
$marker["###SHORTDESCRIPTION###"] = $rowSeries['shortdescription'];
$content .= $this->cObj->substituteMarkerArrayCached($tmpl_repeat, $marker);
}
//Abfrage auf Serien - Ende
$content .= $this->cObj->substituteMarkerArrayCached($tmpl, $marker);
}
$content = $this->cObj->substituteSubpart($tmpl, "###Series###",$content);
return $content;
}//genListview-funktion - Ende
HTML-Template:
<!-- ###Listview### begin -->
<h2>###HEADER###</h2>
<div style="float:left;">
<table border=1>
<td>###BILD###</td>
</table>
</div>
<div style="float:left;">
<table border=1>
<th>###SERIESHEADER###</th>
<th style="width:20px;">###SHORTDESCRIPTIONHEADER###</th>
<!-- ###Series### begin -->
<tr>
<td>###SERIESNAME###</td>
<td style="width:50%;">###SHORTDESCRIPTION###</td>
</tr>
<!-- ###Series### end -->
</table>
</div>
<div style="clear:both"></div>
<hr>
<!-- ###Listview### end -->
Gruß,
Patrick
P.S.: Habe leider keine formatierungsmöglichkeiten gefunden, sonst hätte ich den Quellcode natürlich hervorgehoben.
Hallo!
Inwiefern kommt nichts vernünftiges heraus?
Ich habe ein paar Dinge im Template entdeckt.
Folgendes ist mir aufgefallen:
-um die Tabellen-Header TH fehlt ein TR
-der Header ist 20px breit un die Spalte dazu 50%
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen