Blog-Kategorien

Hat Ihnen dieser Beitrag gefallen?

t3n Social News ist ein offenes News- und Link-Portal rund um die Themenbereiche Open Source, Web 2.0, Webentwicklung, Apple, Linux und TYPO3.

 

Facebook

Gefällt Ihnen diese Seite? Dann teilen Sie das doch gleich ihren Facebook-Freunden mit.

Twitter

Folgen Sie Jürg Langhard, dem Inhaber und Geschäftsführer von GreenBanana GmbH, bei Twitter.

03.06.2008 19:34 Alter: 2 yrs
Rubrik: Tutorial

TypoScript aus FCE (Flexible Content Element) auslagern


Auslagern von TypoScipt hat viele Vorteile. So lässt sich geschriebener Code einfacher mehrmals verwenden und lässt sich an zentraler Stelle mit einem Editor pflegen.

Um diesen Vorteil auch in einem FCE nutzen zu können braucht es nur ganz wenig Code.

Erstellt man ein neues Content-Element wird von TemplaVoilà automatisch die Datenstruktur (DS) angelegt. Diese könnte so aussehen:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<T3DataStructure>
	<meta type="array">
		<langDisable>1</langDisable>
	</meta>
	<ROOT type="array">
		<tx_templavoila type="array">
			<title>ROOT</title>
			<description>Select the HTML element on the page which you want to be the overall container element for the template.</description>
		</tx_templavoila>
		<type>array</type>
		<el type="array">
			<field_image type="array">
				<tx_templavoila type="array">
					<title>Images</title>
					<sample_data type="array">
						<numIndex index="0">Bilder</numIndex>
					</sample_data>
					<eType>image</eType>
					<TypoScript>
	10 = IMAGE
	10.file.import = uploads/tx_templavoila/
	10.file.import.current = 1
	10.file.import.listNum = 0
	10.file.maxW = 200
							</TypoScript>
				</tx_templavoila>
				<TCEforms type="array">
					<config type="array">
						<type>group</type>
						<internal_type>file</internal_type>
						<allowed>gif,png,jpg,jpeg</allowed>
						<max_size>1000</max_size>
						<uploadfolder>uploads/tx_templavoila</uploadfolder>
						<show_thumbs>1</show_thumbs>
						<size>1</size>
						<maxitems>1</maxitems>
						<minitems>0</minitems>
					</config>
					<label>Images</label>
				</TCEforms>
			</field_image>
		</el>
	</ROOT>
</T3DataStructure>

Mit disem Element kann man ein Bild hochladen, dass dann mittels GIFBUILDER verändert werden soll. Diese ganze TypoScipt-Anweisung werden wir nun auslagern.

Wichtig dafür nur folgender Bereich im XML-File:

<TypoScript>
	10 = IMAGE
	10.file.import = uploads/tx_templavoila/
	10.file.import.current = 1
	10.file.import.listNum = 0
	10.file.maxW = 200
</TypoScript>

Für diesen Bereich definieren wir eine in TemplaVoilà gängige "lib.xyz". Diese können wir dan ganz normal im Seiten-Template (meistens auf der Root-Seite) ansprechen.

Aber alles der Reihe nach.

Wir löschen also obigen Bereich, und ersetzen ihn mit folgendem:

<TypoScriptObjPath>lib.ce.ds.anhaenger2</TypoScriptObjPath>

Ist das DS so angepasst worden, kann sämtlicher TypoScript-Code der entsprechenden "lib.xyz" übergeben werden.

Dieser Code kann sowohl im Seiten-Template (meistens auf der Root-Seite) sein, oder an selbiger Stelle noch in ein File ausgelagert werden.

Wird der Code in ein Seiten-Template geschrieben, sieht das so aus:

temp.ce.ds.anhaenger = IMAGE
temp.ce.ds.anhaenger.file = GIFBUILDER
temp.ce.ds.anhaenger.file {
	XY = 224,400
	format = jpg
	quality = 100
	
	10 = IMAGE
	10 {
		file=fileadmin/templates/images/main/schild_vert.png	
		file.offset = 0,0			
	}
	
	20 = IMAGE
	20{	
		file.import = uploads/tx_templavoila/
		file.import.current = 1
		file.import.listNum = 0
		file.maxW = 155
		offset = 10,70
	}						
	40 = EFFECT
	40.value = rotate=12|sharpen=20
	
}
lib.ce.ds.anhaenger < temp.ce.ds.anhaenger

Oder was ich bevorzuge: Diesen TypoScipt vode in ein File schreiben, und in der Root-Seite lediglich referenzieren mittels

# CE
#------------------------------------------------------------------
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/ts/lib.ce.ds.anhaenger.ts">

Kommentare

einen Kommentar schreiben
Wenn Sie das Wort nicht lesen können, bitte hier klicken.
CAPTCHA Bild zum Spamschutz


Blog Netiquette

Dieses Blog ist eine offene Dialog-Plattform, auf der Mitarbeiter von GreenBanana Beiträge veröffentlichen.

Umgangston im Blog vom GreenBanana

  • Behandeln Sie andere hier im Blog immer so, wie Sie selbst behandelt werden möchten.
  • Jeder hat eine eigene Meinung und das Recht seine Meinung hier kundzutun. Sachliche Diskussionen, auch eine gesunde Streitkultur ist bei kritischen Themen wünschenswert. «Hart, aber fair», lautet die Devise hier im Blog.
  • In diesem Blog haben persönliche Angriffe, übertriebener Sarkasmus, Beleidigungen oder Beschimpfungen nichts zu suchen. 
  • Die Blog-Kommentarfunktion soll somit eine sachliche Diskussion ermöglichen. Um dies zu gewährleisten, behalten wir uns auch vor, Kommentare zu löschen, die einer Diskussion nicht dienlich sind und die sich nicht auf die Beiträge beziehen. Es besteht kein Anspruch auf Veröffentlichung.

Wir löschen bzw. sperren Kommentare bei:

  • Aufforderungen zu Gewalt gegen Personen, Institutionen oder Unternehmen
  • Pornografie
  • Missbrauch als Werbefläche für Webseiten oder Dienste
  • Rassismus und Hasspropaganda
  • Beleidigungen, Verletzungen, persönliche Angriffe oder Entwürdigungen von Personen oder Firmen in jeglicher Form.
  • Aufruf zu Demonstrationen und Kundgebungen jeglicher politischer Richtung
  • Kommentare, die sich nicht auf den kommentierten Beitrag beziehen

Ausschlussklausel für Haftung
Die Kommentare zu unseren Beiträgen spiegeln allein die Meinung einzelner Leser wider. Für die Richtigkeit und Vollständigkeit der Inhalte übernimmt GreenBanana keinerlei Gewähr.