[typo3] Aus Typo3Extension mit PHP Klasse Bilder generieren

Angeltv

Mitglied
Moin moin,

beschäftige mich seit kurzem mit dem Thema Typo3, und bin auf folgendes Problem
gestossen, als ich mir eine eigene Extension bauen wollte. Es geht um folgendes:

Man soll im Backend die Möglichkeit haben, Teaserboxen zu erstellen, die dann auf der
jeweiligen Seite angezeigt werden. Bei einem Klick auf die Teaserboxüberschrift soll man
auf die im Hintergrund verlinkte Seite gelangen.

So weit so gut, nun stellt sich aber mir die Frage, wie soll ich in der php Klasse
class.tx_teasermod_pi1.php das TypoScript ansprechen, um die Überschrift in ein Gif
umwandeln zu lassen.

Bitte helft mir, ich verzweifle langsam.
 
Also so wie ich das verstanden habe möchtetst du lediglich eine verlinkte grafische Überschrift ausgeben oder noch mehr?
Wenn das wirklich nur eine normale überschrift ist brauchst du keine extra Extension. Sondern musst nur per Typoscript die Überschrifteinstellungen anpassen so das eine Grafik nach deinen Wünschen generiert wird.
 
HI,

danke schonmal für Deine Antwort.

Ja es geht darum, das wir kleine Teaserkästchen brauchen, die irgendwo auf der Seite stehen. Diese sollen im BackEnd von Typo3 gepflegt werden, also habe ich eine eigene Extension geschrieben, die diese Kästchen verwaltet und anzeigt. Der Titel eine solchen Kästchens kommt dann ja auch aus der Datenbank, und dieses soll dann per GIFBuilder als Grafik gerendert werden.

Also so dann:
________________________________
| Titel als Grafik |
|_______________________________|
| Text ganz viel Text |
| Text ganz viel Text |
|_______________________________|

Kann ich denn irgendwie per Typoscript ein Flag übergeben, der dann aus dem Value die Grafik generiert? Vielleicht <!--###GIFTEXT###-->Titel als Grafik<!--###GIFTEXT###-->

Hab noch nicht so viel Ahnung von Typo3.
 
________________________________
| Titel als Grafik |
|_______________________________|
| Text ganz viel Text |
| Text ganz viel Text |
|_______________________________|

Kann ich denn irgendwie per Typoscript ein Flag übergeben, der dann aus dem Value die Grafik generiert? Vielleicht <!--###GIFTEXT###-->Titel als Grafik<!--###GIFTEXT###-->

Es geht beides!
Du kannst einmal die Überschrift grafisch generieren lassen und du kannst dein eigenes "Typo3 Tag" erstellen wie z.B.
Code:
<grafik>Text der als Grafik gerendert werden soll.</grafik>

Wobei die Methode mit der grafischen Überschrift einfacher ist.

Hier hast du den Code für eine grafische Überschrift in Typo3 mit Erklärung.
Dieser muss in dein Typoscript-template ins Setup

Code:
# Altes Überschriften Objekt wir geleert.
# 10 Steht quasi für Überschrift und die 5 steht für Überschriftentyp (layout) 5
lib.stdheader.10.5 >

# Neues Überschrift-Objekt wird erstellt vom Typ Image
lib.stdheader.10.5 = IMAGE

# Alt - und Title Tags für das HTML-Image-Tag setzen 
# und zwar auf den Wert der Überschrift
lib.stdheader.10.5.alttext.field = header
lib.stdheader.10.5.titletext.field = header

# Optional... Dem IMG-Tag eine CSS Klasse verpassen
#lib.stdheader.10.5.params = class="sidebar-title"

# Nun generieren wir eine Grafik mit dem GIFBUILDER
################################################
lib.stdheader.10.5.file = GIFBUILDER
lib.stdheader.10.5.file {

	# Größe des zukünfitgen Bildes
	XY = 156,18
	
	# Nun wird das Objekt erstellt wo die Überschrift
	# die wir im Typo3 Backend angegeben haben drin steht
	# field.header greift auf die Überschrift des Datensatzes zu
	20 = TEXT
	20.text.field = header

	# Abstand des Textes zum Oberen Linken Bildrand
	# (Pixelwerte)
	20.offset = 14, 10

	# Pfad zur Schriftart
	20.fontFile = fileadmin/ick/fonts/bitdust2f

	# SchriftartFarbe
	20.fontColor = #000000

	#Schriftgröße
	20.fontSize = 8

	# Alle Buchstaben werden großgeschrieben
	20.text.case = upper
}
 
