Bilder im Mitarbeiter-Plugin werden nicht angezeigt

  • johanna johanna
    T3PO
    0 x
    28 Beiträge
    0 Hilfreiche Beiträge
    26. 10. 2005, 12:06

    Hallo alle zusammen,
    ich arbeite das Buch von Typo3 Praxiswissen von Robert Meyer durch und habe gerade meine erste Extension - das Mitarbeiter-Plugin - fertiggestellt. Es läuft alles, bis auf das das Bild nicht aus der DB gelesen wird. Im Quellcode bleibt die Stelle leer, also erscheint auch kein HTML-img-Tag. Ich kann lt. Buch keinen Fehler finden. Bin für jeden Tipp dankbar! Hier mein TS dazu:

    1. # Parameter für das eigene Mitarbeiter-Plugin
    2. plugin.user_mitarbeiter_pi1 {
    3. testObjekt = IMAGE
    4. testObjekt.file = GIFBUILDER
    5. testObjekt.file {
    6. XY = 100,100
    7. backColor = red
    8. }
    9. # Pfad zur Designvorlage als Parameter angeben
    10. templateFile = fileadmin/mitarbeiter.html
    11. # So soll ein Foto eines Mitarbeiters formatiert werden.
    12. bild = IMAGE
    13. bild {
    14. XY = [10.w]+2, [10.h]+2
    15. backColor = black
    16. 10 = IMAGE
    17. # Der Pfad zum Bild wird später dynamisch ersetzt.
    18. 10.file = unbekannt
    19. 10.file.width = 150
    20. 10.offset = 1,1
    21. }
    22. # Dieses Bild soll angezeigt werden, wenn kein Foto vorhanden ist.
    23. bild_default = IMAGE
    24. bild_default.file = GIFBUILDER
    25. bild_default.file {
    26. XY = 152, 50
    27. backColor = white
    28. 10 = TEXT
    29. 10.text = N/A
    30. 10.fontFile = fileadmin/fonts/verdana.ttf
    31. 10.fontSize = 20
    32. 10.fontColor = black
    33. 10.niceText = 1
    34. 10.offset = 30,25
    35. }
    36. }
    und hier nun der PHP-Teil in class.user_mitarbeiter_pi1.php:
    1. function main($content,$conf) {
    2. $this->conf=$conf;
    3. $this->pi_setPiVarDefaults();
    4. $this->pi_loadLL();
    5. $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!
    6.  
    7. // Variablen setzen
    8. $content = "";
    9. $marker = array();
    10. $img_pfad = "uploads/tx_usermitarbeiter/";
    11.  
    12. // Die Designvorlage laden
    13. $tmpl = $this->cObj->fileResource($conf["templateFile"]);
    14. // Einen Teilbereich der Designvorlage auslesen
    15. $tmpl = $this->cObj->getSubpart($tmpl, "###MITARBEITER###");
    16. // Einen weiteren Teilbereich aus dem Teilbereich auslesen
    17. $tmpl_eintrag = $this->cObj->getSubpart($tmpl, "###EINTRAG###");
    18.  
    19. // Ggf. einen Parameter auslesen, ansonsten die aktuelle Seite verwenden
    20. $mitarbeiterPageId = $conf["mitarbeiterPageId"];
    21. if (!intval($mitarbeiterPageId)) $mitarbeiterPageId=$GLOBALS["TSFE"]->id;
    22.  
    23. // Die Datenbankabfrage inkl. Unterstützung von Datenbankabstraktion
    24. $res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("*", "user_mitarbeiter_main", "deleted = 0 AND hidden = 0 AND pid = '".$mitarbeiterPageId."'");
    25. while ($row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res))
    26. {
    27. // Ein Array mit Platzhaltern als Schlüssel mit den Werten füllen
    28. $marker["###NAME###"] = $row["vorname"]." ".$row["nachname"];
    29. // Das Bild auslesen und verarbeiten
    30. $conf["bild."]["file."]["10."]["file"]= $img_pfad.$row["bild"];
    31. if ($this->cObj->fileResource($img_pfad.$row["bild"]))
    32. {
    33. $marker["###BILD###"] = $this->cObj->cObjGetSingle($conf["bild"], $conf["bild."]);
    34. } else {
    35. $marker["###BILD###"] = $this->cObj->cObjGetSingle($conf["bild_default"], $conf["bild_default."]);
    36. }
    37. // Den Teilbereich ###EINTRAG### und das Array miteinander "vereinen"
    38. $content.=$this->cObj->substituteMarkerArrayCached($tmpl_eintrag, $marker);
    39. }
    40. // Letztmalig den umhüllenden Teilbereich ersetzen und Ergebnis ausgeben
    41. $content =$this->cObj->substituteSubpart($tmpl, "###EINTRAG###", $content);
    42. return $content;
    43. }
    Danke


  • 1
  • 0 x
    16 Beiträge
    0 Hilfreiche Beiträge
    26. 10. 2005, 14:02

    Hallo,

    Auf Seite 327 (Bsp 11-14) muss es heißen:

    bild = IMAGE
    bild.file = GIFBUILDER
    bild.file {
    XY = [10.w]+2, [10.h]+2
    backColor = black
    10 = IMAGE
    10.file = unbekannt
    10.file.width = 150
    10.offset = 1,1
    }

    Gruß

    meisenkaiser

  • johanna johanna
    T3PO
    0 x
    28 Beiträge
    0 Hilfreiche Beiträge
    26. 10. 2005, 14:29

    Danke für die schnelle Hilfe, nun läuft alles wie gewünscht.

    Wo wir gerade schon beim Mitarbeiter-Plugin sind, habe ich noch eine Frage dazu.

    Im Backend gebe ich den Inhalt immer mit einem neuen Datensatz ein. Wo kann ich nun auf diesen Datensatz anschließen zugreifen, um Ihn zu bearbeiten, ändern etc.? Irgendwie bin ich blind und kann nur immer neue hinzufügen oder muß über die DB gehen.
    Weiß da jemand weiter?

    Johanna

  • tju79 tju79
    TYPO3-Anwärter
    0 x
    4 Beiträge
    0 Hilfreiche Beiträge
    06. 11. 2005, 01:18

    [quote="johanna"]
    Danke für die schnelle Hilfe, nun läuft alles wie gewünscht.

    Wo wir gerade schon beim Mitarbeiter-Plugin sind, habe ich noch eine Frage dazu.

    Im Backend gebe ich den Inhalt immer mit einem neuen Datensatz ein. Wo kann ich nun auf diesen Datensatz anschließen zugreifen, um Ihn zu bearbeiten, ändern etc.? Irgendwie bin ich blind und kann nur immer neue hinzufügen oder muß über die DB gehen.
    Weiß da jemand weiter?

    Johanna
    [/quote]

    Welches Skript ist das? Gibts dafür einen Link? Bin neugierig geworden.

  • johanna johanna
    T3PO
    0 x
    28 Beiträge
    0 Hilfreiche Beiträge
    06. 11. 2005, 08:39

    Hallo,

    das Script steht oben und für mehr muß man sich dann evtl das Buch (steht auch oben) kaufen. Einen Link dazu habe ich leider nicht, da ich alles offline mache und ausprobiere. 8-)

    Tut mir leid, daß ich im Augenblick dazu nicht mehr sagen kann.

    Aber die Frage mit dem Bearbeiten der Datensätze im Backend habe ich immer noch. Dasselbe Problem habe ich bei der Extension mininews.

    Johanna

  • johanna johanna
    T3PO
    0 x
    28 Beiträge
    0 Hilfreiche Beiträge
    06. 11. 2005, 12:22

    Hallo,

    dann gebe ich mir nun mal selbst die Antwort. Ich habe es nun herausgefunden.

    Klicke unter Web auf List - hier sieht man dann rechts, dass man z.B. 3 Mitarbeiter angelegt hat. Klicke auf das Icon und dann auf Bearbeiten - alles klar?

    Johanna

  • 1