Zum Inhalt springen

Bildbearbeitung in eigener Extension

Erstellt am 19. November 2004 · 3 Antworten · letzte Antwort am 19. November 2004

Tags: Bilder, Frage

Arkala ·

Hallo,

stehe mal wieder auf dem Schlauch.

Ich habe eine eigene Extension (Frontend Plugin) erstellt, mit der ich eine Bilddatei, eine Bildunterschrift, eine Überschrift und ein Textfeld einlesen und auf einer Seite wohlgeordnet ausgeben kann.
Die Ausgabe auf der Seite wird durch die php-Datei "pi1/class.tx_newproducts_pi1.php" gesteuert. Hier ein Auszug:

	function main($content,$conf)	{
		$this->conf = $conf;
		$content .= "<table border=0 width=450>";
		$rows = $this->getItems();

        while(list($c,$row)=each($rows))	{
			$content .= "<tr><td colspan=4>&nbsp;</td></tr>";
			$content .= '<tr><td colspan=4><img src="fileadmin/images/line.gif"></td></tr>';
     		$this->conf["image."]["file"] = "uploads/tx_newproducts/".$row["image"];
     		$theImgCode=$this->cObj->IMAGE($this->conf["image."]);
 
            $content .='<tr><td valign=top width=136><div class="image">';
			$content .=$theImgCode;
			$content .='</div><div class="caption">'.$row["imagetext"].'</div></td>';
			$content .= "<td width=19>&nbsp;</td>";
			$content .= '<td valign=top width=275><div class="h2">'.$row["title"].'</div><p>'.$row["text"].'</p></td>';
			$content .= "<td width=20>&nbsp;</td></tr>";
        }
		$content .= "</table>";
	
		return $content;
	}

Wo weit so gut. Allerdings möchte ich nun die Bilddatei (image) folgendermaßen überarbeiten:
a) Die im Formular eingegebene Bilddatei soll auf eine max. Breite skaliert werden
b) Das Bild soll einen Rahmen erhalten
c) Das Bild soll anklickbar sein (klick enlarge)

Aber wie und wo kann ich das machen? Direkt in der php-Datei? oder besser im Setup?

Hat jemand eine Idee oder einen Hinweis für mich?

frank1774 ·

Den Rahemn kannst du auch mit CSS machen, muss nicht gerendert werden.

Für die maxilmale Breite wurde ich in deiner Extension eine FlexForm einbinden die ein Eingabefeld für den Breitenwert ermöglicht.

Wie das Bild dann gerdert wird mußt Du bei Deiner $this->conf Definition machen. Siehe hierzu Dokumentation Tsref.

Für das Popup Fenster kannst Du die Datei showpic.php aus dem root Verzeichnis benutzen. Einfach per onclick Event am IMG tag aufrufen.

-----------------------------------------
live strong - live typo3

Arkala ·

Den Rahemn kannst du auch mit CSS machen, muss nicht gerendert werden.

Guter Punkt. Manchmal denke ich einfach zu kompliziert.

Für die maxilmale Breite wurde ich in deiner Extension eine FlexForm einbinden die ein Eingabefeld für den Breitenwert ermöglicht.

Habe bislang noch keine Erfahrungen mit FlexForm. Kannst Du mir dazu eine gute Doku empfehlen?

Wie das Bild dann gerdert wird mußt Du bei Deiner $this->conf Definition machen. Siehe hierzu Dokumentation Tsref.

Oh, die geliebte TSref! Aber wie kann die $this->conf (in php-Datei) mit TSref (setup-Field) bearbeiten?
Da sind mir die Zusammenhänge noch nicht so ganz klar.

Für das Popup Fenster kannst Du die Datei showpic.php aus dem root Verzeichnis benutzen. Einfach per onclick Event am IMG tag aufrufen.

Klingt einfach. Werde ich mal versuchen.

Schon mal vielen Dank für Deine Hilfe. Hoffe, Du kannst mir auch bei den noch offenen Punkten auf die Sprünge helfen.

frank1774 ·

Habe bislang noch keine Erfahrungen mit FlexForm. Kannst Du mir dazu eine gute Doku empfehlen?

Schau mal in die Doku der CoreAPI oder dir einfach mal den Code von tt_news an.

Oh, die geliebte TSref! Aber wie kann die $this->conf (in php-Datei) mit TSref (setup-Field) bearbeiten?
Da sind mir die Zusammenhänge noch nicht so ganz klar.

Du definierst einfach wie gewohnt im setup Feld Deine extension parameter. Diese liest Du dann in der Exentsion Class aus und weist sie dem conf zu. Ganz easy!

Klingt einfach. Werde ich mal versuchen.

Klingt einfach, ist etwas komplizierter. Die Datei showpic.php benötigt ein paar Parameter, z.b nen md5 hash. Einfach mal den Code anschauen der Datei dann siehst es gleich, auch ganz easy zu verstehen.

Schon mal vielen Dank für Deine Hilfe. Hoffe, Du kannst mir auch bei den noch offenen Punkten auf die Sprünge helfen.

Hoffe es hilft!

--------------------------------------------
live strong - live typo3