Hallo,
ich habe versucht die Extension vom Buch "Praxiswissen Typo3" von Robert Meyer nachzubauen.
Leider ohne Erfolg.
Ich scheitere daran dass das Bild nicht angezeigt wird. Ich weiß einfach nicht mehr weiter.
Das else Objekt wird auf der Ausgabeseite gerendert, aber das normale Bild nicht.
plugin.user_referenzen_pi1 {
templateFile = fileadmin/template/site/referenzen.html
#So soll das Foto der Refenz ausgegeben werden
bild = IMAGE
bild {
XY = [10.w]+2, [10.h]+2
backColor = black
10 = IMAGE
10.file = unbekannt
10.file.width = 150
10.offset = 1,1
}
#Dieses Bild soll angezeigt werden , wenn kein Foto vorhanden ist.
bild_default = IMAGE
bild_default.file = GIFBUILDER
bild_default.file {
XY = 152, 50
backcolor = white
10 = TEXT
10.text = N/A
10.fontSize = 20
10.fontColor = black
10.niceText = 1
10.offset = 30,25
}
}
<?php
class user_referenzen_pi1 extends tslib_pibase {
var $prefixId = 'user_referenzen_pi1'; // Same as class name
var $scriptRelPath = 'pi1/class.user_referenzen_pi1.php'; // Path to this script relative to the extension dir.
var $extKey = 'user_referenzen'; // The extension key.
/**
* The main method of the PlugIn
*
* @param string $content: The PlugIn content
* @param array $conf: The PlugIn configuration
* @return The content that is displayed on the website
*/
function main($content,$conf) {
$this->conf=$conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$this->pi_USER_INT_obj=1; // Configuring so caching is not expected. This value means that no cHash params are ever set. We do this, because it's a USER_INT object!
//Variable setzen
$content = "";
$marker = array();
$img_pfad = "uploads/tx_userreferenzen/";
//Die Designvorlage laden
$tmpl = $this->cObj->fileResource($conf["templateFile"]);
//Einen Teilbereich der Designvorlage auslesen
$tmpl = $this->cObj->getSubpart($tmpl, "###REFERENZEN###");
//Einen weiteren Teilbereich aus dem Teilbereich auslesen
$tmpl_eintrag = $this->cObj->getSubpart($tmpl, "###EINTRAG###");
//Ggf. einen Parameter auslesen, ansonsten die aktuelle Seite verwenden
$referenzenPageId = $conf["referenzenPageId"];
if (!intval($referenzenPageId)) $referenzenPageId=$GLOBALS["TSFE"]->id;
//Die Datenbankabfrage inkl. Unterstützung von Datenbankabstraktion
$res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("*",
"user_referenzen_main", "deleted = 0 AND hidden = 0
AND pid = '".$referenzenPageId."'");
while($row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res)) {
//Ein Array mit Platzhaltern als Schlüssel mit den Werten füllen
$marker["###PLZ###"] = $row["plz"]." ".$row["ort"];
$marker["###GROESSE###"] = $row["groesse"];
$marker["###KATEGORIE###"] = $row["kategorie"];
$marker["###EINBAUDATUM###"] = $row["einbaudatum"];
$marker["###BESCHREIBUNG###"] = $row["beschreibung"];
// Das Bild auslesen und verarbeiten
$conf["bild."]["file."]["10."]["file"]= $img_pfad.$row["bild"];
if ($this->cObj->fileResource($img_pfad.$row["bild"])) {
$marker["###BILD###"] = $this->cObj->cObjGetSingle($conf["bild"], $conf["bild."]);
} else {
$marker["###BILD###"] = $this->cObj->cObjGetSingle($conf["bild_default"], $conf["bild_default."]);
}
//Den Teilbereich ###EINTRAG### aud das Array miteinander "vereinen"
$content.=$this->cObj->substituteMarkerArrayCached($tmpl_eintrag, $marker);
}
// Letztmalig den umhüllenden Teilbereich ersetzen und das Ergebnis ausgeben
$content =$this->cObj->substituteSubpart($tmpl, "###EINTRAG###", $content);
return $content;
}
}
if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/user_referenzen/pi1/class.user_referenzen_pi1.php']) {
include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/user_referenzen/pi1/class.user_referenzen_pi1.php']);
}
?>
Ich weiß ihr seit nicht so begeistert wenn jemand einfach viel Code Postet, aber ich komme einfach nicht weiter.
Hier zum Schluss noch mal mein Template File, denke aber nicht dass es daran liegt, sonst würde die ELSE Anweisung ja nicht funktionieren.
<!-- ###REFERENZEN### begin -->
<table width="80%" border="1">
<!-- ###EINTRAG### begin -->
<tr bgcolor="#FFFF99">
<td colspan="2">###GROESSE### ###KATEGORIE###</td>
</tr>
<tr>
<td rowspan="3">###BILD###</td>
<td>Standort: ###PLZ###</td>
</tr>
<tr>
<td>In Betrieb seit: ###EINBAUDATUM###</td>
</tr>
<tr>
<td>###BESCHREIBUNG###</td>
</tr>
<!-- ###EINTRAG### end -->
</table>
<!-- ###REFERENZEN### end -->
An was kann sowas noch liegen?
ImageMagick Fehler?
Wie teste ich ob dieser einwandfrei funktioniert?
Ich würde mich freuen wenn ihr mir helfen könntet.
Grüße
mager85