Hey schomal Vielen Dank,

leider lüppts bei mir immer noch nicht. Ich poste Dir hier mal meinen Code, vielleicht kannste dann besser helfen. Ich glaub ich bin zu doof. Hab schon versucht die GIFBuilder PHP Klasse anzufassen. Langsam verzweifle ich.

Hier is das TypoScript
Code:
page = PAGE
page   {
	typeNum = 0
	bodyTag = <body bgcolor = "#FFFFFF" topmargin="0" leftmargin="0">
	stylesheet = fileadmin/templates/css/standard.css
	20 = TEMPLATE
	20.template = FILE
	20.template.file = fileadmin/templates/template_1.htm
	20.workOnSubpart = DOKUMENT
	20.marks{
		HEADLINE = CONTENT
		HEADLINE {
			table = tt_content
			select.orderBy = sorting
			select.where = colPos = 1
		}
	
		INHALT = CONTENT
		INHALT {
			table = tt_content
			select.orderBy = sorting
			select.where = colPos = 0
			}
		
		RIGHTBOXES = CONTENT
		RIGHTBOXES {
			table = tt_content
			select.orderBy = sorting
			select.where = colPos = 2
		}
		
		# das Logo einbinden
		FLASH = IMAGE
		FLASH.file = fileadmin/templates/art/hd_flash.jpg
		
		NAVIGATION = HMENU
		NAVIGATION.special	= directory
		NAVIGATION.special.value= 1
		NAVIGATION.wrap = <table border="0" cellpadding="0" cellspacing="0"><tr><td><a href="index.php"><img src="fileadmin/templates/art/img_clubhaus.jpg"></a></td>|</tr></table>
		
		NAVIGATION.1	= GMENU
		NAVIGATION.1.NO {
			XY	= [10.w]+20, 31
			maxWidth = 139
			wrap          = <td>|</td>
			backColor = #629A5D
			10              = TEXT
			10.text.field = title
			10.text.case = upper
			10.align      = center
			10.fontSize = 10
			10.fontColor  = #B6D3B5
			10.niceText  = 1
			10.offset = 0,18
			
			# Eine weisse Linie erzeugen
			SPC = 1 // Das ist der Trenner
 			SPC {
				20 = IMAGE
				20.offset = 1,9
				20.doNotShowLink = 1
				20.file = GIFBUILDER
				20.file {
					XY = 1,12
					backColor = #B6D3B5
				}
			}
		}
		
		NAVIGATION.1.RO < NAVIGATION.1.NO
		NAVIGATION.1.RO = 1
		NAVIGATION.1.RO{
			XY	= [10.w]+20, 31
			wrap          = <td>|</td>
			backColor = #004A15
			10              = TEXT
			10.text.field = title
			10.text.case = upper
			10.align      = center
			#10.fontFile   = fileadmin/template/fonts/arialf
			10.fontSize = 10
			10.fontColor  = #B6D3B5
			10.niceText  = 1
			10.offset = 0,18
			
			# Eine weisse Linie erzeugen
			20 = IMAGE
			20.offset = 1,9
			20.file = GIFBUILDER
			20.file {
				XY = 1,12
				backColor = #B6D3B5
			}
		}
		
		
		### Golfanlagen 1.Ebene
		SITEGATION	= HMENU
		SITEGATION.entryLevel = 0
		SITEGATION.special	= directory
		SITEGATION.special.value= 10
		SITEGATION.wrap = <table border="0" cellpadding="0" cellspacing="0">|</table>
		SITEGATION.1	= GMENU
		SITEGATION.1.NO {
			XY	= 155, 22
			maxWidth = 155
			wrap          = <tr><td>|</td></tr>
			backColor = #004A15
			10              = TEXT
			10.text.field = title
			10.text.case = upper
			10.align      = left
			10.fontSize = 10
			10.fontColor  = #B6D3B5
			10.niceText  = 1
			10.offset = 10,14
			
			20 = IMAGE
			20.offset = 0,21
			20.file = GIFBUILDER
			20.file {
				XY = 155,1
				backColor = #FFFFFF
			}
		}
		SITEGATION.1.RO < SITEGATION.1.NO
		SITEGATION.1.RO = SITEGATION.1
		SITEGATION.1.RO{
			XY				= 155, 22
			wrap          	= <tr><td>|</td></tr>
			backColor 		= #629A5D
			10              = TEXT
			10.text.field 	= title
			10.text.case 	= upper
			10.align      	= left
			#10.fontFile   	= fileadmin/template/fonts/arialf
			10.fontSize 	= 10
			10.fontColor  	= #FFFFFF
			10.niceText  	= 1
			10.offset 		= 10,14
			
			20 = IMAGE
			20.offset = 0,21
			20.file = GIFBUILDER
			20.file {
				XY = 155,1
				backColor = #FFFFFF
			}
		}
		SITEGATION.1.ACT < SITEGATION.1.RO
    		SITEGATION.1.ACT = SITEGATION.1
		SITEGATION.1.ACT{
			expAll 			= 1
			XY				= 155, 22
			wrap         	= <tr><td>|</td></tr>
			backColor 		= #004A15
			10              = TEXT
			10.text.field	= title
			10.text.case 	= upper
			10.align     	= left
			#10.fontFile  	= fileadmin/template/fonts/arialf
			10.fontSize 	= 10
			10.fontColor 	= #FFFFFF
			10.niceText  	= 1
			10.offset 		= 10,14
			
			20 = IMAGE
			20.offset = 0,21
			20.file = GIFBUILDER
			20.file {
				XY = 155,1
				backColor = #FFFFFF
			}
		}
		
		### Golfanlagen 2.Ebene
		SITEGATION.2	= GMENU
		SITEGATION.2.wrap = <table border="0" cellpadding="0" cellspacing="0"><tr><td><img src="fileadmin/templates/art/dummy.gif" height=2 width=1></td></tr>|<tr><td><img src="fileadmin/templates/art/dummy.gif" height=3 width=1></td></tr></table>
		SITEGATION.2.NO {
			XY	= 155, 18
			maxWidth = 155
			wrap          = <tr><td>|</td></tr>
			backColor = #9EC09B
			10              = TEXT
			10.text.field = title
			10.text.case = upper
			10.align      = left
			10.fontSize = 9
			10.fontColor  = #004A15
			10.niceText  = 1
			10.offset = 10,12
		}
		
		
		### Siteutilities
		SITEUTILITIES				= HMENU
		SITEUTILITIES.special		= directory
		SITEUTILITIES.special.value	= 11
		SITEUTILITIES.1				= GMENU
		SITEUTILITIES.1.NO {
			XY				= [10.w]+20, 20
			maxWidth 		= 155
			linkWrap 		= |&nbsp;|
			backColor 		= #FFFFFF
			10              = TEXT
			10.text.field 	= title
			10.text.case 	= upper
			10.align      	= left
			10.fontSize 	= 9
			10.fontColor  	= #1D4A27
			10.niceText  	= 1
			10.offset 		= 10,14
		}
		#BOTTOM.1.NO.ATagParams = class="sitemapLink"
	
		# Altes Überschriften Objekt wir geleert.
		# 10 Steht quasi für Überschrift und die 5 steht für Überschriftentyp (layout) 5
		lib.stdheader.10.5 >

		# Neues Überschrift-Objekt wird erstellt vom Typ Image
		lib.stdheader.10.5 = IMAGE

		# Alt - und Title Tags für das HTML-Image-Tag setzen 
		# und zwar auf den Wert der Überschrift
		lib.stdheader.10.5.alttext.field = header
		lib.stdheader.10.5.titletext.field = header
	
		# Optional... Dem IMG-Tag eine CSS Klasse verpassen
		#lib.stdheader.10.5.params = class="sidebar-title"	

		# Nun generieren wir eine Grafik mit dem GIFBUILDER
		################################################
		lib.stdheader.10.5.file = GIFBUILDER
		lib.stdheader.10.5.file {
	
		# Größe des zukünfitgen Bildes
		XY = 156,18
		
		# Nun wird das Objekt erstellt wo die Überschrift
		# die wir im Typo3 Backend angegeben haben drin steht
		# field.header greift auf die Überschrift des Datensatzes zu
		20 = TEXT
		20.text.field = header

		# Abstand des Textes zum Oberen Linken Bildrand
		# (Pixelwerte)
		20.offset = 14, 10

		# Pfad zur Schriftart
		#20.fontFile = fileadmin/ick/fonts/bitdust2f

		# SchriftartFarbe
		20.fontColor = #000000

		#Schriftgröße
		20.fontSize = 8

		# Alle Buchstaben werden großgeschrieben
		20.text.case = upper
		}
	}
}

