Hi!
Ich habe eine kleine Extension geschrieben, welche mir die Bilder des CObj image als Text-Liste ausgibt. Das funktioniert auch fast perfekt.
Ich benutze dann (per Condition) eine Variante von tt_content, um diesen Inhalt anzuzeigen:
###### speed=1 -> DSL ##### speed=2 -> Modem
[globalVar = GP:speed=1]
tmp.image < tt_content.image
tmp.texpic < tt_content.textpic
tt_content.image.10 < lib.stdheader
tt_content.image.20 < plugin.tx_bildliste_pi1
tt_content.textpic < tmp.textpic
tt_content.textpic.20 = < tmp.image.20
[global]
Aber hier liegt auch mein Problem. Ich habe mehrere CObj des Typs image auf einer Seite. Nun werden alle Bilder, die auf dieser Seite zu finden sind unter jeder Überschrift angezeigt.
$query = "SELECT * FROM tt_content WHERE pid = ".$GLOBALS["TSFE"]->id." AND deleted = 0 AND hidden = 0 ORDER BY sorting ASC";
Nun muss meines Wissens nach der query anders lauten irgendwie muss ich entweder nach der sorting-Nummer oder nach der uid selektieren, aber wo bekomme ich diese Information her? Ich habe mal nichts in $GLOBALS gefunden, oder habe ich es übersehen?
Kann mir da jemand weiterhelfen.
Danke
McGregor
Folgender Schnipsel liefert Dir Bilder und Captions in der richtigen Reihenfolge (Hier für die Seite 174):
<?php
$query = $GLOBALS['TYPO3_DB']->SELECTquery(
'image,imagecaption', // SELECT ...
'tt_content', // FROM ...
'pid=174 AND CType IN ('textpic','image') and deleted=0 and hidden=0', // WHERE...
'', // GROUP BY...
'sorting ASC', // ORDER BY...
'' // LIMIT ...
);
$res = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $query);
while($temp = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$pics=explode(',',$temp['image']);
$captions=explode(chr(10),$temp['imagecaption']);
for($i=0;$i<count($pics);$i++) {
$content.='Bild: '.$pics[$i].' Caption: '.$captions[$i].'<br />';
}
}
?>
Hi!
Danke für die Antwort, aber das war nicht das Problem. Ich meinte übrigens die Überschriften der Seiteninhalte und nicht die Unterschriften der Bilder.
Da ich das ganze per TypoScript verwurschtel, sieht die Lösung anders aus. Ich hab's eben durch Zufall gefunden (durch einen uralten Forenbeitrag über tt_news).
$query = "SELECT * FROM tt_content WHERE uid = ".$this->cObj->data['uid'];
Durch die Frage nach der uid wird nur der entsprechende Inhalt ausgegeben. TYPO3 sendet die korrekte uid in diesem Array ($this->cObj-data) mit und übernimmt aich die Sortierung. Die Überschriften werden per lib.stdheader ausgegeben und meine Inhalte sind korrekt unter jeder Überschrift zu finden.
Grüße
McGregor