<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>admirableadmin &#187; TYPO3</title>
	<atom:link href="http://admirableadmin.de/tag/typo3/feed" rel="self" type="application/rss+xml" />
	<link>http://admirableadmin.de</link>
	<description>&#34;Suchst du noch oder lebst du schon?&#34;</description>
	<lastBuildDate>Sun, 20 May 2012 14:31:19 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>TYPO3: HTTP-Requests reduzieren</title>
		<link>http://admirableadmin.de/174/typo3-http-requests-reduzieren</link>
		<comments>http://admirableadmin.de/174/typo3-http-requests-reduzieren#comments</comments>
		<pubDate>Fri, 03 Dec 2010 19:02:26 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=174</guid>
		<description><![CDATA[In der Standardinstallation von TYPO3 werden viele Bilder, CSS und JavaScript-Dateien einzeln eingebunden, was Einfluss auf die Ladezeit der Webseite hat. Die Anfragen an den Webserver sollten deswegen analysiert und minimiert werden. Vor einiger Zeit hat Google bekanntgegeben, dass auch die  Ladegeschwindigkeit als Rankingfaktor mit einbezogen wird. Aber auch aus Sicht des Seitenbesuchers ist es [...]]]></description>
			<content:encoded><![CDATA[<p>In der Standardinstallation von TYPO3 werden viele Bilder, CSS und JavaScript-Dateien einzeln eingebunden, was Einfluss auf die Ladezeit der Webseite hat. Die Anfragen an den Webserver sollten deswegen analysiert und minimiert werden.</p>
<p><span id="more-174"></span>Vor einiger Zeit hat Google bekanntgegeben, dass auch die  <a href="http://www.sistrix.de/news/941-google-macht-die-ladegeschwindigkeit-zum-rankingfaktor.html" target="_blank">Ladegeschwindigkeit als Rankingfaktor</a> mit einbezogen wird. Aber auch aus Sicht des Seitenbesuchers ist es sinnvoll sich mit diesem Thema zu beschäftigen. Für jedes Bild und jede CSS/JS-Datei muss der Browser eine neue Verbindung zum Server öffnen. Bei Firefox sind dies maximal <a href="http://kb.mozillazine.org/Network.http.max-connections-per-server" target="_blank">15 gleichzeitige Verbindungen pro Server</a> die parallel abgearbeitet werden &#8211; darüber wird der Seitenaufbau minimal verzögert. Ein Besucher könnte vielleicht frustriert die Seite wieder verlassen, wenn es ihm zu lange dauert mit dem Seitenaufbau. Darum sollten Entwickler dies gleich bei der Erstellung der Seite beachten.</p>
<p><strong>Ergebnisse überwachen</strong></p>
<p>Um die aktuelle Ladegeschwindigkeit zu analysieren ist das Firefox-Plugin <a href="https://addons.mozilla.org/de/firefox/addon/1843/" target="_blank">Firebug</a> sehr nützlich.</p>
<p>Plugin installieren -&gt; F12 drücken -&gt; Reiter Netzwerk auswählen -&gt; Seite neu laden.</p>
<p>Eine Bewertung der Seite kann mit den Erweiterungen <a href="https://addons.mozilla.org/en-US/firefox/addon/5369/" target="_blank">YSlow</a> von Yahoo und <a href="https://code.google.com/intl/de-DE/speed/page-speed/download.html" target="_blank">Page Speed</a> von Google erfolgen. Bei YSlow kann aus drei Profilen gewählt werden um die Webseite zu bewerten, dabei auch ein Profil für kleine Seiten &#8211; die Note A steht für das beste Ergebnis. Bei Page Speed wird die Seite anhand von 100 erreichbaren Punkten bewertet.</p>
<p><strong>Dateigröße reduzieren</strong></p>
<p>Durch die Verwendung von <a href="http://www.guistuff.com/css/css_imagetech1.html" target="_blank">Image Arrays</a> / <a href="http://krijnhoetmer.nl/stuff/css/image-matrix/" target="_blank">Image Matrix</a> lassen sich viele Bilder in einer Datei zusammenfassen, was z.B. für Navigationsleisten und Symbole Sinn macht. Was sich an der Dateigröße noch optimieren lässt, ohne das die Qualität spürbar abnimmt, kann mit jedem guten Grafikprogramm getestet werden oder mit <a href="http://www.punypng.com/" target="_blank">PunyPNG</a>.</p>
<p><strong>TYPO3 Scriptmerger</strong></p>
<p>Bei TYPO3 bindet jede Extension gerne ihre eigenen CSS und JavaScript-Dateien ein. Oder der Entwickler möchte nicht auf getrennte Dateien je nach Einsatzzweck und Extension verzichten? Hier hilft es die Erweiterung <a href="http://typo3.org/extensions/repository/view/scriptmerger/current/" target="_blank">Scriptmerger</a> zu installieren, welche die Dateien zusammenfasst und mit GZip komprimiert. Damit das Zusammenfügen der Dateien funktioniert, wird die Erweiterung über ein Statisches Templates eingebunden. So können die Ergebnisse auch an einer Unterseite probiert werden ohne den Auftritt insgesamt zu gefährden. Der Media-Typ wird beachtet und möchte man wirklich nur eine einzige CSS-Datei erhalten wird dieser überall auf &#8220;all&#8221; gesetzt:</p>
<p class="code">page.includeCSS {<br />
file1.media = all<br />
file1 = fileadmin/main.css<br />
file2.media = all<br />
file2 = fileadmin/tt_news.css<br />
}</p>
<p>Die originalen CSS-Dateien bleiben erhalten und können ständig angepasst  werden. Erst beim Löschen des Caches (Blitz-Symbol) werden die Dateien zusammengefasst, die dann unter typo3temp/scriptmerger/compressed/ abgespeichert werden und automatisch verwendet werden.</p>
<p><strong>Ergebnisse Testen</strong></p>
<p>Wie oben beschrieben, lässt sich über Firebug sowie die Plugins YSlow und Page Speed der Erfolg der Änderungen ablesen. Zum Schluss nicht vergessen die Seite auch in verschiedenen Browsern zu testen, dies kann mit <a href="http://browsershots.org/" target="_blank">BrowserShots</a> und etwas Geduld (Auftrag alle 30 Minuten erneuern) erfolgen.</p>
<p class="favorite"><a href="http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html" target="_blank">Google: Using site speed in web search ranking</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/174/typo3-http-requests-reduzieren/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3: lesbare Bilder mit sr_freecap</title>
		<link>http://admirableadmin.de/165/typo3-lesbare-bilder-mit-sr_freecap</link>
		<comments>http://admirableadmin.de/165/typo3-lesbare-bilder-mit-sr_freecap#comments</comments>
		<pubDate>Mon, 07 Jun 2010 18:20:00 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=165</guid>
		<description><![CDATA[In der Standardinstallation von sr_freecap ist die Ausgabe der CAPTCHA-Bilder schwer lesbar und teilweise auch am Bildrand zu früh abgeschnitten, so dass Buchstaben fehlen. Nach der Installation von sr_freecap, kann dieses sofort in powermail oder nach Anpassung der HTML-Templates (Beschreibung im Handbuch) bei sr_feuser_register verwendet werden. Zuerst lässt sich mit der folgenden Zeile das sr_freecap [...]]]></description>
			<content:encoded><![CDATA[<p>In der Standardinstallation von <em>sr_freecap</em> ist die Ausgabe der CAPTCHA-Bilder schwer lesbar und teilweise auch am Bildrand zu früh abgeschnitten, so dass Buchstaben fehlen.</p>
<p><span id="more-165"></span></p>
<p>Nach der Installation von <em>sr_freecap</em>, kann dieses sofort in <em>powermail</em> oder nach Anpassung der HTML-Templates (Beschreibung im Handbuch) bei <em>sr_feuser_register</em> verwendet werden.</p>
<p>Zuerst lässt sich mit der folgenden Zeile das <em>sr_freecap</em> eigene CSS via <em>TypoScript Setup</em> deaktivieren:</p>
<p class="code">plugin.tx_srfreecap_pi2._CSS_DEFAULT_STYLE &gt;</p>
<p>Um eine lesbare Schrift zu bekommen, wird die Windows True-Type Schriftart Arial Unicode MS in das benötigte gdf-Format mit Hilfe dem Tool <a href="http://www.google.de/#hl=de&amp;source=hp&amp;q=wftopf.exe" target="_blank">wftopf.exe</a> umgewandelt. Als Höhe (Height) wird beispielsweise 56 und als Breite (Char Width) 24 verwendet. Die erzeugte Datei lautet so <em>Arial56x24.gdf</em> und wird in dem Ordner <em>uploads/tx_srfreecap/</em> abgelegt.</p>
<p>Im <em>TypoScript Konstanten</em> Feld kann nun die Konfiguration wie folgt gesetzt werden:</p>
<p class="code">plugin.tx_srfreecap.imageHeight = 90<br />
plugin.tx_srfreecap.useWordsList = 0<br />
plugin.tx_srfreecap.generateNumbers = 0<br />
plugin.tx_srfreecap.textColor = 0<br />
plugin.tx_srfreecap.mergeWithBackground = 0<br />
plugin.tx_srfreecap.backgroundBlur = 1<br />
plugin.tx_srfreecap.backgroundMorph = 0<br />
plugin.tx_srfreecap.backgroundType = Transparent<br />
plugin.tx_srfreecap.maxWordLength = 6<br />
plugin.tx_srfreecap.morphFactor = .001<br />
plugin.tx_srfreecap.fontFiles = Arial56x24.gdf</p>
<p>Das Ergebnis ist ein lesbares CAPTCHA-Bild.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/165/typo3-lesbare-bilder-mit-sr_freecap/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TYPO3: TypoScript Sammlung #2</title>
		<link>http://admirableadmin.de/164/typo3-typoscript-sammlung-2</link>
		<comments>http://admirableadmin.de/164/typo3-typoscript-sammlung-2#comments</comments>
		<pubDate>Fri, 04 Jun 2010 15:26:35 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=164</guid>
		<description><![CDATA[Hier eine kurze Fortsetzung der TypoScript Sammlung von 2008 mit weiteren gesammelten Code-Schnippeln. Beginn des Haupt-TypoScript-Templates -&#62; Setup page = PAGE page.typeNum = 0 Target für Links und Such-Formular setzen -&#62; Constants PAGE_TARGET = _top content.pageFrameObj = _top alle externen Links mit &#8220;nofollow&#8221; (Wikipedia) versehen -&#62; Constants styles.content.links.target = _self styles.content.links.extTarget = _blank&#8221; rel=&#8221;nofollow Passwort [...]]]></description>
			<content:encoded><![CDATA[<p>Hier eine kurze Fortsetzung der <a href="/64/typo3-typoscript-sammlung" target="_self">TypoScript Sammlung</a> von 2008 mit weiteren gesammelten Code-Schnippeln.</p>
<p><span id="more-164"></span><br />
Beginn des Haupt-TypoScript-Templates -&gt; Setup</p>
<p class="code">page = PAGE<br />
page.typeNum = 0</p>
<p>Target für Links und Such-Formular setzen -&gt; Constants</p>
<p class="code">PAGE_TARGET = _top<br />
content.pageFrameObj = _top</p>
<p>alle externen Links mit &#8220;nofollow&#8221; (<a href="http://de.wikipedia.org/wiki/Nofollow" target="_blank">Wikipedia</a>) versehen -&gt; Constants</p>
<p class="code">styles.content.links.target  = _self<br />
styles.content.links.extTarget  = _blank&#8221; rel=&#8221;nofollow</p>
<p>Passwort vergessen-Link von felogin mit &#8220;nofollow&#8221; wegen <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=de&amp;answer=66359" target="_blank">Duplicate content</a> -&gt; Setup</p>
<p class="code">plugin.tx_felogin_pi1.linkConfig.target = _top&#8221; rel=&#8221;nofollow</p>
<p>ID des Systemordners der FE-Benutzer -&gt; Constants</p>
<p class="code">styles.content.loginform.pid = 123</p>
<p>powermail &#8211; Felder nach Abschicken leeren -&gt; Constants</p>
<p class="code">plugin.powermail.clear.session = 1</p>
<p>Favicon einbinden -&gt; Setup</p>
<p class="code">page.headerData.12 = TEXT<br />
page.headerData.12.value = &lt;LINK href=&#8221;/favicon.ico&#8221; type=image/x-icon rel=&#8221;shortcut icon&#8221;&gt;</p>
<p>Indexed Search Engine mit genauer Such-Treffer-Zahl -&gt; Setup</p>
<p class="code">page.config.index_enable = 1<br />
plugin.tx_indexedsearch.search.exactCount = 1<br />
plugin.tx_indexedsearch.show.rules = 0<br />
plugin.tx_indexedsearch._DEFAULT_PI_VARS.sections= rl1_123</p>
<p>Einbinden eigener Javascript von jQuery_lightbox verhindern -&gt; Setup</p>
<p class="code">page.1034 &gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/164/typo3-typoscript-sammlung-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3: Benutzergruppen ändern mit Powermail</title>
		<link>http://admirableadmin.de/163/typo3-benutzergruppen-andern-mit-powermail</link>
		<comments>http://admirableadmin.de/163/typo3-benutzergruppen-andern-mit-powermail#comments</comments>
		<pubDate>Tue, 27 Apr 2010 17:56:35 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=163</guid>
		<description><![CDATA[Powermail kann nicht nur Formulare versenden, sondern lässt sich auch prima dazu verwenden Inhalte in bestehende Tabellen zu schreiben. Der Benutzer soll einem Haftungsausschluss zustimmen und so weitere Inhalte auf der Seite sehen. Dies ist über die Zugriff-Einstellungen möglich, aber wie wird der Benutzer in die neue Gruppe eingetragen? Wenn sich ein Benutzer selber einer [...]]]></description>
			<content:encoded><![CDATA[<p>Powermail kann nicht nur Formulare versenden, sondern lässt sich auch   prima dazu verwenden Inhalte in bestehende Tabellen zu schreiben.</p>
<p><span id="more-163"></span> Der Benutzer soll einem Haftungsausschluss zustimmen und so weitere Inhalte auf der Seite sehen. Dies ist über die Zugriff-Einstellungen möglich, aber wie wird der Benutzer in die neue Gruppe eingetragen? Wenn sich ein Benutzer selber einer weiteren Gruppe zuordnen soll ist  dazu keine separate Extension nötig &#8211; dies kann problemlos mit Powermail  erledigt werden.</p>
<p>Powermail kann von Haus aus Daten aus der fe_users Tabelle auslesen und damit Formularfelder vorbelegen. Damit später nicht der falsche Benutzerdatensatz geändert wird, muss unter der Extension-Konfiguration im Erweiterungs-Manager beim Feld &#8220;feusersPrefill&#8221; zusätzlich &#8220;uid&#8221; mit angegeben werden.</p>
<p>Im Formular wird ein neues Feld mit dem Feldtyp “Versteckt” angelegt. Den Wert  bei “Name für Templates” z.b. ###UID123### muss man sich kurz merken und bei &#8220;Dieses  Feld mit Daten aus der fe_user füllen&#8221; wird &#8220;uid&#8221; ausgewählt.</p>
<p>Nun kann man für die eine Haftungsausschluss-Seite ein Template anlegen und dort spezielle Werte definieren welche nur für diese Seite gelten sollen, aber andere Powermail-Formulare auf anderen Seiten nicht beeinflussen dürfen. Beispielsweise werden somit als Konstanten definiert:</p>
<p class="code">plugin.powermail.allow.email2receiver = 0<br />
plugin.powermail.allow.email2sender = 0<br />
plugin.powermail.allow.dblog = 0<br />
plugin.powermail.PID.dblog = 0<br />
plugin.powermail.clear.session = 1</p>
<p>und im Setup:</p>
<p class="code">plugin.tx_powermail_pi1 {<br />
dbEntry {<br />
fe_users._enable = TEXT<br />
fe_users._enable.value = 1<br />
fe_users._ifUnique.uid = update<br />
# table  &#8220;fe_user&#8221; with field &#8220;uid&#8221; is the value from powermail (tt_content uid 345) field uid123 (###uid123###)<br />
fe_users.uid = TEXT<br />
fe_users.uid.data = TSFE:fe_user|sesData|powermail_345|uid123<br />
fe_users.usergroup = TEXT<br />
fe_users.usergroup.value = 2,3<br />
}<br />
}</p>
<p>Erklärung: Der Benutzer (noch in usergroup 2) schickt das Formular ab und wird zusätzlich der usergroup 3 zugeordnet. Das Element welches das Powermail-Plugin enthält hat die uid 345 und das Formularfeld mit der vorausgefüllten uid des Benutzers hat die uid 123.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/163/typo3-benutzergruppen-andern-mit-powermail/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TYPO3: Absenderseite von Powermail</title>
		<link>http://admirableadmin.de/162/typo3-absenderseite-von-powermail</link>
		<comments>http://admirableadmin.de/162/typo3-absenderseite-von-powermail#comments</comments>
		<pubDate>Tue, 27 Apr 2010 17:44:21 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=162</guid>
		<description><![CDATA[Nutzt man Powermail auf jeder Seite, so möchte man vermutlich wissen von welcher Seite das Formular verschickt wurde. Ziel ist es also in der E-Mail an den Empfänger schreiben zu können auf welcher Seite ein Besucher das Formular ausgefüllt hat &#8211; um beispielsweise daraus zu schließen für welches Produkt Interesse besteht. Dazu wird ein neues [...]]]></description>
			<content:encoded><![CDATA[<p>Nutzt man Powermail auf jeder Seite, so möchte man vermutlich wissen von welcher Seite das Formular verschickt wurde.</p>
<p><span id="more-162"></span>Ziel ist es also in der E-Mail an den Empfänger schreiben zu können auf welcher Seite ein Besucher das Formular ausgefüllt hat &#8211; um beispielsweise daraus zu schließen für welches Produkt Interesse besteht.</p>
<p>Dazu wird ein neues Feld mit dem Feldtyp &#8220;Versteckt&#8221; angelegt. Den Wert bei &#8220;Name für Templates&#8221; z.b. ###UID123### kann so schon mal im Empfänger-Mail-Text verwendet werden, falls hier nicht ###POWERMAIL_ALL### verwendet werden soll.</p>
<p>Per Typoscript-Setup wird nun das neue Feld befüllt mit der URL und dem Pfad der aktuellen Seite:</p>
<p class="code">plugin.tx_powermail_pi1 {<br />
prefill {<br />
uid123 = COA<br />
uid123 {<br />
10 = TEXT<br />
10.data = getIndpEnv:TYPO3_SITE_URL<br />
20 = TEXT<br />
20.typolink.parameter.data = TSFE:id<br />
20.typolink.returnLast = url<br />
}<br />
}<br />
}</p>
<p>Das Ganze funktioniert auch wunderbar wenn die URL mit RealURL &#8220;schön&#8221; ausgeschrieben wird.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/162/typo3-absenderseite-von-powermail/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TYPO3: Zielseite bei felogin festlegen</title>
		<link>http://admirableadmin.de/153/typo3-zielseite-bei-felogin-festlegen</link>
		<comments>http://admirableadmin.de/153/typo3-zielseite-bei-felogin-festlegen#comments</comments>
		<pubDate>Wed, 16 Sep 2009 16:42:56 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=153</guid>
		<description><![CDATA[In den neusten TYPO3-Versionen wurde die Anmeldemaske &#8220;newloginbox&#8221; als feste Systemerweiterung &#8220;felogin&#8221; integriert. Leider ist das Handbuch nicht ausführlich genug. Erst nach einem Blick in den Programmier-Code wird klar, dass relativ einfach eine Zielseite definiert werden kann, auf welche der Benutzer nach dem Login geschickt wird. Denn wenn man standardmäßig felogin direkt in einen Marker [...]]]></description>
			<content:encoded><![CDATA[<p>In den neusten TYPO3-Versionen wurde die Anmeldemaske &#8220;newloginbox&#8221; als  feste Systemerweiterung &#8220;felogin&#8221; integriert. Leider ist das Handbuch nicht ausführlich genug.</p>
<p><span id="more-153"></span>Erst nach einem Blick in den Programmier-Code wird klar, dass relativ einfach eine Zielseite definiert werden kann, auf welche der Benutzer nach dem Login geschickt wird. Denn wenn man standardmäßig felogin direkt in einen Marker schreibt  wird der Benutzer nach erfolgreichem Login auf der aktuellen Seite eingeloggt, d.h. die Seite wird einfach neu geladen.</p>
<p class="code">marks.LOGINBOX &lt; plugin.tx_felogin_pi1</p>
<p>Per TypoScript lässt sich nun neben der ID des System-Ordners der Mitglieder, auch ein eigenes HTML-Template, sowie die Zielseite per ID definieren:</p>
<p class="code">plugin.tx_felogin_pi1 {<br />
storagePid = 12<br />
templateFile = fileadmin/felogin.html<br />
redirectMode = login<br />
redirectPageLogin = 123<br />
}</p>
<p>Auch hier lassen sich wie gewohnt die Übersetzungen direkt überschreiben:
</p>
<p class="code">plugin.tx_felogin_pi1._LOCAL_LANG {<br />
default {<br />
ll_welcome_header = my.example.com<br />
}<br />
de {<br />
ll_welcome_header = my.example.com<br />
}<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/153/typo3-zielseite-bei-felogin-festlegen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3: Rich-Text-Editor konfigurieren</title>
		<link>http://admirableadmin.de/147/typo3-rich-text-editor-konfigurieren</link>
		<comments>http://admirableadmin.de/147/typo3-rich-text-editor-konfigurieren#comments</comments>
		<pubDate>Sun, 31 May 2009 16:02:44 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=147</guid>
		<description><![CDATA[Um das Bearbeiten von Inhalt für den Redakteur zu vereinfachen gibt es in TYPO3 verschiedene Möglichkeiten. Arbeiten im Frontend Diesen Tipp habe ich schon in der TypoScript Sammlung aufgelistet. Diese Template Konfiguration im Setup-Feld sorgt beispielsweise dafür, dass ein im Backend eingeloggter Redakteur im Frontend bei jedem Content-Element ein Stiftsymbol anklicken kann um den Inhalt [...]]]></description>
			<content:encoded><![CDATA[<p>Um das Bearbeiten von Inhalt für den Redakteur zu vereinfachen gibt es in TYPO3 verschiedene Möglichkeiten.</p>
<p><span id="more-147"></span><strong>Arbeiten im Frontend</strong></p>
<p>Diesen Tipp habe ich schon in der <a title="Permanent Link to TYPO3: TypoScript Sammlung" rel="bookmark" href="/64/">TypoScript Sammlung</a> aufgelistet. Diese Template Konfiguration im Setup-Feld sorgt beispielsweise dafür, dass ein im Backend eingeloggter Redakteur im Frontend bei jedem Content-Element ein Stiftsymbol anklicken kann um den Inhalt direkt zu bearbeiten:</p>
<p class="code">config.admPanel = 1</p>
<p><strong>Backend-Benutzergruppe</strong></p>
<p>Was genau im Frontend der jeweilige Benutzer zusätzlich sieht kann über das TSconfig-Feld der Backend-Benutzergruppe gesteuert werden:</p>
<p class="code">admPanel {<br />
# direktes editieren ermöglichen<br />
enable.edit = 1<br />
# Bleistift-Symbole immer anzeigen<br />
module.edit.forceDisplayFieldIcons = 1<br />
# weitere Symbole nicht anzeigen<br />
module.edit.forceDisplayIcons = 0<br />
# Admin-Panel nicht anzeigen<br />
hide = 1<br />
}</p>
<p>Damit nicht jeder Redakteur zusätzliches Seitenmaterial an verschiedenen Stellen im System verteilt, sollte der Upload von Dateien aus dem Content-Bereich verboten werden. Dann wird zwangsweise alles gemeinsam in der Dateiverwaltung abgelegt:
</p>
<p class="code">setup.override.edit_docModuleUpload = 0</p>
<p>Manchmal ist es nötig dem Redakteur die Möglichkeit zu geben den Gesamt- und Seiten-Cache zu löschen, was sonst nur dem Administrator möglich wäre:</p>
<p class="code">options.clearCache {<br />
pages = 1<br />
all = 1<br />
}</p>
<p><strong>Layout Buttons ein-/ und ausblenden</strong></p>
<p>Über das TSconfig-Feld des Root-Templates lässt sich steuern welche Buttons im Rich-Text-Editor angezeigt werden sollen:
</p>
<p class="code"># Aktiviere RTE für alle User<br />
setup.default.edit_RTE = 1<br />
# RTE Standardansicht konfigurieren<br />
RTE.default {<br />
# blendet Statusbar (Pfad) aus<br />
showStatusBar =  0<br />
# Buttons die gezeigt/versteckt werden<br />
hideButtons = blockstylelabel, blockstyle, textstylelabel, textstyle, textindicator<br />
hidePStyleItems = h1, h4, h5, h6, blockquote, div, pre, address<br />
}</p>
<p><strong>Absatzformatierungen definieren</strong></p>
<p>Es ist natürlich problemlos möglich weitere selbst definierte Formatierungen für die Absätze (&lt;p&gt;-Tag) zu verwenden. Um zwei verschiedene Link-Navigations-Formatierungen zu ermöglichen wird das TSconfig-Feld des Root-Templates entsprechend erweitert. Die hier angegebene CSS-Datei (rte.css) ist lediglich zur Vorschau im Backend für den Redakteur gedacht, die neuen Klassen kommen natürlich in die globale CSS-Datei:
</p>
<p class="code">RTE.default.useCSS = 1<br />
RTE.default.contentCSS = fileadmin/rte.css<br />
RTE.default.showTagFreeClasses = 1<br />
RTE.classes.link-gelb {<br />
name = gelber Link<br />
value = color: #000000; background-color: #D0C9B7;<br />
}<br />
RTE.classes.link-blau {<br />
name = blauer Link<br />
value = color: #000000; background-color: #B4C7CE;<br />
}<br />
RTE.default.classesParagraph = link-gelb, link-blau<br />
RTE.default.proc.allowedClasses := addToList(link-gelb, link-blau)<br />
RTE.default.classesParagraph := removeFromList(csc-frame-frame1, csc-frame-frame2)<br />
RTE.default.proc.allowedClasses := removeFromList(csc-frame-frame1, csc-frame-frame2)<br />
RTE.classesAnchor.internalLink.class &gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/147/typo3-rich-text-editor-konfigurieren/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3: RealURL mit mehreren Domains</title>
		<link>http://admirableadmin.de/144/typo3-realurl-mit-mehreren-domains</link>
		<comments>http://admirableadmin.de/144/typo3-realurl-mit-mehreren-domains#comments</comments>
		<pubDate>Mon, 25 May 2009 18:01:20 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=144</guid>
		<description><![CDATA[Mit der Ereiterung RealURL lassen sich die Pfade schön anzeigen, was bereits unter RealURL mehrsprachig nutzen beschrieben wurde. Bei mehren Domains gibt es jedoch etwas zu beachten. Bei der Umsetzung von mehrsprachigen Websites mit TYPO3 besteht die Wahl zwischen zwei verschiedenen Konzepten: Mehrere Seitenbäume (Two-Tree): Jedem Seitenbaum wird ein Domainrecord zugewiesen und mittels einer TypoScript-Condition [...]]]></description>
			<content:encoded><![CDATA[<p>Mit der Ereiterung RealURL lassen sich die Pfade schön anzeigen, was bereits unter<br />
<a title="Permanent Link to TYPO3: RealURL mehrsprachig nutzen" rel="bookmark" href="/72/">RealURL mehrsprachig nutzen</a> beschrieben wurde. Bei mehren Domains gibt es jedoch etwas zu beachten.</p>
<p><span id="more-144"></span></p>
<p>Bei der Umsetzung von mehrsprachigen Websites mit TYPO3 besteht die Wahl zwischen zwei verschiedenen Konzepten:</p>
<ol>
<li><strong>Mehrere Seitenbäume (Two-Tree):</strong><br />
Jedem Seitenbaum wird ein Domainrecord zugewiesen und mittels einer TypoScript-Condition kann der Host abgefragt und die gewünschte Sprache zugewiesen werden.</li>
<li><strong>Ein Seitenbaum für alle Sprachen (one-tree-fits-all):</strong><br />
Die gewünschte Sprache wird über einen Get-Parameter (oft “L”) abgefragt, welcher bei suchmaschinenfreundlichen URLs dennoch immer Bestandteil der URL ist.</li>
</ol>
<p>Die beiden Methoden sind auch problemlos gemischt zu verwenden.</p>
<p>Falls man die <strong>erste Methode</strong> wählt muss man in der jeweiligen Startseite (Root-Verzeichnis) im TYPO3-Backend über die Listenansicht einen &#8220;Domäne&#8221; Eintrag hinzufügen. Dabei nur die URL eingeben und auf das übliche &#8220;http://&#8221; verzichten.</p>
<p>In der typo3conf.php muss man nun nicht für jede Domain eine Konfiguration aufbauen, sondern kann kann den gesamten &#8220;_DEFAULT&#8221;-Block kopieren:</p>
<p class="code">$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.domain.com']=<br />
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];</p>
<p>und nur die unterschiedlichen Stellen werden verändert:
</p>
<p class="code">$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.domain.com']<br />
['pagePath']['rootpage_id'] = 123;</p>
<p>Um bei Bedarf einzelne Felder entfernen (Zeilenumbruch nicht übernehmen):
</p>
<p class="code">unset($TYPO3_CONF_VARS['EXTCONF']['realurl']<br />
['www.domain.com']['preVars'][0]['noMatch']);</p>
<p>Für die <strong>zweite Methode</strong> ist wichtig, dass für die unterschiedlichen Sprachen auch die Sprach ID gewechselt wird im TypoScript und auch ggf. die Einstellungen für <a title="Permanent Link to TYPO3: pdf_generator mit mehrsprachigen Seiten" rel="bookmark" href="/70/">pdf_generator mit mehrsprachigen Seiten</a> berücksichtigt werden:
</p>
<p class="code">config.linkVars = L<br />
page.config {<br />
language = en<br />
locale_all = en_EN<br />
htmlTag_langKey = en<br />
}<br />
pdf_generator.config {<br />
language = en<br />
locale_all = en_EN<br />
htmlTag_langKey = en<br />
}<br />
[globalVar = GP:L=1]<br />
page.config {<br />
sys_language_uid = 1<br />
language = de<br />
locale_all = de_DE<br />
htmlTag_langKey = de-DE<br />
}<br />
pdf_generator.config {<br />
sys_language_uid = 1<br />
language = de<br />
locale_all = de_DE<br />
htmlTag_langKey = de-DE<br />
}<br />
[global]</p>
<p>Der Sprachwechsel kann wie unter <a title="Permanent Link to TYPO3: RealURL mehrsprachig nutzen" rel="bookmark" href="/72/">RealURL mehrsprachig nutzen</a> beschrieben &#8220;im context&#8221; geschehen, oder wenn unterschiedliche Domains für jede Sprache verwendet werden direkt über die Domain selber über:
</p>
<p class="code">// Sprachen über Domain setzen:<br />
switch(t3lib_div::getIndpEnv(&#8216;HTTP_HOST&#8217;)){<br />
case &#8216;www.domain.de&#8217;;<br />
$_GET['L'] = 0;<br />
break;<br />
case &#8216;www.domain.com&#8217;;<br />
$_GET['L'] = 1;<br />
break;<br />
}</p>
<p>Der Wechsel von einer zur anderen Sprache ist beispielsweise per <a title="Permanent Link to TYPO3: Sprachwechsler über Flaggen" rel="bookmark" href="/141/">Sprachwechsler über Flaggen</a> möglich, oder bei verschiedenen Domains direkt über diese.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/144/typo3-realurl-mit-mehreren-domains/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3: tt_news Überschrift im Titel</title>
		<link>http://admirableadmin.de/143/typo3-tt_news-uberschrift-im-titel</link>
		<comments>http://admirableadmin.de/143/typo3-tt_news-uberschrift-im-titel#comments</comments>
		<pubDate>Mon, 11 May 2009 16:49:29 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=143</guid>
		<description><![CDATA[Wenn ein Eintrag von tt_news im Browser geöffnet wird, so wird meist der Seitentitel, z.B. &#8220;Detailansicht&#8221; im Browser ausgegeben. Dieses Veralten ist nicht nur unschön für Bookmarks, sondern auch das &#8220;Google Webmaster Tool&#8221; bemängelt doppelte sog. Title-Tags. Wie man überhaupt den Seiten-Titel ausgibt, ist unter Typoscript Sammlung beschrieben. Dieses TypoScript wird nun wir folgt erweitert [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn ein Eintrag von tt_news im Browser geöffnet wird, so wird meist der Seitentitel, z.B. &#8220;Detailansicht&#8221; im Browser ausgegeben.</p>
<p><span id="more-143"></span>Dieses Veralten ist nicht nur unschön für Bookmarks, sondern auch das &#8220;Google Webmaster Tool&#8221; bemängelt doppelte sog. Title-Tags.</p>
<p>Wie man überhaupt den Seiten-Titel ausgibt, ist unter <a title="Permanent Link to TYPO3: Typoscript Sammlung" rel="bookmark" href="/64/">Typoscript Sammlung</a> beschrieben. Dieses TypoScript wird nun wir folgt erweitert um den Titel einer News im Header des Browsers auszugeben:</p>
<p class="code">[globalVar = GP:tx_ttnews|tt_news &gt; 0]<br />
page.headerData.10 &gt;<br />
page.headerData.10 = RECORDS<br />
page.headerData.10 {<br />
stdWrap.wrap =&lt;title&gt;meine Seite -&amp;nbsp; | &lt;/title&gt;<br />
tables = tt_news<br />
source.data = GPvar:tx_ttnews|tt_news<br />
conf {<br />
tt_news = TEXT<br />
tt_news.field = title<br />
}<br />
}<br />
[global]</p>
<p>Das Ganze funktioniert natürlich auch für die Überblick-Seiten welche die Kategorien anzeigen. Hier wird dann entsprechend auf die Kategorie-Tabelle zugegriffen:</p>
<p class="code">[globalVar = GP:tx_ttnews|cat &gt; 0]<br />
page.headerData.10 &gt;<br />
page.headerData.10 = RECORDS<br />
page.headerData.10 {<br />
stdWrap.wrap =&lt;title&gt;meine Seite -&amp;nbsp; | &lt;/title&gt;<br />
tables = tt_news_cat<br />
source.data = GPvar:tx_ttnews|cat<br />
conf {<br />
tt_news_cat = TEXT<br />
tt_news_cat.field = title<br />
}<br />
}<br />
[global]</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/143/typo3-tt_news-uberschrift-im-titel/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TYPO3: Layout Umschalter</title>
		<link>http://admirableadmin.de/142/typo3-layout-umschalter</link>
		<comments>http://admirableadmin.de/142/typo3-layout-umschalter#comments</comments>
		<pubDate>Tue, 28 Apr 2009 15:03:52 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=142</guid>
		<description><![CDATA[Um auf bestimmten Seiten ein anderes Aussehen anzuzeigen ist es sinnvoll dem Redakteur eine Auswahl an verfügbaren Layout-Dateien zu Auswahl bereitzustellen. Bevor es losgeht noch kurz ein Verweis auf meinen Blog-Eintrag TYPO3: Mehr Content Elemente &#8211; was in diesem Zusammenhang vermutlich sinnvoll sein kann. 1. benötigte Extensions Zwei TYPO3 Erweiterungen werden benötigt: rlmp_tmplselector für die [...]]]></description>
			<content:encoded><![CDATA[<p>Um auf bestimmten Seiten ein anderes Aussehen anzuzeigen ist es sinnvoll dem Redakteur eine Auswahl an verfügbaren Layout-Dateien zu Auswahl bereitzustellen.</p>
<p><span id="more-142"></span></p>
<p>Bevor es losgeht noch kurz ein Verweis auf meinen Blog-Eintrag <a title="Permanent Link to TYPO3: Mehr Content Elemente" href="/62/typo3-mehr-content-elemente" target="_self">TYPO3: Mehr Content Elemente</a> &#8211; was in diesem Zusammenhang vermutlich sinnvoll sein kann.</p>
<p><strong>1. benötigte Extensions</strong></p>
<p>Zwei TYPO3 Erweiterungen werden benötigt: <em>rlmp_tmplselector</em> für die verschiedenen Templates und <em>stfl_tmpl2columns</em> um die nur benötigten Content Elemente dazu anzuzeigen.</p>
<p><strong>2. Aufbauen der Stuktur</strong></p>
<p>Haupt- und Sub-HTML-Template brauchen ihren Speicherplatz, dazu müssen die Verzeichnisse beispielsweise nach diesen Vorgaben erstellt werden: <em>fileadmin/templates/main/</em> und <em>fileadmin/templates/sub/</em>.</p>
<p><strong>3. Haupt- und Sublayout</strong></p>
<p>in den Hauptlayout (main.html) verbleiben nach wie vor die benötigten Marker wie z.B. für die Navigation oder einen <a title="TYPO3: Content auf Unterseiten vererben" href="/61/typo3-content-auf-unterseiten-vererben" target="_self">fest stehenden Content Bereich</a>. Der umschließende Marker ###DOCUMENT_ALL### im Hauptlayout enthält den Marker ###CONTENT### welcher später mit dem Sublayout gefüllt wird.</p>
<p class="code">&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Standardlayout&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;!&#8211; ###DOCUMENT_ALL### &#8211;&gt;<br />
###HEADER###<br />
Sie sind hier: ###BREADCRUMB###<br />
###CONTENT###<br />
&lt;!&#8211; ###DOCUMENT_ALL### &#8211;&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>Der Inhalt von Title wird später dem Redakteur angezeigt um die Templates von einander zu unterscheiden. Auch kann eine gif-Grafikdatei mit dem gleichen Dateinamen des Templates abgelegt werden um die Unterschiede zu visualisieren.</p>
<p>Das Sublayout (col1.html) wird von ###DOCUMENT### umschlossen und enthält alle  benötigten Marker um ein zweispaltiges Layout zu erzeugen:
</p>
<p class="code">&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Layout zweispaltig&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;!&#8211; ###DOCUMENT### &#8211;&gt;<br />
&lt;table&gt;<br />
&lt;tr&gt;&lt;td&gt;###CONTENT_LEFT###&lt;/td&gt;&lt;td&gt;###CONTENT_RIGHT###&lt;/td&gt;&lt;/tr&gt;<br />
&lt;/table&gt;<br />
&lt;!&#8211; ###DOCUMENT### &#8211;&gt;<br />
&lt;/body&gt;</p>
<p>So ist es nun problemlos möglich ein einspaltiges (col2.html) oder zweizeiliges Layout anzulegen.</p>
<p><strong>4. TypoScript konfigurieren</strong>
</p>
<p class="code">plugin.tx_rlmptmplselector_pi1.templateType = main<br />
plugin.tx_rlmptmplselector_pi1.templatePathMain = fileadmin/templates/main/<br />
plugin.tx_rlmptmplselector_pi1.templatePathSub = fileadmin/templates/sub/<br />
plugin.tx_rlmptmplselector_pi1.defaultTemplateFileNameMain = main.html<br />
plugin.tx_rlmptmplselector_pi1.defaultTemplateFileNameSub = col1.html<br />
plugin.tx_rlmptmplselector_pi1.inheritMainTemplates = 1<br />
plugin.tx_rlmptmplselector_pi1.inheritSubTemplates = 1</p>
<p><strong>5. Mapping herstellen</strong></p>
<p>In TS-Config der Root-Seite wird festgelegt welche Content-Elemente angezeigt werden ein Abhängigkeit der gewählten Templates:
</p>
<p class="code">options.stfl-tmpl2columns.enable = true<br />
options.stfl-tmpl2columns.default_content = col1<br />
options.stfl-tmpl2columns.mapping {<br />
col1 = 1,0,2,3<br />
col2 = 1,0,2<br />
}</p>
<p>Damit das Mapping greift ist etwas Probierarbeit nötig. Das Handbuch empfehlt alle Aliase der Seite gemeinsam zu bearbeiten. Ggf. muss man auch das Mapping für die Root-Seite selber provozieren, bis ein Wechsel des Subtemplates automatisch nicht benötigte Content Elemente verschwinden lässt:
</p>
<p class="code">mod.SHARED.colPos_list = 1,0,2<br />
TCEFORM.tt_content.colPos.removeItems = 3</p>
<p><strong>6. Marker mit Inhalt füllen</strong></p>
<p>hier ein TypoScript Beispiel für das Haupttemplate:
</p>
<p class="code">page.10 = TEMPLATE<br />
page.10 {<br />
template = FILE<br />
template &lt; plugin.tx_rlmptmplselector_pi1<br />
template.relPathPrefix = fileadmin/templates/main/<br />
workOnSubpart = DOCUMENT_ALL<br />
marks.CONTENT &lt; temp.contentAreaTemplate<br />
marks.HEADER &lt; temp.header<br />
marks.BREADCRUMB &lt; temp.breadcrumb<br />
}</p>
<p>Der Inhalt des Subtemplates kann nun wie folgt gefüllt werden:
</p>
<p class="code">temp.contentAreaTemplate = TEMPLATE<br />
temp.contentAreaTemplate {<br />
template = FILE<br />
template &lt; plugin.tx_rlmptmplselector_pi1<br />
template.relPathPrefix = fileadmin/templates/sub/<br />
template.templateType = sub<br />
workOnSubpart = DOCUMENT<br />
marks {<br />
CONTENT_LEFT = CONTENT<br />
CONTENT_LEFT {<br />
table = tt_content<br />
select {<br />
where = colPos = 1<br />
orderBy = sorting<br />
languageField = sys_language_uid<br />
}<br />
}<br />
CONTENT_RIGHT = CONTENT<br />
CONTENT_RIGHT {<br />
table = tt_content<br />
select {<br />
where = colPos = 4<br />
orderBy = sorting<br />
languageField = sys_language_uid<br />
}<br />
}<br />
}<br />
}</p>
<p class="favorite"><a href="http://typo3.org/extensions/repository/view/stfl_tmpl2columns/current/" target="_blank">Template Selector to Column View mapper (stfl_tmpl2columns)</a><br />
<a href="http://typo3.org/extensions/repository/view/rlmp_tmplselector/current/" target="_blank">Page Template Selector (rlmp_tmplselector)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/142/typo3-layout-umschalter/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TYPO3: Sprachwechsler über Flaggen</title>
		<link>http://admirableadmin.de/141/typo3-sprachwechsler-uber-flaggen</link>
		<comments>http://admirableadmin.de/141/typo3-sprachwechsler-uber-flaggen#comments</comments>
		<pubDate>Fri, 24 Apr 2009 08:28:18 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=141</guid>
		<description><![CDATA[Eine Sprachumschaltung lässt sich in TYPO3 mit wenigen Zeilen TypoScript Code realisieren. Angenommen die Hauptsprache ist englisch (sys_language_uid=0) und der Besucher soll auf die deutsche Übersetzung (L=1) über die Landesflagge umschalten können die folgenden Zeilen verwendet werden: temp.language = TEXT temp.language { value = &#60;img border=&#8221;0&#8243; src=&#8221;/typo3/gfx/flags/de.gif&#8221;&#62; typolink.parameter.data = page:uid typolink.additionalParams = &#38;L=1 } [globalVar [...]]]></description>
			<content:encoded><![CDATA[<p>Eine Sprachumschaltung lässt sich in TYPO3 mit wenigen Zeilen TypoScript Code realisieren.</p>
<p><span id="more-141"></span>Angenommen die Hauptsprache ist englisch (sys_language_uid=0) und der Besucher soll auf die deutsche Übersetzung (L=1) über die Landesflagge umschalten können die folgenden Zeilen verwendet werden:</p>
<p class="code">temp.language = TEXT<br />
temp.language {<br />
value = &lt;img border=&#8221;0&#8243; src=&#8221;/typo3/gfx/flags/de.gif&#8221;&gt;<br />
typolink.parameter.data = page:uid<br />
typolink.additionalParams = &amp;L=1<br />
}<br />
[globalVar = GP:L=1]<br />
temp.language.value = &lt;img border=&#8221;0&#8243; src=&#8221;/typo3/gfx/flags/gb.gif&#8221;&gt;<br />
temp.language.typolink.additionalParams = &amp;L=0<br />
[global]</p>
<p>Hierbei werden die Flaggen-Symbole von TYPO3 verwendet und wie jeder Marker wird auch hier der Inhalt wie folgt an das html-Layout übergeben:</p>
<p class="code">marks.LANGUAGE &lt; temp.language</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/141/typo3-sprachwechsler-uber-flaggen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3: RealURL mehrsprachig nutzen</title>
		<link>http://admirableadmin.de/72/typo3-realurl-mehrsprachig-nutzen</link>
		<comments>http://admirableadmin.de/72/typo3-realurl-mehrsprachig-nutzen#comments</comments>
		<pubDate>Fri, 26 Sep 2008 16:22:22 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=72</guid>
		<description><![CDATA[Die Extension RealURL erzeugt aus den üblichen Urls (index.php?id=82) eine schöne Verzeichnis-Struktur. Dies lässt sich auch bei Seiten mit mehreren Sprachen nutzen. Der folgende Ausschnitt aus der Datei typo3conf/localconf.php ist nach viel Handbuch lesen und Recherche entstanden. Für die Extensions tt_news (News und Kategorien) und sr_feuserregister gelten diese Einstellungen: $TYPO3_CONF_VARS['EXTCONF']['realurl'] = array( &#8216;_DEFAULT&#8217; =&#62; array( [...]]]></description>
			<content:encoded><![CDATA[<p>Die Extension RealURL erzeugt aus den üblichen Urls (index.php?id=82) eine schöne Verzeichnis-Struktur. Dies lässt sich auch bei Seiten mit mehreren Sprachen nutzen.</p>
<p><span id="more-72"></span></p>
<p>Der folgende Ausschnitt aus der Datei <em>typo3conf/localconf.php</em> ist nach viel Handbuch lesen und Recherche entstanden. Für die Extensions tt_news (News und Kategorien) und sr_feuserregister gelten diese Einstellungen:</p>
<p class="code">$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(<br />
&#8216;_DEFAULT&#8217; =&gt; array(<br />
&#8216;init&#8217; =&gt; array(<br />
&#8216;enableCHashCache&#8217; =&gt; 1,<br />
&#8216;appendMissingSlash&#8217; =&gt; &#8216;ifNotFile&#8217;,<br />
&#8216;enableUrlDecodeCache&#8217; =&gt; 1,<br />
&#8216;enableUrlEncodeCache&#8217; =&gt; 1,<br />
),<br />
&#8216;preVars&#8217; =&gt; array(<br />
/* realurl mit sprachwahl */<br />
array(<br />
&#8216;GETvar&#8217; =&gt; &#8216;L&#8217;,<br />
&#8216;valueMap&#8217; =&gt; array(<br />
/* fuer sprachwechsel im context */<br />
&#8216;en&#8217; =&gt; &#8217;1&#8242;,<br />
),<br />
&#8216;noMatch&#8217; =&gt; &#8216;bypass&#8217;,<br />
),<br />
/* tt_news */<br />
array(<br />
&#8216;GETvar&#8217; =&gt; &#8216;no_cache&#8217;,<br />
&#8216;valueMap&#8217; =&gt; array(<br />
&#8216;nc&#8217; =&gt; 1,<br />
),<br />
&#8216;noMatch&#8217; =&gt; &#8216;bypass&#8217;,<br />
),<br />
),<br />
/* realurl mit sprachwahl &#8211; start */<br />
&#8216;pagePath&#8217; =&gt; array(<br />
&#8216;type&#8217; =&gt; &#8216;user&#8217;,<br />
&#8216;userFunc&#8217; =&gt; &#8216;EXT:realurl/class.tx_realurl_advanced.php:&amp;tx_realurl_advanced-&gt;main&#8217;,<br />
&#8216;spaceCharacter&#8217; =&gt; &#8216;-&#8217;,<br />
&#8216;languageGetVar&#8217; =&gt; &#8216;L&#8217;,<br />
&#8216;expireDays&#8217; =&gt; 7,<br />
&#8216;disablePathCache&#8217; =&gt; 0,<br />
&#8216;rootpage_id&#8217; =&gt; 20,<br />
),<br />
/* realurl mit sprachwahl &#8211; ende */<br />
&#8216;postVarSets&#8217; =&gt; array(<br />
&#8216;_DEFAULT&#8217; =&gt; array(<br />
/* tx_srfeuserregister_pi1 */<br />
&#8216;user&#8217; =&gt; array(<br />
array(<br />
&#8216;GETvar&#8217; =&gt; &#8216;tx_srfeuserregister_pi1[regHash]&#8216;<br />
)<br />
),<br />
/* tt_news archive &#8211; start */<br />
&#8216;archive&#8217; =&gt; array(<br />
array(<br />
&#8216;GETvar&#8217; =&gt; &#8216;tx_ttnews[year]&#8216; ,<br />
),<br />
array(<br />
&#8216;GETvar&#8217; =&gt; &#8216;tx_ttnews[month]&#8216; ,<br />
&#8216;valueMap&#8217; =&gt; array(<br />
&#8216;january&#8217; =&gt; &#8217;01&#8242;,<br />
&#8216;february&#8217; =&gt; &#8217;02&#8242;,<br />
&#8216;march&#8217; =&gt; &#8217;03&#8242;,<br />
&#8216;april&#8217; =&gt; &#8217;04&#8242;,<br />
&#8216;may&#8217; =&gt; &#8217;05&#8242;,<br />
&#8216;june&#8217; =&gt; &#8217;06&#8242;,<br />
&#8216;july&#8217; =&gt; &#8217;07&#8242;,<br />
&#8216;august&#8217; =&gt; &#8217;08&#8242;,<br />
&#8216;september&#8217; =&gt; &#8217;09&#8242;,<br />
&#8216;october&#8217; =&gt; &#8217;10&#8242;,<br />
&#8216;november&#8217; =&gt; &#8217;11&#8242;,<br />
&#8216;december&#8217; =&gt; &#8217;12&#8242;,<br />
)<br />
),<br />
),<br />
// news pagebrowser<br />
&#8216;browse&#8217; =&gt; array(<br />
array(<br />
&#8216;GETvar&#8217; =&gt; &#8216;tx_ttnews[pointer]&#8216;,<br />
),<br />
),<br />
// news categories<br />
&#8216;cat&#8217; =&gt; array (<br />
array(<br />
&#8216;GETvar&#8217; =&gt; &#8216;tx_ttnews[cat]&#8216;,<br />
&#8216;lookUpTable&#8217; =&gt; array(<br />
&#8216;table&#8217; =&gt; &#8216;tt_news_cat&#8217;,<br />
&#8216;id_field&#8217; =&gt; &#8216;uid&#8217;,<br />
&#8216;alias_field&#8217; =&gt; &#8216;title&#8217;,<br />
&#8216;addWhereClause&#8217; =&gt; &#8216; AND NOT deleted&#8217;,<br />
&#8216;useUniqueCache&#8217; =&gt; 1,<br />
&#8216;useUniqueCache_conf&#8217; =&gt; array(<br />
&#8216;strtolower&#8217; =&gt; 1,<br />
&#8216;spaceCharacter&#8217; =&gt; &#8216;-&#8217;,<br />
),<br />
),<br />
),<br />
),<br />
// news articles and searchwords<br />
&#8216;get&#8217; =&gt; array(<br />
array(<br />
&#8216;GETvar&#8217; =&gt; &#8216;tx_ttnews[tt_news]&#8216;,<br />
&#8216;lookUpTable&#8217; =&gt; array(<br />
&#8216;table&#8217; =&gt; &#8216;tt_news&#8217;,<br />
&#8216;id_field&#8217; =&gt; &#8216;uid&#8217;,<br />
&#8216;alias_field&#8217; =&gt; &#8216;title&#8217;,<br />
&#8216;addWhereClause&#8217; =&gt; &#8216; AND NOT deleted&#8217;,<br />
&#8216;useUniqueCache&#8217; =&gt; 1,<br />
&#8216;useUniqueCache_conf&#8217; =&gt; array(<br />
&#8216;strtolower&#8217; =&gt; 1,<br />
&#8216;spaceCharacter&#8217; =&gt; &#8216;-&#8217;,<br />
),<br />
),<br />
),<br />
array(<br />
&#8216;GETvar&#8217; =&gt; &#8216;tx_ttnews[swords]&#8216;,<br />
),<br />
),<br />
/* tt_news &#8211; ende */<br />
)<br />
),<br />
/* tt_news &#8211; start */<br />
// configure filenames for different pagetypes<br />
&#8216;fileName&#8217; =&gt; array(<br />
&#8216;index&#8217; =&gt; array(<br />
&#8216;rss.xml&#8217; =&gt; array(<br />
&#8216;keyValues&#8217; =&gt; array(<br />
&#8216;type&#8217; =&gt; 100,<br />
),<br />
),<br />
&#8216;rss091.xml&#8217; =&gt; array(<br />
&#8216;keyValues&#8217; =&gt; array(<br />
&#8216;type&#8217; =&gt; 101,<br />
),<br />
),<br />
&#8216;rdf.xml&#8217; =&gt; array(<br />
&#8216;keyValues&#8217; =&gt; array(<br />
&#8216;type&#8217; =&gt; 102,<br />
),<br />
),<br />
&#8216;atom.xml&#8217; =&gt; array(<br />
&#8216;keyValues&#8217; =&gt; array(<br />
&#8216;type&#8217; =&gt; 103,<br />
),<br />
),<br />
),<br />
),<br />
/* tt_news &#8211; ende */<br />
),<br />
);</p>
<p class="favorite"><a title="Permanent Link: Realurl mehrere Domains" rel="bookmark" href="http://www.seo24.at/realurl-mehrere-domains/">Realurl mehrere Domains</a><br />
<a title="Permanent Link: RealURL mehrsprachig: pro Domain eine Sprache ohne Get-Parameter / preVars" rel="bookmark" href="http://www.keilblock.com/multidomain-realurl-mehrsprachig-one-tree/">RealURL mehrsprachig: pro Domain eine Sprache ohne Get-Parameter / preVars</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/72/typo3-realurl-mehrsprachig-nutzen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3: Sprachwechsler auch bei tt_news</title>
		<link>http://admirableadmin.de/71/typo3-sprachwechsler-auch-bei-tt_news</link>
		<comments>http://admirableadmin.de/71/typo3-sprachwechsler-auch-bei-tt_news#comments</comments>
		<pubDate>Fri, 26 Sep 2008 16:01:57 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=71</guid>
		<description><![CDATA[Ein Wechsel von der Ausgangssprache zu einer weiteren Sprache, also einer übersetzten Version der Seite ist durch ein Anhängen durch &#38;L=1 an die URL möglich. Damit in Kombination mit RealURL die Sprache auch bei übersetzten Einträgen von tt_news möglich ist, kann das folgende Typoscript im Setupfeld eingesetzt werden: page.10.marks.LANGUAGE { value = Deutsch typolink.parameter.data = [...]]]></description>
			<content:encoded><![CDATA[<p>Ein Wechsel von der Ausgangssprache zu einer weiteren Sprache, also einer übersetzten Version der Seite ist durch ein Anhängen durch &amp;L=1 an die URL möglich.</p>
<p><span id="more-71"></span></p>
<p>Damit in Kombination mit RealURL die Sprache auch bei übersetzten Einträgen von tt_news möglich ist, kann das folgende Typoscript im Setupfeld eingesetzt werden:</p>
<p class="code">page.10.marks.LANGUAGE {<br />
value = Deutsch<br />
typolink.parameter.data = page:uid<br />
wrap = &lt;ul&gt;&lt;li&gt;|&lt;/li&gt;&lt;/ul&gt;<br />
typolink.additionalParams.cObject = COA<br />
typolink.additionalParams.cObject {<br />
# sprache<br />
10 = TEXT<br />
10.value = &amp;L=1<br />
10.required = 1<br />
# news<br />
20 = TEXT<br />
20.data = GPvar : tx_ttnews|tt_news<br />
20.wrap = &amp;tx_ttnews[tt_news]=|<br />
20.required = 1<br />
# kategorie<br />
30 = TEXT<br />
30.data = GPvar : tx_ttnews|cat<br />
30.wrap = &amp;tx_ttnews[cat]=|<br />
30.required = 1<br />
# seite<br />
40 = TEXT<br />
40.data = GPvar : tx_ttnews|pointer<br />
40.wrap = &amp;tx_ttnews[pointer]=|<br />
40.required = 1<br />
}<br />
}<br />
[globalVar = GP:L=1]<br />
page.10.marks.LANGUAGE.value = English<br />
page.10.marks.LANGUAGE.typolink.additionalParams.cObject.10.value = &amp;L=0<br />
[global]</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/71/typo3-sprachwechsler-auch-bei-tt_news/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3: pdf_generator mit mehrsprachigen Seiten</title>
		<link>http://admirableadmin.de/70/typo3-pdf_generator-mit-mehrsprachigen-seiten</link>
		<comments>http://admirableadmin.de/70/typo3-pdf_generator-mit-mehrsprachigen-seiten#comments</comments>
		<pubDate>Thu, 25 Sep 2008 17:59:47 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=70</guid>
		<description><![CDATA[Mit der Extension pdf_generator lassen sich schnell und einfach pdf-Dokumente der aktuellen Seite generieren. Dies geht auch bei Seiten welche mehrere Seitensprachen beinhalten. Nach der Installation von pdf_generator muss noch das Systemprogramm &#8220;htmldoc&#8221; installiert werden um die pdf-Datei zu generieren zu können. Falls dieses Programm nicht installiert werden kann oder darf (Servereinschränkungen) muss auf die [...]]]></description>
			<content:encoded><![CDATA[<p>Mit der Extension <em>pdf_generator</em> lassen sich schnell und einfach pdf-Dokumente der aktuellen Seite generieren. Dies geht auch bei Seiten welche mehrere Seitensprachen beinhalten.</p>
<p><span id="more-70"></span></p>
<p>Nach der Installation von <em>pdf_generator</em> muss noch das Systemprogramm &#8220;htmldoc&#8221; installiert werden um die pdf-Datei zu generieren zu können. Falls dieses Programm nicht installiert werden kann oder darf (Servereinschränkungen) muss auf die Erweiterung <em>pdf_generator2</em> zurück gegriffen werden, welche ohne dieses Programm zurecht kommt (die folgenden Zeilen müssen dann ggf. angepasst werden).</p>
<p>Zuerst lässt man mit Typoscript einen verlinktes Bild in für einen Marker erzeugen:</p>
<p class="code">temp.pdf = IMAGE<br />
temp.pdf.file = fileadmin/img/pdf.gif<br />
temp.pdf.stdWrap.postUserFunc = tx_pdfgenerator-&gt;makePdfLink</p>
<p>oder einen schlichten Text-Link:
</p>
<p class="code">temp.pdf = TEXT<br />
temp.pdf.value = PDF erzeugen<br />
temp.pdf.stdWrap.postUserFunc = tx_pdfgenerator-&gt;makePdfLink</p>
<p>oder so:
</p>
<p class="code">temp.pdf = TEXT<br />
temp.pdf {<br />
  value = <img src="fileadmin/img/pdf.gif" border="0" alt="PDF Version" title="PDF Version" /><br />
  stdWrap.postUserFunc.noBlur = 1<br />
  stdWrap.postUserFunc = tx_pdfgenerator->makePdfLink<br />
  stdWrap.postUserFunc.attachment = 1<br />
  stdWrap.postUserFunc.filename = print.pdf<br />
}</p>
<p>Anschließend wird bestimmt welcher Inhalt ausgelesen und somit im pdf stehen soll. Auf grafische Elemente (Header) kann hier verzichtet werden um so genau zu bestimmen welche Content Elemente, in welcher Reinfolge ausgelesen werden sollen:
</p>
<p class="code">pdf_generator = PAGE<br />
pdf_generator {<br />
50 &lt;<br />
51 = TEXT<br />
51.value = example.com -<br />
52 = TEXT<br />
52.data = page:title<br />
60 = CONTENT<br />
60 {<br />
table = tt_content<br />
select {<br />
where = colPos = 1<br />
orderBy = sorting<br />
languageField = sys_language_uid<br />
}<br />
}<br />
70 = CONTENT<br />
70 {<br />
table = tt_content<br />
select {<br />
where = colPos = 4<br />
orderBy = sorting<br />
languageField = sys_language_uid<br />
}<br />
}<br />
}</p>
<p>Wenn mehrere Sprachen auf der Seite aktiv sind ist wichtig dies auch dem <em>pdf_generator</em> mitzutzeilen, sonst wird nur die Hauptsprache in das pdf übertragen:
</p>
<p class="code">[globalVar = GP:L=1]<br />
pdf_generator.config {<br />
sys_language_uid = 1<br />
language = de<br />
locale_all = de_DE<br />
htmlTag_langKey = de-DE<br />
}<br />
[global]</p>
<p>Update 23.04.2009: Falls es Probleme mit dem Download gibt, das PDF beim wiederholten Male defekt ist, dann hilft die Deaktivierung des Caches für das Plugin</p>
<p class="code">
pdf_generator.config.no_cache=1</p>
<p class="favorite"><a href="http://typo3.org/extensions/repository/view/pdf_generator/current/" target="_blank">pdf_generator auf typo3.org</a><br />
<a href="http://typo3.org/extensions/repository/view/pdf_generator2/current/" target="_blank">pdf_generator2 auf typo3.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/70/typo3-pdf_generator-mit-mehrsprachigen-seiten/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3: tt_news und mehrere RSS-Feeds</title>
		<link>http://admirableadmin.de/69/typo3-tt_news-und-mehrere-rss-feeds</link>
		<comments>http://admirableadmin.de/69/typo3-tt_news-und-mehrere-rss-feeds#comments</comments>
		<pubDate>Thu, 25 Sep 2008 17:28:37 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=69</guid>
		<description><![CDATA[Die beliebte TYPO3 Extension tt_news bietet von Haus aus eine einfache Möglichkeit RSS-Feeds anzubieten. Mit einem Umweg lassen sich somit auch viele unterschiedliche Feeds anbieten. Nach der Installation von tt_new bindet man wie im Handbuch beschrieben im root-Template der Seite die dazugehörigen statischen Templates &#8220;default&#8221; und &#8220;css&#8221; von tt_news ein. Zusätzlich wird noch das Template [...]]]></description>
			<content:encoded><![CDATA[<p>Die beliebte TYPO3 Extension <em>tt_news</em> bietet von Haus aus eine einfache Möglichkeit RSS-Feeds anzubieten. Mit einem Umweg lassen sich somit auch viele unterschiedliche Feeds anbieten.</p>
<p><span id="more-69"></span></p>
<p>Nach der Installation von <em>tt_new</em> bindet man wie im Handbuch beschrieben im root-Template der Seite die dazugehörigen statischen Templates &#8220;default&#8221; und &#8220;css&#8221; von <em>tt_news</em> ein. Zusätzlich wird noch das Template &#8220;News-feed (RSS,RDF,ATOM) (tt_news)&#8221; eingebunden.</p>
<p>Wichtig ist, dass dieses Template nach den beiden anderen <em>tt_news</em> Templates geladen steht, also nach/unter diesen stehen muss &#8211; sonst funktioniert es nicht.</p>
<p>Zuerst kann man einen Marker erzeugen, welcher den Haupt-Feed (Seiten-ID 23) ausliest:</p>
<p class="code">temp.rss = IMAGE<br />
temp.rss.file = fileadmin/img/rss.png<br />
temp.rss.stdWrap.typolink.parameter = http://example.com/?id=23&amp;type=100<br />
# bzw mit RealURL:<br />
# temp.rss.stdWrap.typolink.parameter = http://example.com/rss/rss.xml</p>
<p>Über die Seite 23 werden nun alle System-Ordner (Termine ID = 1, News ID = 2) ausgelesen die in &#8220;pid_list&#8221; im Konstanten-Feld des root-Templates hinterlegt sind :</p>
<p class="code">plugin.tt_news.displayXML.xmlLang = de<br />
plugin.tt_news.displayXML.xmlIcon = fileadmin/img/example.jpg<br />
plugin.tt_news.displayXML.xmlTitle = example.com &#8211; Termine und News<br />
plugin.tt_news.displayXML.xmlDesc = Termine und News von example.com<br />
plugin.tt_news.pid_list = 1,2</p>
<p>Für die Unterseiten Termine (Seiten-ID 24) und News (Seiten-ID 25) lassen sich nun diese Variablen ebenfalls im gleichen Konstanten-Feld nach dem oberen Abschnitt überschreiben um diese getrennt auszugeben im RSS:</p>
<p class="code">[PIDinRootline = 24]<br />
plugin.tt_news.displayXML.xmlTitle = example.com &#8211; Termine<br />
plugin.tt_news.displayXML.xmlDesc = Termine von example.com<br />
plugin.tt_news.pid_list = 1<br />
plugin.tt_news.singlePid = 10<br />
[global]<br />
[PIDinRootline = 25]<br />
plugin.tt_news.displayXML.xmlTitle = example.com &#8211; News<br />
plugin.tt_news.displayXML.xmlDesc = News von example.com<br />
plugin.tt_news.pid_list = 2<br />
plugin.tt_news.singlePid = 11<br />
[global]</p>
<p>singlePid gibt hierbei die Detail-Seite an. Abschließend kann im Setup-Feld noch der Haupt RSS Feed in den Header der Seite eingefügt werden:</p>
<p class="code">page.headerData.99 = TEXT<br />
page.headerData.99.value (<br />
&lt;link href=&#8221;http://example.com/?id=23&amp;type=100&#8243;<br />
rel=&#8221;alternate&#8221; title=&#8221;example.com &#8211; Termine und News&#8221;<br />
type=&#8221;application/rss+xml&#8221;&gt;<br />
)</p>
<p class="favorite"><a href="http://typo3.org/extensions/repository/view/tt_news/current/" target="_blank">tt_news auf typo3.org</a></p>
<p>Update 06.02.2009: singlePid zur jeweiligen Detail-Seite ergänzt.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/69/typo3-tt_news-und-mehrere-rss-feeds/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TYPO3: TypoScript Sammlung</title>
		<link>http://admirableadmin.de/64/typo3-typoscript-sammlung</link>
		<comments>http://admirableadmin.de/64/typo3-typoscript-sammlung#comments</comments>
		<pubDate>Mon, 18 Aug 2008 16:03:56 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=64</guid>
		<description><![CDATA[Jeder TYPO3 Auftritt erfordert eine Basis-Einstellung die je nach Bedarf anders aussehen. Einige häufige Einstellungen sind hier in unsortierter Form gesammelt. Seitenname und Seitentitel ausgeben: config.noPageTitle = 2 page.headerData &#62; page.headerData = COA page.headerData.10 = TEXT page.headerData.10.field = title page.headerData.10.wrap = &#60;title&#62;meine Seite -&#38;nbsp; &#124; &#60;/title&#62; Seite in UTF8 ausgeben: config.metaCharset = utf-8 config.renderCharset = [...]]]></description>
			<content:encoded><![CDATA[<p>Jeder TYPO3 Auftritt erfordert eine Basis-Einstellung die je nach Bedarf anders aussehen. Einige häufige Einstellungen sind hier in unsortierter Form gesammelt.</p>
<p><span id="more-64"></span></p>
<p>Seitenname und Seitentitel ausgeben:</p>
<p class="code">config.noPageTitle = 2<br />
page.headerData &gt;<br />
page.headerData = COA<br />
page.headerData.10 = TEXT<br />
page.headerData.10.field = title<br />
page.headerData.10.wrap = &lt;title&gt;meine Seite -&amp;nbsp; | &lt;/title&gt;</p>
<p>Seite in UTF8 ausgeben:
</p>
<p class="code">config.metaCharset = utf-8<br />
config.renderCharset = utf-8</p>
<p>XHTML konforme Einstellungen verwenden:
</p>
<p class="code">page.config.doctype = xhtml_trans<br />
page.config.xhtml_cleaning = all<br />
page.config.xmlprologue = none</p>
<p>Metatags definieren:
</p>
<p class="code">page.meta {<br />
AUTOR = abc<br />
KEYWORDS = cde<br />
DESCRIPTION = efg<br />
}</p>
<p>E-Mail Adressen verschlüsseln:
</p>
<p class="code">config {<br />
spamProtectEmailAddresses = 2<br />
spamProtectEmailAddresses_atSubst = (at)<br />
spamProtectEmailAddresses_lastDotSubst = (dot)<br />
}</p>
<p>Im Frontend arbeiten:
</p>
<p class="code">config.admPanel = 1</p>
<p>TYPO3 Kommentare im Quelltext nicht anzeigen:</p>
<p class="code">config.disablePrefixComment = 1</p>
<p>Seitensprache definieren:</p>
<p class="code">page.config {<br />
language = en<br />
locale_all = en_EN<br />
htmlTag_langKey = en<br />
}</p>
<p>Zusätzliche externe CSS-Dateien einbinden und Verwendungszweck angeben:
</p>
<p class="code">page.includeCSS {<br />
file1 = fileadmin/style.css<br />
file1.media = screen<br />
file2 = fileadmin/print.css<br />
file2.media = print<br />
}</p>
<p>Zusätzliche externe Javascript einbinden:
</p>
<p class="code">page.headerData.15 = TEXT<br />
page.headerData.15.value (<br />
<!--[if lt IE 7]></p>
<link rel="stylesheet" type="text/css" href="fileadmin/ielt7.css" mce_href="fileadmin/ielt7.css" media="screen" />< ![endif]-->&lt;!&#8211;[if lt IE 7]&gt;<br />
&lt;link rel=&#8221;stylesheet&#8221; type=&#8221;text/css&#8221; href=&#8221;fileadmin/ielt7.css&#8221; media=&#8221;screen&#8221; /&gt;<br />
&lt;![endif]&#8211;&gt;<br />
)</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/64/typo3-typoscript-sammlung/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TYPO3: Mehr Content Elemente</title>
		<link>http://admirableadmin.de/62/typo3-mehr-content-elemente</link>
		<comments>http://admirableadmin.de/62/typo3-mehr-content-elemente#comments</comments>
		<pubDate>Mon, 07 Jul 2008 17:37:56 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=62</guid>
		<description><![CDATA[Von Haus aus bietet TYPO3 im Backend dem Benutzer vier Plätze an um den Content zu hinterlegen. Meist reicht dies aber nicht aus. Um mehr Content Elemente mit Inhalt füllen zu können, legt man einfach eine eigene Extension an. Dies ist mit dem kickstarter möglich. Im Extension Manager erscheint nach dem installieren vom kickstarter ein [...]]]></description>
			<content:encoded><![CDATA[<p>Von Haus aus bietet TYPO3 im Backend dem Benutzer vier Plätze an um den Content zu hinterlegen. Meist reicht dies aber nicht aus.</p>
<p><span id="more-62"></span></p>
<p>Um mehr Content Elemente mit Inhalt füllen zu können, legt man einfach eine eigene Extension an. Dies ist mit dem <em>kickstarter</em> möglich. Im Extension Manager erscheint nach dem installieren vom <em>kickstarter </em>ein neuer Punkt im Drop-Down Menü <em>Neue Extension anlegen</em>.</p>
<p>Die neue Extension findet in der Kategorie Backend ihren Platz und wird nach der Vergabe von Titel, Beschreibung und Extension-Key (z.b. more_columns) wie folgt bearbeitet.</p>
<p>In der Datei ext_tables.php können nun beispielsweise die folgenden Änderungen eingetragen werden um zwei zusätzliche Platzhalter (4 und 5) zu bekommen:</p>
<p class="code">t3lib_extMgm::addPageTSConfig(&#8216;mod.SHARED.colPos_list = 0,1,4,2,5,3&#8242;);<br />
$TCA["tt_content"]["columns"]["colPos"]["config"]["items"] = array (<br />
&#8220;0&#8243; =&gt; array (&#8220;normal||Normal||||||||&#8221;,&#8221;0&#8243;), // get<br />
&#8220;1&#8243; =&gt; array (&#8220;left||Links||||||||&#8221;,&#8221;1&#8243;), // getLeft<br />
&#8220;2&#8243; =&gt; array (&#8220;right||Rechts||||||||&#8221;,&#8221;2&#8243;), // getRight<br />
&#8220;3&#8243; =&gt; array (&#8220;border||Rand||||||||&#8221;,&#8221;3&#8243;), // getBorder<br />
&#8220;4&#8243; =&gt; array (&#8220;middle||Mitte||||||||&#8221;,&#8221;4&#8243;),<br />
&#8220;5&#8243; =&gt; array (&#8220;header||Header||||||||&#8221;,&#8221;5&#8243;),<br />
);</p>
<p>Die erste Zeile legt die spätere Reihenfolge fest. Im Array ab der zweiten Zeile wird definiert welche Platzhaltern zu den bereits vorhandenen 0-3 noch hinzukommen und wie diese heißen. Nach der Installation der neu erstellen Extension stehen die zusätzlichen Felder zur Verfügung.</p>
<p>Das Auslesen der neuen Platzhalter findet direkt über die ID statt, z.B. bei ID 5:</p>
<p class="code">temp.contentHeader = CONTENT<br />
temp.contentHeader {<br />
&nbsp;&nbsp;table = tt_content<br />
&nbsp;&nbsp;select {<br />
&nbsp;&nbsp;&nbsp;&nbsp;where = colPos = 5<br />
&nbsp;&nbsp;&nbsp;&nbsp;orderBy = sorting<br />
&nbsp;&nbsp;&nbsp;&nbsp;languageField = sys_language_uid<br />
&nbsp;&nbsp;}<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/62/typo3-mehr-content-elemente/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TYPO3: Content auf Unterseiten vererben</title>
		<link>http://admirableadmin.de/61/typo3-content-auf-unterseiten-vererben</link>
		<comments>http://admirableadmin.de/61/typo3-content-auf-unterseiten-vererben#comments</comments>
		<pubDate>Mon, 07 Jul 2008 17:26:35 +0000</pubDate>
		<dc:creator>admirableadmin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://admirableadmin.de/?p=61</guid>
		<description><![CDATA[Wenn man einen Header oder einen Hinweis-Text in eine TYPO3-Seite einstellt, möchte man mitunter, dass man diesen nun nicht auf jeder Unterseite manuell neu anlegen. Um gleichen Content nicht auf jeder Unterseite neu anzulegen, bzw. kopieren zu müssen, kann dieser von einer festen Stelle, z.b. aus einem System-Ordner mit der ID 50 ausgelesen werden. Dazu [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn man einen Header oder einen Hinweis-Text in eine TYPO3-Seite einstellt, möchte man mitunter, dass man diesen nun nicht auf jeder Unterseite manuell neu anlegen.</p>
<p><span id="more-61"></span>Um gleichen Content nicht auf jeder Unterseite neu anzulegen, bzw. kopieren zu müssen, kann dieser von einer festen Stelle, z.b. aus einem System-Ordner mit der ID 50 ausgelesen werden. Dazu eignet sich das folgende Typoscript:</p>
<p class="code">temp.contentBorder = CONTENT<br />
temp.contentBorder {<br />
table = tt_content<br />
&nbsp;&nbsp;select {<br />
&nbsp;&nbsp;&nbsp;&nbsp;pidInList = 50<br />
&nbsp;&nbsp;&nbsp;&nbsp;orderBy = sorting<br />
&nbsp;&nbsp;&nbsp;&nbsp;where = colPos = 3<br />
&nbsp;&nbsp;&nbsp;&nbsp;languageField = sys_language_uid<br />
&nbsp;&nbsp;}<br />
}</p>
<p>Bei einem Header möchte man jedoch pro Seite eine andere Grafik einbinden und diese auf die Unterseiten vererben. Wenn das ganze nur für eine bestimmte Seite mit der ID 60 mit allen ihren Unterseiten gelten soll, kann man dieses Typoscript verwenden:</p>
<p class="code">[PIDinRootline = 60]<br />
temp.contentBorder = CONTENT<br />
temp.contentBorder {<br />
&nbsp;&nbsp;table = tt_content<br />
&nbsp;&nbsp;select {<br />
&nbsp;&nbsp;&nbsp;&nbsp;orderBy = sorting<br />
&nbsp;&nbsp;&nbsp;&nbsp;where = colPos = 3<br />
&nbsp;&nbsp;&nbsp;&nbsp;languageField = sys_language_uid<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;slide = -1<br />
}<br />
[global]</p>
<p>Durch das weglassen von <em>pidInList</em> bezieht sich die Abfrage immer auf die aktuelle Seite und deren Rand Element (<em>where = colPos = 3</em>). Mit <em>slide = -1</em> wird auf Unterseiten der Inhalt der Übergeordneten Seiten angezeigt. Die Anfage <em>PIDinRootline = 60</em> kann auch um weitere Seiten-IDs mit Komma getrennt erweitert werden, dann gilt die Bedingung für alle diese angegebenen Seiten.</p>
]]></content:encoded>
			<wfw:commentRss>http://admirableadmin.de/61/typo3-content-auf-unterseiten-vererben/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