Und hier die HTML Ausgabe des Teasers.
Code:
<div id="divRightBoxes">
<a id="c27"></a>
	<!--
		BEGIN: Content of extension "sfi_textteaser", plugin "tx_sfitextteaser_pi1"
	-->
	<div class="tx-sfitextteaser-pi1">
		<div class="tx-sfitextteaser-pi1-listrow">
			<table cellpadding="0" cellspacing="0" border="0">
				<tr>
					<td class="teaserBoxHeadlineText">
						<a href="index.php?id=6" target="_self">
							<header>HIER SOLL DIE GRAFIK HIN</header>
						</a>
					</td>
				</tr>
				<tr>
					<td class="teaserBoxText">
						sdfsdfgvsdfvdfvdfbdfbdfbdf
					</td>
				</tr>
			</table>
		</div>
	</div>
	
	<!-- END: Content of extension "sfi_textteaser", plugin "tx_sfitextteaser_pi1" -->
	<img src="clear.gif" width="1" height="10" border="0" class="spacer-gif" alt="" title="" /><br />
</div>
 
Mein Codeschnipsel nicht in der verschachtelung anwenden!
Ganz unten im TS-Template einfügen.
Was ich vergessen habe zu sagen ist das du denn auch den Überschriftentyp (layout) auf 5 setzten musst in deinen Datensatz
 
