Zum Inhalt springen

Extension Übung: Bild Wrap

Erstellt am 14. Januar 2011 · 3 Antworten · letzte Antwort am 18. Januar 2011

Tags: Frage

JakobRa ·

Hallo,
ich versuche mich gerade mal wieder am Extension schreiben.

Folgendes möchte ich erreichen:
Ein Bild über ein Feld einfügen und im FE anzeigen lassen.

Das sollte ja nicht allzu schwer sein, aber irgendwie bekomme ich es nicht hin.

Das Feld für das Bild und den Marker habe ich schon angelegt.
Das richtige Wrapen bekomme ich aber nicht hin. o.O

Das hier habe ich im Netz gefunden:

$img_pfad = "uploads/tx_userbkreferenzen/";

    $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."]);
          }

Vllt. kann mir jemand den Code erklären, würde das gern kapiern?

Grüße,
Jakob

JakobRa ·

Hab ein bisschen im Forum gestöbert...

So sieht mein Code jetzt aus:

class tx_test_marker{
function extraItem($marker, $row, $lConf, $obj){
$entry['image'] = $this->cObj->$row['tx_test_bild'];

$this->conf['image.']['file'] = $entry['image'];
$pic = $this->cObj->IMAGE($this->conf['image.']);
$marker['###TEST_BILD###'] = $pid;

return $marker;
}
}

Funktioniert aber leider noch immer nicht. Die Seite läd jetzt gar nicht mehr, Fatal error: Call to a member function IMAGE() on a non-object.

Kann jemand helfen?

Grüße,
Jakob

Unbekannter Benutzer ·

Kennst du dich denn ein bisschen mit PHP Programmierung aus? Mir scheinen da Grundlagen zu fehlen.

Deine Class muss von der pibase erben, sonst gibts schon mal nix mit Plugin (außer du benutzt extbase). Wenn sie von pibase erbt dann gibts auch ein cObj. Am besten du lässt den kickstarter mal ein Plugin erstellen damit du eine vernünftige Basis hast. Außerdem muss ein Plugin einen HTML string zurückgeben nicht ein Array von Markern. Wenn du Marker benutzt, dann musst du die auch innerhalb deiner Extension in einem Template einsetzen und das Ergebnis zurückgeben.

JakobRa ·

Erstmal danke für deine Antwort. =)
Mit PHP kenne ich mich schon ein bisschen aus.
Die Extension soll mir tt_news erweitern, das Grundgerüst habe ich mir vom Kickstarter erstellen lassen.

In meiner localconf steht:

if (!defined ('TYPO3_MODE')) die ('Access denied.');
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_news']['extraItem'][] =
'EXT:test/class.test_marker.php:tx_test_marker';

Muss die Klasse trotzdem von der pibase erben, wie müsste das aussehen?
Wäre super wenn du mir das verraten könntest.

Grüße,
Jakob