HI ja jetzt klappt das, Danke,

aber der Titel der in ein Bild gerendert wird ist die Überschirft des Moduls, nicht der einzelnen Kästchen. Kurz zur Erklärung ich hab eine Extension die als Plugin eingebunden wird. In der selben Seite erstelle ich neue Datensätze die die Inhalte der Teaserkästchen beinhalten.

Wie kann ich denn einen neuen Datensatz des Plugins ansprechen?

Gruss sVen
 
Also ich glaube ich habe noch nicht den Sinn und Zweck deiner Extension geschnallt.

Laut deiner ASCII Kunst sah es ja so aus:
________________________________
| Titel als Grafik |
|_______________________________|
| Text ganz viel Text |
| Text ganz viel Text |
|_______________________________|

Und so hast du das ja auch wenn du ein INhaltselemt vom typen Text einfügst und deine Überschrift einfügst und den type auf 5 setzt und dein ganz vielen Text einfügst
 
HI,

jo ich erklärs nochmal. No Problem. Brauch ja unbedingt Hilfe und bin echt glücklich wenn mir ein helfen kann.

Ich habe mit dem KickstartManager eine Extension geschrieben, die als Plugin auf der Startseite in der Spalte "Rechts" eingefügt wurde. Auf der Startseite habe ich neue Datensätze angelegt, die TeaserSite heissen. Das sind Datensätze welche das Modul anzeigt.

So passiert es wenn ich 3 TeaserSite Datensätze auf der Startseite angelegt und das Modul auf die Spalte Rechts eingebunden habe, dass auf der Startseite im FrontEnd Drei Kästchenangezeigt werden. Einer für jeden Datensatz. So ein Datensatz hat nur 3 Werte.
Wert1 Titel, Wert2 Text und Wert3 Bild. So und den Wert1, also den Titel will ich als GIF generieren lassen und mir abspeichern.

Was Du mir gegeben hast, war ein TypoScript, welches die Überschrift des Plugin generiert, nicht aber den Wert1 jeden Datensatzes.

Hoffe ich konnte es gut genug beschreiben.

Und nochmals vielen Dank
 

Neue Beiträge

Zurück