<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=149.172.152.49</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=149.172.152.49"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/149.172.152.49"/>
	<updated>2026-05-06T14:46:05Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=QGIS&amp;diff=19284</id>
		<title>QGIS</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=QGIS&amp;diff=19284"/>
		<updated>2012-10-15T15:29:11Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Einführung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
http://www.qgis.org/de/dokumentation/handbuecher.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GeoJSON Exportieren ==&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=QGIS&amp;diff=19283</id>
		<title>QGIS</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=QGIS&amp;diff=19283"/>
		<updated>2012-10-15T15:27:13Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: Die Seite wurde neu angelegt: „== Einführung ==“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Gis&amp;diff=19282</id>
		<title>Gis</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Gis&amp;diff=19282"/>
		<updated>2012-10-15T15:26:01Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Verschiedene Informationen zum Thema GIS (GeoInformationssystem)&lt;br /&gt;
&lt;br /&gt;
[[QGIS]] - Freie GIS Software für verschiedene Plattformen&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JSON&amp;diff=19281</id>
		<title>JSON</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JSON&amp;diff=19281"/>
		<updated>2012-10-15T15:25:12Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: Die Seite wurde neu angelegt: „ == JSON - JavaScript Object Notation ==  Kann XML Datenstrukturen ersetzen und hat dabei wesentlich weniger Overhead. Derzeit der Quasi-Standard.  - Lesbar für …“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== JSON - JavaScript Object Notation ==&lt;br /&gt;
&lt;br /&gt;
Kann XML Datenstrukturen ersetzen und hat dabei wesentlich weniger Overhead. Derzeit der Quasi-Standard.&lt;br /&gt;
&lt;br /&gt;
- Lesbar für Menschen&lt;br /&gt;
&lt;br /&gt;
- Einfach zu Parsen für Maschinen&lt;br /&gt;
&lt;br /&gt;
- Leichtgewichtig&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
http://json.org/&lt;br /&gt;
&lt;br /&gt;
http://json.org/json-de.html&lt;br /&gt;
&lt;br /&gt;
http://www.jsoneditoronline.org/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Erweiterungen ==&lt;br /&gt;
GeoJson - Spezifikation für Geoobjekte&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Javascript&amp;diff=19280</id>
		<title>Javascript</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Javascript&amp;diff=19280"/>
		<updated>2012-10-15T15:16:19Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* JavaScript Frameworks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== JavaScript Frameworks ==&lt;br /&gt;
&lt;br /&gt;
[[jQuery]] - meine Empfehlung&lt;br /&gt;
&lt;br /&gt;
[[jQTouch]]&lt;br /&gt;
&lt;br /&gt;
jQuery mobile - meine Empfehlung&lt;br /&gt;
&lt;br /&gt;
Sencha (mobil)&lt;br /&gt;
&lt;br /&gt;
== JavaScript - nützliches ==&lt;br /&gt;
[[JSON]] Datenstrukturen&lt;br /&gt;
&lt;br /&gt;
== JQuery Plugins ==&lt;br /&gt;
&lt;br /&gt;
[[JQuery Tools (flowplayer.org)]]&lt;br /&gt;
&lt;br /&gt;
== JavaScript - Snippets ==&lt;br /&gt;
=== Tipps, Tricks und Snippets ===&lt;br /&gt;
[[JavaScript - Snippets]]&lt;br /&gt;
&lt;br /&gt;
== JavaScript - Events / Ereignisse ==&lt;br /&gt;
[[JavaScript - Event-Handler]]&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Thunderbird_-_Tipps_und_Tricks&amp;diff=19279</id>
		<title>Thunderbird - Tipps und Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Thunderbird_-_Tipps_und_Tricks&amp;diff=19279"/>
		<updated>2012-10-12T06:00:13Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Zerstörte Anhänge in Thunderbird */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Zerstörte Anhänge in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://www.zdv.uni-mainz.de/4005.php&lt;br /&gt;
&lt;br /&gt;
Große Anhänge können zerstört werden, wenn sie in Einzelteilen übertragen werden. Um dieses Standardverhalten auszuschalten kann man die relevanten Schlüssel in der Konfiguration umschalten (Einstellungen &amp;gt; Konfiguration bzw. about:config).&lt;br /&gt;
&lt;br /&gt;
 mail.imap.fetch_by_chunks -&amp;gt; auf false stellen&lt;br /&gt;
 mail.server.default.fetch_by_chunks -&amp;gt; false auf false stellen&lt;br /&gt;
&lt;br /&gt;
Der erste Schlüssel ist nicht immer vorhanden, und muß dann auch nicht verändert werden.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Thunderbird_-_Tipps_und_Tricks&amp;diff=19278</id>
		<title>Thunderbird - Tipps und Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Thunderbird_-_Tipps_und_Tricks&amp;diff=19278"/>
		<updated>2012-10-11T17:19:08Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Zerstörte Anhänge in Thunderbird */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Zerstörte Anhänge in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://www.zdv.uni-mainz.de/4005.php&lt;br /&gt;
&lt;br /&gt;
Große Anhänge können zerstört werden, wenn sie in Einzelteilen übertragen werden. Um dieses Standardverhalten auszuschalten kann man die relevanten Schlüssel in der Konfiguration umschalten (Einstellungen &amp;gt; Konfiguration bzw. about:config).&lt;br /&gt;
&lt;br /&gt;
 mail.imap.fetch_by_chunks -&amp;gt; false&lt;br /&gt;
 mail.server.default.fetch_by_chunks -&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der erste Schlüssel ist nicht immer vorhanden, und muß dann auch nicht verändert werden.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Thunderbird_-_Tipps_und_Tricks&amp;diff=19277</id>
		<title>Thunderbird - Tipps und Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Thunderbird_-_Tipps_und_Tricks&amp;diff=19277"/>
		<updated>2012-10-11T17:18:37Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Zerstörte Anhänge in Thunderbird */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Zerstörte Anhänge in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://www.zdv.uni-mainz.de/4005.php&lt;br /&gt;
&lt;br /&gt;
Große Anhänge können zerstört werden, wenn sie in Einzelteilen übertragen werden. Um dieses Standardverhalten auszuschalten kann man die relevanten Schlüssel in der Konfiguration umschalten (Einstellungen &amp;gt; Konfiguration bzw. about:config).&lt;br /&gt;
&lt;br /&gt;
 mail.imap.fetch_by_chunks &lt;br /&gt;
 mail.server.default.fetch_by_chunks&lt;br /&gt;
&lt;br /&gt;
Der erste Schlüssel ist nicht immer vorhanden.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Thunderbird_-_Tipps_und_Tricks&amp;diff=19276</id>
		<title>Thunderbird - Tipps und Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Thunderbird_-_Tipps_und_Tricks&amp;diff=19276"/>
		<updated>2012-10-11T17:17:28Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: Die Seite wurde neu angelegt: „ == Zerstörte Anhänge in Thunderbird ==   http://www.zdv.uni-mainz.de/4005.php  Große Anhänge können zerstört werden, wenn sie in Einzelteilen übertragen w…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Zerstörte Anhänge in Thunderbird ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://www.zdv.uni-mainz.de/4005.php&lt;br /&gt;
&lt;br /&gt;
Große Anhänge können zerstört werden, wenn sie in Einzelteilen übertragen werden. Um dieses Standardverhalten auszuschalten kann man die relevanten Schlüssel in der Konfiguration umschalten (about:config).&lt;br /&gt;
&lt;br /&gt;
 mail.imap.fetch_by_chunks &lt;br /&gt;
 mail.server.default.fetch_by_chunks&lt;br /&gt;
&lt;br /&gt;
Der erste Schlüssel ist nicht immer vorhanden.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Probleme_l%C3%B6sen&amp;diff=19266</id>
		<title>TYPO3 - Probleme lösen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Probleme_l%C3%B6sen&amp;diff=19266"/>
		<updated>2012-10-11T09:08:23Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== MySQL Tabellen liegen im falschen Zeichensatz vor ===&lt;br /&gt;
&lt;br /&gt;
dafür gibt es ein schönes Skript:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Beim Update gehen Teile der Templates verloren ===&lt;br /&gt;
Nach der Version 4.1 wurden Tabellenfelder von blob auf Text umgestellt. TYPO 3 versucht das ohne Angabe des Zeichensatzen. Dabei bricht mysql das Umwandeln nach einem Umlaut o.ä. ab und verwirft den Rest. &lt;br /&gt;
Meist passiert das in TS Templates wenn in Kommentaren Umlaute sind. Folge, nach dem Update geht das Frontend nicht mehr.&lt;br /&gt;
&lt;br /&gt;
Lösung: die Umwandlung von Hand machen (siehe auch [[Typo3 - Update]]) Prinzipell geht das so:&lt;br /&gt;
&lt;br /&gt;
 ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;&lt;br /&gt;
&lt;br /&gt;
=== Problem: Chinesische Zeichen werden nicht gespeichert ===&lt;br /&gt;
Beim speichern mit chinesischen Zeichen tritt der Fehler:&lt;br /&gt;
&lt;br /&gt;
 102: These fields are not properly updated in database: (title) Probably value mismatch with fieldtype.&lt;br /&gt;
&lt;br /&gt;
auf.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Problem: Funktion xyz deprecated ===&lt;br /&gt;
Todo: ausführlicher schreiben&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Entweder den &amp;#039;&amp;#039;&amp;#039;Code änder&amp;#039;&amp;#039;&amp;#039;n oder wenn es schnell gehen muß &amp;#039;&amp;#039;&amp;#039;php-deprecated warning level&amp;#039;&amp;#039;&amp;#039; Ändern oder wenn es nur im TYPO3 auftritt im &amp;#039;&amp;#039;&amp;#039;Install Tool&amp;#039;&amp;#039;&amp;#039; ändern.&lt;br /&gt;
&lt;br /&gt;
localconf (Zahlencode entspricht php):&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;exceptionalErrors&amp;#039;] = &amp;#039;6133&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
oder (geht auch über install Tool&lt;br /&gt;
&lt;br /&gt;
 displayErrors&lt;br /&gt;
auf 0 setzen&lt;br /&gt;
&lt;br /&gt;
siehe auch [[htaccess]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Problem:&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; JavaScript Schnipsel auf der Seite werden zerhackt.&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung:&amp;#039;&amp;#039;&amp;#039; htmlcleaning = all kann dazu führen das JavaScript Code zerstört wird. In diesem Fall den Code in separate Datei auslagern oder htmlcleaning = none&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Problem&amp;#039;&amp;#039;&amp;#039; failed to open Stream === &lt;br /&gt;
&lt;br /&gt;
Nach dem Löschen des Caches dauert es sehr lange bis die Seite aufgebaut wird und es erscheint eine &amp;#039;&amp;#039;&amp;#039;php Warnung (finfo_file -&amp;gt; failed to open Stream).&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der Fehler tritt nicht bei 4.1 aber bei 4.2 (gesehen auf 4.2.8) auf.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fehlermeldung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Warning: finfo_file(http://aufbau.blablub.com/) [function.finfo-file]: failed to open stream: HTTP request failed! in /www/htdocs/blablub/cms/typo3/sysext/cms/tslib/class.tslib_pagegen.php on line 490&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der Fehler tritt auf wenn ein favicon über TS eingebunden wird (page.shortcuticon = fileadmin/mein/pfad/favicon.ico), die Datei aber nicht vorliegt oder nicht darauf zugegriffen werden kann.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Probleme_l%C3%B6sen&amp;diff=19265</id>
		<title>TYPO3 - Probleme lösen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Probleme_l%C3%B6sen&amp;diff=19265"/>
		<updated>2012-10-11T08:40:52Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Beim Update gehen Teile der Templates verloren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beim Update gehen Teile der Templates verloren ===&lt;br /&gt;
Nach der Version 4.1 wurden Tabellenfelder von blob auf Text umgestellt. TYPO 3 versucht das ohne Angabe des Zeichensatzen. Dabei bricht mysql das Umwandeln nach einem Umlaut o.ä. ab und verwirft den Rest. &lt;br /&gt;
Meist passiert das in TS Templates wenn in Kommentaren Umlaute sind. Folge, nach dem Update geht das Frontend nicht mehr.&lt;br /&gt;
&lt;br /&gt;
Lösung: die Umwandlung von Hand machen (siehe auch [[Typo3 - Update]]) Prinzipell geht das so:&lt;br /&gt;
&lt;br /&gt;
 ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;&lt;br /&gt;
&lt;br /&gt;
=== Problem: Chinesische Zeichen werden nicht gespeichert ===&lt;br /&gt;
Beim speichern mit chinesischen Zeichen tritt der Fehler:&lt;br /&gt;
&lt;br /&gt;
 102: These fields are not properly updated in database: (title) Probably value mismatch with fieldtype.&lt;br /&gt;
&lt;br /&gt;
auf.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Problem: Funktion xyz deprecated ===&lt;br /&gt;
Todo: ausführlicher schreiben&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Entweder den &amp;#039;&amp;#039;&amp;#039;Code änder&amp;#039;&amp;#039;&amp;#039;n oder wenn es schnell gehen muß &amp;#039;&amp;#039;&amp;#039;php-deprecated warning level&amp;#039;&amp;#039;&amp;#039; Ändern oder wenn es nur im TYPO3 auftritt im &amp;#039;&amp;#039;&amp;#039;Install Tool&amp;#039;&amp;#039;&amp;#039; ändern.&lt;br /&gt;
&lt;br /&gt;
localconf (Zahlencode entspricht php):&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;exceptionalErrors&amp;#039;] = &amp;#039;6133&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
oder (geht auch über install Tool&lt;br /&gt;
&lt;br /&gt;
 displayErrors&lt;br /&gt;
auf 0 setzen&lt;br /&gt;
&lt;br /&gt;
siehe auch [[htaccess]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Problem:&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; JavaScript Schnipsel auf der Seite werden zerhackt.&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung:&amp;#039;&amp;#039;&amp;#039; htmlcleaning = all kann dazu führen das JavaScript Code zerstört wird. In diesem Fall den Code in separate Datei auslagern oder htmlcleaning = none&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Problem&amp;#039;&amp;#039;&amp;#039; failed to open Stream === &lt;br /&gt;
&lt;br /&gt;
Nach dem Löschen des Caches dauert es sehr lange bis die Seite aufgebaut wird und es erscheint eine &amp;#039;&amp;#039;&amp;#039;php Warnung (finfo_file -&amp;gt; failed to open Stream).&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der Fehler tritt nicht bei 4.1 aber bei 4.2 (gesehen auf 4.2.8) auf.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fehlermeldung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Warning: finfo_file(http://aufbau.blablub.com/) [function.finfo-file]: failed to open stream: HTTP request failed! in /www/htdocs/blablub/cms/typo3/sysext/cms/tslib/class.tslib_pagegen.php on line 490&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der Fehler tritt auf wenn ein favicon über TS eingebunden wird (page.shortcuticon = fileadmin/mein/pfad/favicon.ico), die Datei aber nicht vorliegt oder nicht darauf zugegriffen werden kann.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Probleme_l%C3%B6sen&amp;diff=19264</id>
		<title>TYPO3 - Probleme lösen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Probleme_l%C3%B6sen&amp;diff=19264"/>
		<updated>2012-10-11T08:39:27Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beim Update gehen Teile der Templates verloren ===&lt;br /&gt;
Nach der Version 4.1 wurden Tabellenfelder von blob auf Text umgestellt. TYPO 3 versucht das ohne Angabe des Zeichensatzen. Dabei bricht mysql das Umwandeln nach einem Umlaut o.ä. ab und verwirft den Rest. &lt;br /&gt;
Meist passiert das in TS Templates wenn in Kommentaren Umlaute sind. Folge, nach dem Update geht das Frontend nicht mehr.&lt;br /&gt;
&lt;br /&gt;
Lösung: die Umwandlung von Hand machen (siehe auch [[TYPO3 - Update]]) Prinzipell geht das so:&lt;br /&gt;
&lt;br /&gt;
 ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;&lt;br /&gt;
&lt;br /&gt;
=== Problem: Chinesische Zeichen werden nicht gespeichert ===&lt;br /&gt;
Beim speichern mit chinesischen Zeichen tritt der Fehler:&lt;br /&gt;
&lt;br /&gt;
 102: These fields are not properly updated in database: (title) Probably value mismatch with fieldtype.&lt;br /&gt;
&lt;br /&gt;
auf.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Problem: Funktion xyz deprecated ===&lt;br /&gt;
Todo: ausführlicher schreiben&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Entweder den &amp;#039;&amp;#039;&amp;#039;Code änder&amp;#039;&amp;#039;&amp;#039;n oder wenn es schnell gehen muß &amp;#039;&amp;#039;&amp;#039;php-deprecated warning level&amp;#039;&amp;#039;&amp;#039; Ändern oder wenn es nur im TYPO3 auftritt im &amp;#039;&amp;#039;&amp;#039;Install Tool&amp;#039;&amp;#039;&amp;#039; ändern.&lt;br /&gt;
&lt;br /&gt;
localconf (Zahlencode entspricht php):&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;exceptionalErrors&amp;#039;] = &amp;#039;6133&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
oder (geht auch über install Tool&lt;br /&gt;
&lt;br /&gt;
 displayErrors&lt;br /&gt;
auf 0 setzen&lt;br /&gt;
&lt;br /&gt;
siehe auch [[htaccess]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Problem:&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; JavaScript Schnipsel auf der Seite werden zerhackt.&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung:&amp;#039;&amp;#039;&amp;#039; htmlcleaning = all kann dazu führen das JavaScript Code zerstört wird. In diesem Fall den Code in separate Datei auslagern oder htmlcleaning = none&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Problem&amp;#039;&amp;#039;&amp;#039; failed to open Stream === &lt;br /&gt;
&lt;br /&gt;
Nach dem Löschen des Caches dauert es sehr lange bis die Seite aufgebaut wird und es erscheint eine &amp;#039;&amp;#039;&amp;#039;php Warnung (finfo_file -&amp;gt; failed to open Stream).&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der Fehler tritt nicht bei 4.1 aber bei 4.2 (gesehen auf 4.2.8) auf.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fehlermeldung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Warning: finfo_file(http://aufbau.blablub.com/) [function.finfo-file]: failed to open stream: HTTP request failed! in /www/htdocs/blablub/cms/typo3/sysext/cms/tslib/class.tslib_pagegen.php on line 490&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der Fehler tritt auf wenn ein favicon über TS eingebunden wird (page.shortcuticon = fileadmin/mein/pfad/favicon.ico), die Datei aber nicht vorliegt oder nicht darauf zugegriffen werden kann.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Probleme_l%C3%B6sen&amp;diff=19263</id>
		<title>TYPO3 - Probleme lösen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Probleme_l%C3%B6sen&amp;diff=19263"/>
		<updated>2012-10-11T08:26:57Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Problem: Funktion xyz deprecated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Problem: Chinesische Zeichen werden nicht gespeichert ===&lt;br /&gt;
Beim speichern mit chinesischen Zeichen tritt der Fehler:&lt;br /&gt;
&lt;br /&gt;
 102: These fields are not properly updated in database: (title) Probably value mismatch with fieldtype.&lt;br /&gt;
&lt;br /&gt;
auf.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Problem: Funktion xyz deprecated ===&lt;br /&gt;
Todo: ausführlicher schreiben&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Entweder den &amp;#039;&amp;#039;&amp;#039;Code änder&amp;#039;&amp;#039;&amp;#039;n oder wenn es schnell gehen muß &amp;#039;&amp;#039;&amp;#039;php-deprecated warning level&amp;#039;&amp;#039;&amp;#039; Ändern oder wenn es nur im TYPO3 auftritt im &amp;#039;&amp;#039;&amp;#039;Install Tool&amp;#039;&amp;#039;&amp;#039; ändern.&lt;br /&gt;
&lt;br /&gt;
localconf (Zahlencode entspricht php):&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;exceptionalErrors&amp;#039;] = &amp;#039;6133&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
oder (geht auch über install Tool&lt;br /&gt;
&lt;br /&gt;
 displayErrors&lt;br /&gt;
auf 0 setzen&lt;br /&gt;
&lt;br /&gt;
siehe auch [[htaccess]]&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Problem:&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; JavaScript Schnipsel auf der Seite werden zerhackt.&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung:&amp;#039;&amp;#039;&amp;#039; htmlcleaning = all kann dazu führen das JavaScript Code zerstört wird. In diesem Fall den Code in separate Datei auslagern oder htmlcleaning = none&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;&amp;#039;Problem&amp;#039;&amp;#039;&amp;#039; failed to open Stream === &lt;br /&gt;
&lt;br /&gt;
Nach dem Löschen des Caches dauert es sehr lange bis die Seite aufgebaut wird und es erscheint eine &amp;#039;&amp;#039;&amp;#039;php Warnung (finfo_file -&amp;gt; failed to open Stream).&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der Fehler tritt nicht bei 4.1 aber bei 4.2 (gesehen auf 4.2.8) auf.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Fehlermeldung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Warning: finfo_file(http://aufbau.blablub.com/) [function.finfo-file]: failed to open stream: HTTP request failed! in /www/htdocs/blablub/cms/typo3/sysext/cms/tslib/class.tslib_pagegen.php on line 490&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Der Fehler tritt auf wenn ein favicon über TS eingebunden wird (page.shortcuticon = fileadmin/mein/pfad/favicon.ico), die Datei aber nicht vorliegt oder nicht darauf zugegriffen werden kann.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Update&amp;diff=19262</id>
		<title>Typo3 - Update</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Update&amp;diff=19262"/>
		<updated>2012-10-10T12:41:13Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Probleme lösen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Update Infos 4.5 ==&lt;br /&gt;
* Weitere Tools werden separat installiert&lt;br /&gt;
* utf-8 für Datenbankverbindung wird vorausgesetzt (siehe auch Typo3 auf utf-8 umstellen)&lt;br /&gt;
* Zugriff auf veraltete php-Funktionen werden geloggt. Vorsichtig Log kann groß werden&lt;br /&gt;
* Extbase und Fluid&lt;br /&gt;
&lt;br /&gt;
== Update Infos 4.3 ==&lt;br /&gt;
* simulate_static_docs muss separat installiert werden&lt;br /&gt;
=== Update Wizard Info ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CSS Styled Content: Default targets for non-frame pages&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The default page target is empty (so no target is generated). If you use frames, you have to set target to &amp;quot;page&amp;quot; in Constants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CSS Styled Content: htmlspecialchars in menu content elements&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Page titles will get htmlspecialchar&amp;#039;ed when rendered in &amp;quot;Sitemap/menu&amp;quot; content elements, to avoid generating invalid XHTML.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;htmlArea RTE: Using CSS classes for indentation and alignment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Indentation is produced by a CSS class instead of the blockquote element.&lt;br /&gt;
      You will need to specify in Page TSConfig the class to be used for indentation using property buttons.indent.useClass (default is &amp;quot;indent&amp;quot;). You will need to define this class in your stylesheets and ensure that it is allowed by the RTE transformation (RTE.default.proc). Alternatively, you may continue using the blockquote element by setting property buttons.indent.useBlockquote. You may also want to add the new blockquote button to the RTE toolbar.&lt;br /&gt;
&lt;br /&gt;
    * Text alignment is produced by CSS classes instead of deprecated align attribute.&lt;br /&gt;
      You will need to specify in Page TSConfig the class to be used for each text alignment button using property buttons.[left, center, right or justifyfull].useClass (defaults are &amp;quot;align-left&amp;quot;, &amp;quot;align-center&amp;quot;, &amp;quot;align-right&amp;quot;, &amp;quot;align-justify&amp;quot;). You will need to define these classes in your stylesheets, and ensure that they are allowed by the RTE transformation (RTE.default.proc). Alternatively, you may continue using deprecated align attribute by setting property buttons.[left, center, right or justifyfull].useAlignAttribute.&lt;br /&gt;
&lt;br /&gt;
== Update alter Typo3 Installationen (&amp;lt;V.3.8)==&lt;br /&gt;
Aus der Mailing Liste Östereich:&lt;br /&gt;
- der Core ist relativ easy (fast) immer zu upgraden (muesst&amp;#039; eigentlich von&lt;br /&gt;
v3.3 auch gehen ;-) )&lt;br /&gt;
- Achte immer auf installierte Extensions&lt;br /&gt;
* wenn etwas nicht geht, mal soweit wie moeglich alle Extensions wegschalten (nicht loeschen!).&lt;br /&gt;
* dann zuschalten; wenns dann hakt, dann sieht man gleich welche ext &amp;quot;boese&amp;quot; ist.&lt;br /&gt;
* dann diese ext updaten, wenns keine updates gibt, mal danach googlen.&lt;br /&gt;
* wenns dann net geht, debuggen..&lt;br /&gt;
&lt;br /&gt;
Weitere Probleme:&lt;br /&gt;
&lt;br /&gt;
Alte TS Templates arbeiten noch mit CSet und Content als default Template. Nach umstellen auf css-styled-content muß evt. einiges angepasst werden:&lt;br /&gt;
&lt;br /&gt;
== Update auf 4.1 ==&lt;br /&gt;
Unbedingt im Install Tool Compare ausführen und Tabellen aktualisieren. Sonst kann es Probleme mit verschiedenen Extensions geben (z.B. Login..)&lt;br /&gt;
&lt;br /&gt;
== Probleme beim TYPO3 Update lösen ==&lt;br /&gt;
&lt;br /&gt;
=== Nach dem Datenbank Compare fehlen Teile der TYPOScript Templates ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Von Version 4.2 auf 4.1 werden blob Felder zu Text Feldern umgewandelt. Dabei werden bei Umlauten die Inhalte abgeschnitten, wenn die Datenbank utf-8 arbeitet, TYPO3 aber die Daten in latin abgelegt hat. &lt;br /&gt;
&lt;br /&gt;
Beim Compare muß man dann die blob konvertierungen weglassen (vor allem bei den Templates - in der Regel gibt es da Kommentare mit Umlauten) und leicht abgewandelt selbst durchführen:&lt;br /&gt;
&lt;br /&gt;
 ALTER TABLE sys_template CHANGE config config TEXT CHARACTER SET latin1;&lt;br /&gt;
&lt;br /&gt;
Typo3 läßt hier die Angabe welcher Zeichensatz drin ist weg.&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Statements (Stand Typo3 4.5):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE sys_template CHANGE constants constants text CHARACTER SET latin1;&lt;br /&gt;
ALTER TABLE sys_template CHANGE config config text CHARACTER SET latin1;&lt;br /&gt;
ALTER TABLE tt_content CHANGE image image text CHARACTER SET latin1;&lt;br /&gt;
ALTER TABLE tt_content CHANGE media media text CHARACTER SET latin1;&lt;br /&gt;
ALTER TABLE tt_content CHANGE pages pages tinytext CHARACTER SET latin1;&lt;br /&gt;
ALTER TABLE tt_content CHANGE multimedia multimedia tinytext CHARACTER SET latin1;&lt;br /&gt;
ALTER TABLE pages CHANGE media media text CHARACTER SET latin1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Link: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html (Zugriff: 10/2012)&lt;br /&gt;
&lt;br /&gt;
== Release Notes Version 4.1 ==&lt;br /&gt;
Die wichtigsten Neuerungen&lt;br /&gt;
* IRRE (Inline Relational Record Editing)&lt;br /&gt;
* AJAX Page and File Tree&lt;br /&gt;
* Clean-up functions (command line scripts)(Über Extension lowlevel)&lt;br /&gt;
* Improved Extension Manager (less memory, stored extension list)&lt;br /&gt;
* UTF-8 for filenames&lt;br /&gt;
* Backend &amp;quot;Who is online&amp;quot;&lt;br /&gt;
* Frontend &amp;quot;Stay logged in&amp;quot; (Konfiguration mit new login box)&lt;br /&gt;
* MySQL InnoDB (Wird automatisch bei Neuinstallation zur Verfügung gestellt, wenn es in mySQL aktiviert ist)&lt;br /&gt;
* Speed up Backend with .htaccess http://typo3.org/development/articles/release-notes-41/page/4/)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manuelles ändern der Tabellen auf InnoDB ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alter table cache_hash ENGINE = INNODB;&lt;br /&gt;
alter table cache_imagesizes ENGINE = INNODB;&lt;br /&gt;
alter table cache_md5params ENGINE = INNODB;&lt;br /&gt;
alter table cache_pages ENGINE = INNODB;&lt;br /&gt;
alter table cache_pagesection ENGINE = INNODB;&lt;br /&gt;
alter table cache_typo3temp_log ENGINE = INNODB;&lt;br /&gt;
alter table fe_sessions ENGINE = INNODB;&lt;br /&gt;
alter table fe_session_data ENGINE = INNODB;&lt;br /&gt;
alter table index_fulltext ENGINE = INNODB;&lt;br /&gt;
alter table index_grlist ENGINE = INNODB;&lt;br /&gt;
alter table index_phash ENGINE = INNODB;&lt;br /&gt;
alter table index_rel ENGINE = INNODB;&lt;br /&gt;
alter table index_section ENGINE = INNODB;&lt;br /&gt;
alter table index_stat_search ENGINE = INNODB;&lt;br /&gt;
alter table index_stat_word ENGINE = INNODB;&lt;br /&gt;
alter table index_words ENGINE = INNODB;&lt;br /&gt;
alter table sys_log ENGINE = INNODB;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Generelle Informationen zum Update unter Linux ==&lt;br /&gt;
Quelle: typo3.net Mai 2006&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Typo3 ist normalerweise sehr einfach upzudaten - allerdings müssen ein paar Dinge beachtet werden, um updatefähig zu bleiben:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Es dürfen keine Änderungen an dem Typo3-Sourcecode gemacht worden sein. Falls dieses doch gemacht wurde, müssen natürlich diese Änderungen erst in die neue Version eingearbeitet werden.&lt;br /&gt;
* Installierte Extensions sollten möglichst immer LOCAL installiert worden sein. So bleiben diese nach dem Tausch des Typo3-Sourcecodes unberührt und funktionieren nach dem Update (meist) wie gewohnt. Es gibt nur selten den Fall, daß eine Typo3-Version eine Funktion nicht mehr verwendet, die es in der alten Version noch gab.&lt;br /&gt;
* Wenn sie HTML-Templates von GLOBAL installierten Erweiterungen direkt im Extensionordner modifiziert haben sollten, müssen diese erst z.B. in den fileadmin kopiert werden. Dann können Sie den Pfad zu dieser Datei im TypoScript anpassen.&lt;br /&gt;
&lt;br /&gt;
Den Pfad finden Sie überigens mithilfe des TypoScript-Object-Browsers schnell. Meist ist er an der Stelle plugin.extensionname.templateFile zu finden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:T3_wichtigeVerzeichnisse.gif]]&lt;br /&gt;
&lt;br /&gt;
Einige der wichtigsten Verzeichnisse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Das Update für mittwaldmedien Kunden&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Für unsere Kunden ist es nun besonders einfach, die vorhandene Installation auf die aktuelle Version zu bringen. Sie müssen sich nur auf der Webseite http://www.typo3server.com einloggen. Nach dem Login finden Sie ein Menü mit einem Link zu dem Typo3-Versionsmanager. Dort können Sie mit einem Klick Ihren Account auf die neue Version updaten.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ToDo Versionsmanager für Geo-bit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Manuelles Update&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Für diejenigen, die dieses Update manuell machen wollen oder müssen, sind die folgenden Schrittenötig. Die Beispiele - vor allem die Pfade - müssen natürlich angepasst werden. Die Beispiele gehen davon aus, daß Sie eine Verzeichnisstruktur angelegt haben, die dem obigen Bild entspricht.&lt;br /&gt;
&lt;br /&gt;
1. Machen Sie zuerst eine Datensicherung von dem Typo3-Sourcen und Ihrem html-Ordner! Die Datenbank können Sie nun über diesen Befehl sichern:&lt;br /&gt;
&lt;br /&gt;
 mysqldump -u benutzername -p -B --add-drop-table datenbank &amp;gt; typo3DBSicherung.sql&lt;br /&gt;
&lt;br /&gt;
Notfalls könnte auch ein Dump mit phpMyAdmin erstellt werden.&lt;br /&gt;
&lt;br /&gt;
2. Verbinden Sie sich mit Ihrem Server über SSH.&lt;br /&gt;
&lt;br /&gt;
3. Wechseln Sie das Verzeichnis auf einer Ebene über dem Rootverzeichnis Ihres Webservers.&lt;br /&gt;
z.B.: cd /home/www/p1234/&lt;br /&gt;
&lt;br /&gt;
4. Laden Sie sich die neuen Typo3-Sourcen auf ihren Linuxrechner. Die aktuellen Sourcen finden Sie unter: http://typo3.org/download/packages/.&lt;br /&gt;
&lt;br /&gt;
Die benötigte Datei hat das Format typo3_src-3.x.x.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
      &lt;br /&gt;
 wget belnet.dl.sourceforge.net/sourceforge/typo3/typo3_src-3.7.0.tar.gz&lt;br /&gt;
&lt;br /&gt;
5. Entpacken Sie die Datei mit dem Kommando:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 tar -xzvf typo3_src-3.x.x.tar.gz&lt;br /&gt;
&lt;br /&gt;
6. Ändern Sie nun die Rechte so, wie der bisherige Typo3-Sourcecode-Ordner sie hatte.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 chown p1234.ftponly typo3_src-3.7.0 -R&lt;br /&gt;
&lt;br /&gt;
7. Entfernen Sie den alten symbolischen Link mit:&lt;br /&gt;
&lt;br /&gt;
 rm typo3_src&lt;br /&gt;
&lt;br /&gt;
8. Legen Sie nun einen neuen Link an mit:&lt;br /&gt;
&lt;br /&gt;
 ln -s typo3_src-3.x.x typo3_src&lt;br /&gt;
&lt;br /&gt;
(Die Versionsnummer müssen Sie natürlich noch anpassen.)&lt;br /&gt;
&lt;br /&gt;
9. Nun muss die Datenbank noch aktualisiert werden:&lt;br /&gt;
&lt;br /&gt;
Gehen Sie hierzu in das Typo3-Installtool und klicken Sie auf den 2. Menüpunkt Database Analyser. Mit einem Klick auf Compare werden die zu ändernden oder zu ergänzenden Datenbankfelder angezeigt. Mit einem Klick auf &amp;quot;Write to database&amp;quot; wird die Datenbank an die neue Typo3-Version angepasst.&lt;br /&gt;
&lt;br /&gt;
10. Loggen Sie sich nun als Admin im Backend an und löschen Sie alle Caches.&lt;br /&gt;
&lt;br /&gt;
== Neu in Version 4 ==&lt;br /&gt;
* Conditions mit AND und OR (|| &amp;amp;&amp;amp;)&lt;br /&gt;
&lt;br /&gt;
== Neu in 4.2 ==&lt;br /&gt;
Viele Usability Verbesserungen im Backend&lt;br /&gt;
== Update auf 4.2 ==&lt;br /&gt;
=== Extensions Updaten ===&lt;br /&gt;
* dam 1.0.11 ist nicht kompatibel Update auf min. 1.0.13&lt;br /&gt;
* date2cal auf &amp;gt;= 7.1.0&lt;br /&gt;
* Kickstarter 0.3.8 ist nicht kompatibel&lt;br /&gt;
* Developer tools gehen nicht mehr (wg. Frame oben)&lt;br /&gt;
&lt;br /&gt;
=== Ablauf ===&lt;br /&gt;
* Backend Benutzer sperren (only Admins)&lt;br /&gt;
* Sicherung der Datenbank&lt;br /&gt;
* neue Source + Symlink&lt;br /&gt;
* Update Wizard&lt;br /&gt;
* Compare&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DAM Upload geht für Benutzer&amp;#039;&amp;#039;&amp;#039; nicht mehr (Fehler Meta Daten können nicht geschrieben werden)&lt;br /&gt;
Beim neu indizieren geht dem dam der Media Ordner verloren. Er legt dann einen neuen an, in den er scheiben möchte. Die Benutzer sind abe noch auf den alten eingestellt. D.h. die Benutzergruppen m´üssen auf den neuen eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
Im Dam stehen im IE7 die Benutzerwerkzeuge nicht zur verfügung (löschen etc.) nur der Stift ist noch da.&lt;br /&gt;
&lt;br /&gt;
Lösung: Das Problem ist das CSS für das Fenster. Es verdeckt die restlichen Symbole&lt;br /&gt;
Forum: 24.7.&lt;br /&gt;
&lt;br /&gt;
Ich hatte das gleiche Problem bis vor 5 Minuten auch,&lt;br /&gt;
gelöst habe ich es so:&lt;br /&gt;
- Datei: class.tx_dam_listbase.php im Ordner DAM\lib\&lt;br /&gt;
Unter der Zeile 256 (&amp;#039;itemTD&amp;#039; =&amp;gt; &amp;#039; class=&amp;quot;typo3-dblist-item&amp;quot;&amp;#039;,)&lt;br /&gt;
ist in 3 Werten als Breite 1% angegeben. Das auskommentieren&lt;br /&gt;
&lt;br /&gt;
- Datei: stylesheet.cdd in typo3_src\typo3\&lt;br /&gt;
table.typo3-dblist width: 98%; durch width: auto; ersetzen und in&lt;br /&gt;
table.typo3-dblist tr td {width: auto;} einsetzen,&lt;br /&gt;
&lt;br /&gt;
damit hats bei mir im IE 7, Firefox, safari für Win und Opera alles richtig angezeigt :-)&lt;br /&gt;
&lt;br /&gt;
Ich hoffe, geholrfen zu haben,&lt;br /&gt;
Schmoozer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bug in Mount Points&lt;br /&gt;
&lt;br /&gt;
== Datenbank über Root Shell sichern (mysql backup) ==&lt;br /&gt;
&lt;br /&gt;
mysqldump -opt ...&lt;br /&gt;
&lt;br /&gt;
Beispiele&lt;br /&gt;
&lt;br /&gt;
Die häufigste Anwendung von mysqldump ist wahrscheinlich die &amp;#039;&amp;#039;&amp;#039;Erstellung eines Backups einer vollständigen Datenbank&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --opt db_name &amp;gt; backup-file.sql&lt;br /&gt;
&lt;br /&gt;
oder mit User und Passwortangabe:&lt;br /&gt;
 mysqldump -u meinDBUser -pGEHEIM db_name &amp;gt; backup.sql&lt;br /&gt;
&lt;br /&gt;
--opt ist in neueren MySQL Versionen Standardmäßig an deshalb lassen wir es mal weg.&lt;br /&gt;
&lt;br /&gt;
Die Speicherauszugsdatei können Sie wie folgt &amp;#039;&amp;#039;&amp;#039;wieder einspielen&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysql db_name &amp;lt; backup-file.sql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oder aber so:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysql -e &amp;quot;source /path-to-backup/backup-file.sql&amp;quot; db_name&lt;br /&gt;
&lt;br /&gt;
mysqldump ist ferner sehr nützlich zum Ausfüllen von Datenbanken durch Kopieren von Daten von einem MySQL Server auf einen anderen:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --opt db_name | mysql --host=remote_host -C db_name&lt;br /&gt;
&lt;br /&gt;
Sie können mit einem einzigen Befehl einen Speicherauszug mehrerer Datenbanken erstellen:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --databases db_name1 [db_name2 ...] &amp;gt; my_databases.sql&lt;br /&gt;
&lt;br /&gt;
Um einen Speicherauszug aller Datenbanken zu erstellen, verwenden Sie die Option --all-databases:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --all-databases &amp;gt; all_databases.sql&lt;br /&gt;
&lt;br /&gt;
Bei InnoDB-Tabellen bietet mysqldump die Möglichkeit, eine Online-Sicherung zu erstellen:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --all-databases --single-transaction &amp;gt; all_databases.sql&lt;br /&gt;
&lt;br /&gt;
Diese Datensicherung muss vor Beginn des Speicherauszugsvorgangs lediglich (mit FLUSH TABLES WITH READ LOCK) eine globale Lesesperre für alle Tabellen erwirken. Sobald diese Sperre aktiv ist, werden die Koordinaten des Binärlogs ausgelesen, und die Sperre wird aufgehoben. Wenn beim Absetzen der FLUSH-Anweisung gerade eine umfangreiche Änderungsanweisung ausgeführt wird, dann – und nur dann! – kann der MySQL Server stehen bleiben, bis diese lange Anweisung ausgeführt ist; danach ist der Server sperrfrei. Wenn die vom MySQL Server empfangenen Änderungsanweisungen (in Bezug auf ihre Ausführungsdauer) kurz sind, sollte die anfängliche Sperrperiode auch bei vielen Änderungen nicht spürbar sein.&lt;br /&gt;
&lt;br /&gt;
Bei der Point-in-Time-Wiederherstellung (die auch als „Roll-Forward“ bezeichnet wird, wenn Sie ein altes Backup wiederherstellen und die seitdem durchgeführten Änderungen neu aufspielen müssen) ist es häufig nützlich, das Binärlog zu rotieren (siehe Abschnitt 5.12.3, „Die binäre Update-Logdatei“) oder zumindest die Binärlogkoordinaten zu kennen, denen der Speicherauszug entspricht:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --all-databases --master-data=2 &amp;gt; all_databases.sql&lt;br /&gt;
&lt;br /&gt;
Oder:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --all-databases --flush-logs --master-data=2&lt;br /&gt;
              &amp;gt; all_databases.sql&lt;br /&gt;
&lt;br /&gt;
== Mass Update Script ==&lt;br /&gt;
&lt;br /&gt;
Yesterday some updates came out for TYPO3. These updates fixed certain issues and we needed to update all of our excellent shared hosting environments.&lt;br /&gt;
&lt;br /&gt;
We already have a script (which is more elaborate now) that checks all our TYPO3 installations and sends the sysadmins a nice report about its findings. We use part of that report (list of paths to Document Roots) to feed the updater script.&lt;br /&gt;
&lt;br /&gt;
The TYPO3 update requires you to do the followi&lt;br /&gt;
&lt;br /&gt;
    * update encryption key&lt;br /&gt;
    * clear configuration cache&lt;br /&gt;
    * clear page cache&lt;br /&gt;
&lt;br /&gt;
We do not want to go into 200+ TYPO3 backends and do those tasks manually. We are lazy and we will write a script to automagically do the boring tasks for us.&lt;br /&gt;
&lt;br /&gt;
This script is not perfect but it works well on Debian systems. You can modify it to fit your needs. It was just a quick hack to ease the upgrade pain. Take care to switch the symlink part for upgrade runs of different versions of TYPO3.&lt;br /&gt;
&lt;br /&gt;
I am not responsible for any damage to your system that may occur to misuse of this script. Make sure you understand it before you run it. Run it with a single URI before attempting a whole ist of URI&amp;#039;s. &lt;br /&gt;
&lt;br /&gt;
Ein Massen Update Script von:&lt;br /&gt;
&lt;br /&gt;
http://typofree.org/article/archive/2009/january/title/typo3-mass-upgrade-script/&lt;br /&gt;
Zugriff am 12.3.2009&lt;br /&gt;
&lt;br /&gt;
http://typofree.org/article/archive/2009/january/title/typo3-mass-upgrade-script/&lt;br /&gt;
&lt;br /&gt;
TYPO3 mass update script&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      #!/bin/sh&lt;br /&gt;
   2.&lt;br /&gt;
      binDir=/usr/bin/&lt;br /&gt;
   3.&lt;br /&gt;
      sleep=2&lt;br /&gt;
   4.&lt;br /&gt;
       &lt;br /&gt;
   5.&lt;br /&gt;
      pageCacheTables=(&lt;br /&gt;
   6.&lt;br /&gt;
              cache_pages&lt;br /&gt;
   7.&lt;br /&gt;
              cache_pagesection&lt;br /&gt;
   8.&lt;br /&gt;
      )&lt;br /&gt;
   9.&lt;br /&gt;
       &lt;br /&gt;
  10.&lt;br /&gt;
      sites=(&lt;br /&gt;
  11.&lt;br /&gt;
              /var/www/sites/live/www.somedomain.tld&lt;br /&gt;
  12.&lt;br /&gt;
              /var/www/sites/live/www.someotherdomain.tld&lt;br /&gt;
  13.&lt;br /&gt;
              /var/www/sites/live/www.yetsomeotherdomain.tld&lt;br /&gt;
  14.&lt;br /&gt;
      )&lt;br /&gt;
  15.&lt;br /&gt;
       &lt;br /&gt;
  16.&lt;br /&gt;
      len=${#sites[*]}&lt;br /&gt;
  17.&lt;br /&gt;
      pageCacheTablesLength=${#pageCacheTables[*]}&lt;br /&gt;
  18.&lt;br /&gt;
      i=0&lt;br /&gt;
  19.&lt;br /&gt;
      while [ $i -lt $len ]; do&lt;br /&gt;
  20.&lt;br /&gt;
              echo updating: ${sites[$i]}&lt;br /&gt;
  21.&lt;br /&gt;
                      cd ${sites[$i]}&lt;br /&gt;
  22.&lt;br /&gt;
                      rm typo3_src&lt;br /&gt;
  23.&lt;br /&gt;
                      ln -s ../../sources/typo3_src-4.2.5 typo3_src&lt;br /&gt;
  24.&lt;br /&gt;
       &lt;br /&gt;
  25.&lt;br /&gt;
              echo generating new key&lt;br /&gt;
  26.&lt;br /&gt;
                      k=0&lt;br /&gt;
  27.&lt;br /&gt;
                      key=&amp;#039;&amp;#039;&lt;br /&gt;
  28.&lt;br /&gt;
                      while [ $k -lt 96 ]; do&lt;br /&gt;
  29.&lt;br /&gt;
                              key=$key$(head -100 /dev/urandom | md5sum | cut -c1)&lt;br /&gt;
  30.&lt;br /&gt;
                              let k++&lt;br /&gt;
  31.&lt;br /&gt;
                      done&lt;br /&gt;
  32.&lt;br /&gt;
                      echo key: $key&lt;br /&gt;
  33.&lt;br /&gt;
                      sed -i &amp;quot;s/\(\$TYPO3_CONF_VARS\[&amp;#039;SYS&amp;#039;]\[&amp;#039;encryptionKey&amp;#039;] = \).*/\1&amp;#039;$key&amp;#039;;/g&amp;quot; typo3conf/localconf.php&lt;br /&gt;
  34.&lt;br /&gt;
             &lt;br /&gt;
  35.&lt;br /&gt;
              echo removing configuration cache&lt;br /&gt;
  36.&lt;br /&gt;
                      rm -f typo3conf/temp_CACHED*&lt;br /&gt;
  37.&lt;br /&gt;
       &lt;br /&gt;
  38.&lt;br /&gt;
              echo clearing page cache&lt;br /&gt;
  39.&lt;br /&gt;
                      # For some insane reason some values are enclosed in double qotes&lt;br /&gt;
  40.&lt;br /&gt;
                      database=$(grep &amp;quot;typo_db &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^&amp;#039;]*&amp;#039;\([^&amp;#039;]*\)&amp;#039;.*/\1/&amp;quot; | grep &amp;#039;$typo_db =&amp;#039;)&lt;br /&gt;
  41.&lt;br /&gt;
                      if [ -z &amp;quot;$database&amp;quot; ] ; then&lt;br /&gt;
  42.&lt;br /&gt;
                              database=$(grep &amp;quot;typo_db &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^&amp;#039;]*&amp;#039;\([^&amp;#039;]*\)&amp;#039;.*/\1/&amp;quot;)&lt;br /&gt;
  43.&lt;br /&gt;
                      else&lt;br /&gt;
  44.&lt;br /&gt;
                              database=$(grep &amp;quot;typo_db &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^\&amp;quot;]*\&amp;quot;\([^\&amp;quot;]*\)\&amp;quot;.*/\1/&amp;quot;)&lt;br /&gt;
  45.&lt;br /&gt;
                      fi&lt;br /&gt;
  46.&lt;br /&gt;
                      username=$(grep &amp;quot;typo_db_username &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^&amp;#039;]*&amp;#039;\([^&amp;#039;]*\)&amp;#039;.*/\1/&amp;quot; | grep &amp;#039;$typo_db_username =&amp;#039;)&lt;br /&gt;
  47.&lt;br /&gt;
                      if [ -z &amp;quot;$username&amp;quot; ] ; then&lt;br /&gt;
  48.&lt;br /&gt;
                              username=$(grep &amp;quot;typo_db_username &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^&amp;#039;]*&amp;#039;\([^&amp;#039;]*\)&amp;#039;.*/\1/&amp;quot;)&lt;br /&gt;
  49.&lt;br /&gt;
                      else&lt;br /&gt;
  50.&lt;br /&gt;
                              username=$(grep &amp;quot;typo_db_username &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^\&amp;quot;]*\&amp;quot;\([^\&amp;quot;]*\)\&amp;quot;.*/\1/&amp;quot;)&lt;br /&gt;
  51.&lt;br /&gt;
                      fi&lt;br /&gt;
  52.&lt;br /&gt;
                      password=$(grep &amp;quot;typo_db_password &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^&amp;#039;]*&amp;#039;\([^&amp;#039;]*\)&amp;#039;.*/\1/&amp;quot; | grep &amp;#039;$typo_db_password =&amp;#039;)&lt;br /&gt;
  53.&lt;br /&gt;
                      if [ -z &amp;quot;$password&amp;quot; ] ; then&lt;br /&gt;
  54.&lt;br /&gt;
                              password=$(grep &amp;quot;typo_db_password &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^&amp;#039;]*&amp;#039;\([^&amp;#039;]*\)&amp;#039;.*/\1/&amp;quot;)&lt;br /&gt;
  55.&lt;br /&gt;
                      else&lt;br /&gt;
  56.&lt;br /&gt;
                              password=$(grep &amp;quot;typo_db_password &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^\&amp;quot;]*\&amp;quot;\([^\&amp;quot;]*\)\&amp;quot;.*/\1/&amp;quot;)&lt;br /&gt;
  57.&lt;br /&gt;
                      fi&lt;br /&gt;
  58.&lt;br /&gt;
                      j=0&lt;br /&gt;
  59.&lt;br /&gt;
                      while [ $j -lt $pageCacheTablesLength ];&lt;br /&gt;
  60.&lt;br /&gt;
                      do&lt;br /&gt;
  61.&lt;br /&gt;
                              nice -n 19 ${binDir}mysql --batch -u$username -p&amp;quot;$password&amp;quot; -D$database -e &amp;quot;TRUNCATE ${pageCacheTables[$j]}&amp;quot;&lt;br /&gt;
  62.&lt;br /&gt;
                              nice -n 19 ${binDir}mysql --batch -u$username -p&amp;quot;$password&amp;quot; -D$database -e &amp;quot;ALTER TABLE ${pageCacheTables[$j]} auto_increment=1&amp;quot;&lt;br /&gt;
  63.&lt;br /&gt;
                              let j++&lt;br /&gt;
  64.&lt;br /&gt;
                      done&lt;br /&gt;
  65.&lt;br /&gt;
       &lt;br /&gt;
  66.&lt;br /&gt;
              echo &amp;quot;done! Sleeping $sleep seconds . . .&amp;quot;&lt;br /&gt;
  67.&lt;br /&gt;
                      sleep $sleep&lt;br /&gt;
  68.&lt;br /&gt;
       &lt;br /&gt;
  69.&lt;br /&gt;
              echo&lt;br /&gt;
  70.&lt;br /&gt;
        let i++&lt;br /&gt;
  71.&lt;br /&gt;
      done&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Update&amp;diff=19261</id>
		<title>Typo3 - Update</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Update&amp;diff=19261"/>
		<updated>2012-10-10T12:33:36Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Update auf 4.1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Update Infos 4.5 ==&lt;br /&gt;
* Weitere Tools werden separat installiert&lt;br /&gt;
* utf-8 für Datenbankverbindung wird vorausgesetzt (siehe auch Typo3 auf utf-8 umstellen)&lt;br /&gt;
* Zugriff auf veraltete php-Funktionen werden geloggt. Vorsichtig Log kann groß werden&lt;br /&gt;
* Extbase und Fluid&lt;br /&gt;
&lt;br /&gt;
== Update Infos 4.3 ==&lt;br /&gt;
* simulate_static_docs muss separat installiert werden&lt;br /&gt;
=== Update Wizard Info ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CSS Styled Content: Default targets for non-frame pages&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The default page target is empty (so no target is generated). If you use frames, you have to set target to &amp;quot;page&amp;quot; in Constants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CSS Styled Content: htmlspecialchars in menu content elements&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Page titles will get htmlspecialchar&amp;#039;ed when rendered in &amp;quot;Sitemap/menu&amp;quot; content elements, to avoid generating invalid XHTML.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;htmlArea RTE: Using CSS classes for indentation and alignment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    * Indentation is produced by a CSS class instead of the blockquote element.&lt;br /&gt;
      You will need to specify in Page TSConfig the class to be used for indentation using property buttons.indent.useClass (default is &amp;quot;indent&amp;quot;). You will need to define this class in your stylesheets and ensure that it is allowed by the RTE transformation (RTE.default.proc). Alternatively, you may continue using the blockquote element by setting property buttons.indent.useBlockquote. You may also want to add the new blockquote button to the RTE toolbar.&lt;br /&gt;
&lt;br /&gt;
    * Text alignment is produced by CSS classes instead of deprecated align attribute.&lt;br /&gt;
      You will need to specify in Page TSConfig the class to be used for each text alignment button using property buttons.[left, center, right or justifyfull].useClass (defaults are &amp;quot;align-left&amp;quot;, &amp;quot;align-center&amp;quot;, &amp;quot;align-right&amp;quot;, &amp;quot;align-justify&amp;quot;). You will need to define these classes in your stylesheets, and ensure that they are allowed by the RTE transformation (RTE.default.proc). Alternatively, you may continue using deprecated align attribute by setting property buttons.[left, center, right or justifyfull].useAlignAttribute.&lt;br /&gt;
&lt;br /&gt;
== Update alter Typo3 Installationen (&amp;lt;V.3.8)==&lt;br /&gt;
Aus der Mailing Liste Östereich:&lt;br /&gt;
- der Core ist relativ easy (fast) immer zu upgraden (muesst&amp;#039; eigentlich von&lt;br /&gt;
v3.3 auch gehen ;-) )&lt;br /&gt;
- Achte immer auf installierte Extensions&lt;br /&gt;
* wenn etwas nicht geht, mal soweit wie moeglich alle Extensions wegschalten (nicht loeschen!).&lt;br /&gt;
* dann zuschalten; wenns dann hakt, dann sieht man gleich welche ext &amp;quot;boese&amp;quot; ist.&lt;br /&gt;
* dann diese ext updaten, wenns keine updates gibt, mal danach googlen.&lt;br /&gt;
* wenns dann net geht, debuggen..&lt;br /&gt;
&lt;br /&gt;
Weitere Probleme:&lt;br /&gt;
&lt;br /&gt;
Alte TS Templates arbeiten noch mit CSet und Content als default Template. Nach umstellen auf css-styled-content muß evt. einiges angepasst werden:&lt;br /&gt;
&lt;br /&gt;
== Update auf 4.1 ==&lt;br /&gt;
Unbedingt im Install Tool Compare ausführen und Tabellen aktualisieren. Sonst kann es Probleme mit verschiedenen Extensions geben (z.B. Login..)&lt;br /&gt;
&lt;br /&gt;
== Probleme lösen ==&lt;br /&gt;
Nach dem Datenbank Compare fehlen Teile der TYPOScript Templates&lt;br /&gt;
&lt;br /&gt;
Lösung&lt;br /&gt;
&lt;br /&gt;
Von Version 4.2 auf 4.1 werden blob Felder zu Text Feldern umgewandelt. Dabei werden bei Umlauten die Inhalte abgeschnitten, wenn die Datenbank utf-8 arbeitet, TYPO3 aber die Daten in latin abgelegt hat. &lt;br /&gt;
&lt;br /&gt;
Beim Compare muß man dann die blob konvertierungen weglassen (vor allem bei den Templates - in der Regel gibt es da Kommentare mit Umlauten) und leicht abgewandelt selbst durchführen:&lt;br /&gt;
&lt;br /&gt;
 ALTER TABLE sys_template CHANGE config config TEXT CHARACTER SET latin1;&lt;br /&gt;
&lt;br /&gt;
Typo3 läßt hier die Angabe welcher Zeichensatz drin ist weg.&lt;br /&gt;
&lt;br /&gt;
Link: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html (Zugriff: 10/2012)&lt;br /&gt;
&lt;br /&gt;
== Release Notes Version 4.1 ==&lt;br /&gt;
Die wichtigsten Neuerungen&lt;br /&gt;
* IRRE (Inline Relational Record Editing)&lt;br /&gt;
* AJAX Page and File Tree&lt;br /&gt;
* Clean-up functions (command line scripts)(Über Extension lowlevel)&lt;br /&gt;
* Improved Extension Manager (less memory, stored extension list)&lt;br /&gt;
* UTF-8 for filenames&lt;br /&gt;
* Backend &amp;quot;Who is online&amp;quot;&lt;br /&gt;
* Frontend &amp;quot;Stay logged in&amp;quot; (Konfiguration mit new login box)&lt;br /&gt;
* MySQL InnoDB (Wird automatisch bei Neuinstallation zur Verfügung gestellt, wenn es in mySQL aktiviert ist)&lt;br /&gt;
* Speed up Backend with .htaccess http://typo3.org/development/articles/release-notes-41/page/4/)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manuelles ändern der Tabellen auf InnoDB ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alter table cache_hash ENGINE = INNODB;&lt;br /&gt;
alter table cache_imagesizes ENGINE = INNODB;&lt;br /&gt;
alter table cache_md5params ENGINE = INNODB;&lt;br /&gt;
alter table cache_pages ENGINE = INNODB;&lt;br /&gt;
alter table cache_pagesection ENGINE = INNODB;&lt;br /&gt;
alter table cache_typo3temp_log ENGINE = INNODB;&lt;br /&gt;
alter table fe_sessions ENGINE = INNODB;&lt;br /&gt;
alter table fe_session_data ENGINE = INNODB;&lt;br /&gt;
alter table index_fulltext ENGINE = INNODB;&lt;br /&gt;
alter table index_grlist ENGINE = INNODB;&lt;br /&gt;
alter table index_phash ENGINE = INNODB;&lt;br /&gt;
alter table index_rel ENGINE = INNODB;&lt;br /&gt;
alter table index_section ENGINE = INNODB;&lt;br /&gt;
alter table index_stat_search ENGINE = INNODB;&lt;br /&gt;
alter table index_stat_word ENGINE = INNODB;&lt;br /&gt;
alter table index_words ENGINE = INNODB;&lt;br /&gt;
alter table sys_log ENGINE = INNODB;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Generelle Informationen zum Update unter Linux ==&lt;br /&gt;
Quelle: typo3.net Mai 2006&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Typo3 ist normalerweise sehr einfach upzudaten - allerdings müssen ein paar Dinge beachtet werden, um updatefähig zu bleiben:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Es dürfen keine Änderungen an dem Typo3-Sourcecode gemacht worden sein. Falls dieses doch gemacht wurde, müssen natürlich diese Änderungen erst in die neue Version eingearbeitet werden.&lt;br /&gt;
* Installierte Extensions sollten möglichst immer LOCAL installiert worden sein. So bleiben diese nach dem Tausch des Typo3-Sourcecodes unberührt und funktionieren nach dem Update (meist) wie gewohnt. Es gibt nur selten den Fall, daß eine Typo3-Version eine Funktion nicht mehr verwendet, die es in der alten Version noch gab.&lt;br /&gt;
* Wenn sie HTML-Templates von GLOBAL installierten Erweiterungen direkt im Extensionordner modifiziert haben sollten, müssen diese erst z.B. in den fileadmin kopiert werden. Dann können Sie den Pfad zu dieser Datei im TypoScript anpassen.&lt;br /&gt;
&lt;br /&gt;
Den Pfad finden Sie überigens mithilfe des TypoScript-Object-Browsers schnell. Meist ist er an der Stelle plugin.extensionname.templateFile zu finden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:T3_wichtigeVerzeichnisse.gif]]&lt;br /&gt;
&lt;br /&gt;
Einige der wichtigsten Verzeichnisse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Das Update für mittwaldmedien Kunden&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Für unsere Kunden ist es nun besonders einfach, die vorhandene Installation auf die aktuelle Version zu bringen. Sie müssen sich nur auf der Webseite http://www.typo3server.com einloggen. Nach dem Login finden Sie ein Menü mit einem Link zu dem Typo3-Versionsmanager. Dort können Sie mit einem Klick Ihren Account auf die neue Version updaten.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ToDo Versionsmanager für Geo-bit&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Manuelles Update&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Für diejenigen, die dieses Update manuell machen wollen oder müssen, sind die folgenden Schrittenötig. Die Beispiele - vor allem die Pfade - müssen natürlich angepasst werden. Die Beispiele gehen davon aus, daß Sie eine Verzeichnisstruktur angelegt haben, die dem obigen Bild entspricht.&lt;br /&gt;
&lt;br /&gt;
1. Machen Sie zuerst eine Datensicherung von dem Typo3-Sourcen und Ihrem html-Ordner! Die Datenbank können Sie nun über diesen Befehl sichern:&lt;br /&gt;
&lt;br /&gt;
 mysqldump -u benutzername -p -B --add-drop-table datenbank &amp;gt; typo3DBSicherung.sql&lt;br /&gt;
&lt;br /&gt;
Notfalls könnte auch ein Dump mit phpMyAdmin erstellt werden.&lt;br /&gt;
&lt;br /&gt;
2. Verbinden Sie sich mit Ihrem Server über SSH.&lt;br /&gt;
&lt;br /&gt;
3. Wechseln Sie das Verzeichnis auf einer Ebene über dem Rootverzeichnis Ihres Webservers.&lt;br /&gt;
z.B.: cd /home/www/p1234/&lt;br /&gt;
&lt;br /&gt;
4. Laden Sie sich die neuen Typo3-Sourcen auf ihren Linuxrechner. Die aktuellen Sourcen finden Sie unter: http://typo3.org/download/packages/.&lt;br /&gt;
&lt;br /&gt;
Die benötigte Datei hat das Format typo3_src-3.x.x.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
      &lt;br /&gt;
 wget belnet.dl.sourceforge.net/sourceforge/typo3/typo3_src-3.7.0.tar.gz&lt;br /&gt;
&lt;br /&gt;
5. Entpacken Sie die Datei mit dem Kommando:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 tar -xzvf typo3_src-3.x.x.tar.gz&lt;br /&gt;
&lt;br /&gt;
6. Ändern Sie nun die Rechte so, wie der bisherige Typo3-Sourcecode-Ordner sie hatte.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 chown p1234.ftponly typo3_src-3.7.0 -R&lt;br /&gt;
&lt;br /&gt;
7. Entfernen Sie den alten symbolischen Link mit:&lt;br /&gt;
&lt;br /&gt;
 rm typo3_src&lt;br /&gt;
&lt;br /&gt;
8. Legen Sie nun einen neuen Link an mit:&lt;br /&gt;
&lt;br /&gt;
 ln -s typo3_src-3.x.x typo3_src&lt;br /&gt;
&lt;br /&gt;
(Die Versionsnummer müssen Sie natürlich noch anpassen.)&lt;br /&gt;
&lt;br /&gt;
9. Nun muss die Datenbank noch aktualisiert werden:&lt;br /&gt;
&lt;br /&gt;
Gehen Sie hierzu in das Typo3-Installtool und klicken Sie auf den 2. Menüpunkt Database Analyser. Mit einem Klick auf Compare werden die zu ändernden oder zu ergänzenden Datenbankfelder angezeigt. Mit einem Klick auf &amp;quot;Write to database&amp;quot; wird die Datenbank an die neue Typo3-Version angepasst.&lt;br /&gt;
&lt;br /&gt;
10. Loggen Sie sich nun als Admin im Backend an und löschen Sie alle Caches.&lt;br /&gt;
&lt;br /&gt;
== Neu in Version 4 ==&lt;br /&gt;
* Conditions mit AND und OR (|| &amp;amp;&amp;amp;)&lt;br /&gt;
&lt;br /&gt;
== Neu in 4.2 ==&lt;br /&gt;
Viele Usability Verbesserungen im Backend&lt;br /&gt;
== Update auf 4.2 ==&lt;br /&gt;
=== Extensions Updaten ===&lt;br /&gt;
* dam 1.0.11 ist nicht kompatibel Update auf min. 1.0.13&lt;br /&gt;
* date2cal auf &amp;gt;= 7.1.0&lt;br /&gt;
* Kickstarter 0.3.8 ist nicht kompatibel&lt;br /&gt;
* Developer tools gehen nicht mehr (wg. Frame oben)&lt;br /&gt;
&lt;br /&gt;
=== Ablauf ===&lt;br /&gt;
* Backend Benutzer sperren (only Admins)&lt;br /&gt;
* Sicherung der Datenbank&lt;br /&gt;
* neue Source + Symlink&lt;br /&gt;
* Update Wizard&lt;br /&gt;
* Compare&lt;br /&gt;
&lt;br /&gt;
=== Probleme ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DAM Upload geht für Benutzer&amp;#039;&amp;#039;&amp;#039; nicht mehr (Fehler Meta Daten können nicht geschrieben werden)&lt;br /&gt;
Beim neu indizieren geht dem dam der Media Ordner verloren. Er legt dann einen neuen an, in den er scheiben möchte. Die Benutzer sind abe noch auf den alten eingestellt. D.h. die Benutzergruppen m´üssen auf den neuen eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
Im Dam stehen im IE7 die Benutzerwerkzeuge nicht zur verfügung (löschen etc.) nur der Stift ist noch da.&lt;br /&gt;
&lt;br /&gt;
Lösung: Das Problem ist das CSS für das Fenster. Es verdeckt die restlichen Symbole&lt;br /&gt;
Forum: 24.7.&lt;br /&gt;
&lt;br /&gt;
Ich hatte das gleiche Problem bis vor 5 Minuten auch,&lt;br /&gt;
gelöst habe ich es so:&lt;br /&gt;
- Datei: class.tx_dam_listbase.php im Ordner DAM\lib\&lt;br /&gt;
Unter der Zeile 256 (&amp;#039;itemTD&amp;#039; =&amp;gt; &amp;#039; class=&amp;quot;typo3-dblist-item&amp;quot;&amp;#039;,)&lt;br /&gt;
ist in 3 Werten als Breite 1% angegeben. Das auskommentieren&lt;br /&gt;
&lt;br /&gt;
- Datei: stylesheet.cdd in typo3_src\typo3\&lt;br /&gt;
table.typo3-dblist width: 98%; durch width: auto; ersetzen und in&lt;br /&gt;
table.typo3-dblist tr td {width: auto;} einsetzen,&lt;br /&gt;
&lt;br /&gt;
damit hats bei mir im IE 7, Firefox, safari für Win und Opera alles richtig angezeigt :-)&lt;br /&gt;
&lt;br /&gt;
Ich hoffe, geholrfen zu haben,&lt;br /&gt;
Schmoozer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bug in Mount Points&lt;br /&gt;
&lt;br /&gt;
== Datenbank über Root Shell sichern (mysql backup) ==&lt;br /&gt;
&lt;br /&gt;
mysqldump -opt ...&lt;br /&gt;
&lt;br /&gt;
Beispiele&lt;br /&gt;
&lt;br /&gt;
Die häufigste Anwendung von mysqldump ist wahrscheinlich die &amp;#039;&amp;#039;&amp;#039;Erstellung eines Backups einer vollständigen Datenbank&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --opt db_name &amp;gt; backup-file.sql&lt;br /&gt;
&lt;br /&gt;
oder mit User und Passwortangabe:&lt;br /&gt;
 mysqldump -u meinDBUser -pGEHEIM db_name &amp;gt; backup.sql&lt;br /&gt;
&lt;br /&gt;
--opt ist in neueren MySQL Versionen Standardmäßig an deshalb lassen wir es mal weg.&lt;br /&gt;
&lt;br /&gt;
Die Speicherauszugsdatei können Sie wie folgt &amp;#039;&amp;#039;&amp;#039;wieder einspielen&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysql db_name &amp;lt; backup-file.sql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oder aber so:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysql -e &amp;quot;source /path-to-backup/backup-file.sql&amp;quot; db_name&lt;br /&gt;
&lt;br /&gt;
mysqldump ist ferner sehr nützlich zum Ausfüllen von Datenbanken durch Kopieren von Daten von einem MySQL Server auf einen anderen:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --opt db_name | mysql --host=remote_host -C db_name&lt;br /&gt;
&lt;br /&gt;
Sie können mit einem einzigen Befehl einen Speicherauszug mehrerer Datenbanken erstellen:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --databases db_name1 [db_name2 ...] &amp;gt; my_databases.sql&lt;br /&gt;
&lt;br /&gt;
Um einen Speicherauszug aller Datenbanken zu erstellen, verwenden Sie die Option --all-databases:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --all-databases &amp;gt; all_databases.sql&lt;br /&gt;
&lt;br /&gt;
Bei InnoDB-Tabellen bietet mysqldump die Möglichkeit, eine Online-Sicherung zu erstellen:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --all-databases --single-transaction &amp;gt; all_databases.sql&lt;br /&gt;
&lt;br /&gt;
Diese Datensicherung muss vor Beginn des Speicherauszugsvorgangs lediglich (mit FLUSH TABLES WITH READ LOCK) eine globale Lesesperre für alle Tabellen erwirken. Sobald diese Sperre aktiv ist, werden die Koordinaten des Binärlogs ausgelesen, und die Sperre wird aufgehoben. Wenn beim Absetzen der FLUSH-Anweisung gerade eine umfangreiche Änderungsanweisung ausgeführt wird, dann – und nur dann! – kann der MySQL Server stehen bleiben, bis diese lange Anweisung ausgeführt ist; danach ist der Server sperrfrei. Wenn die vom MySQL Server empfangenen Änderungsanweisungen (in Bezug auf ihre Ausführungsdauer) kurz sind, sollte die anfängliche Sperrperiode auch bei vielen Änderungen nicht spürbar sein.&lt;br /&gt;
&lt;br /&gt;
Bei der Point-in-Time-Wiederherstellung (die auch als „Roll-Forward“ bezeichnet wird, wenn Sie ein altes Backup wiederherstellen und die seitdem durchgeführten Änderungen neu aufspielen müssen) ist es häufig nützlich, das Binärlog zu rotieren (siehe Abschnitt 5.12.3, „Die binäre Update-Logdatei“) oder zumindest die Binärlogkoordinaten zu kennen, denen der Speicherauszug entspricht:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --all-databases --master-data=2 &amp;gt; all_databases.sql&lt;br /&gt;
&lt;br /&gt;
Oder:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysqldump --all-databases --flush-logs --master-data=2&lt;br /&gt;
              &amp;gt; all_databases.sql&lt;br /&gt;
&lt;br /&gt;
== Mass Update Script ==&lt;br /&gt;
&lt;br /&gt;
Yesterday some updates came out for TYPO3. These updates fixed certain issues and we needed to update all of our excellent shared hosting environments.&lt;br /&gt;
&lt;br /&gt;
We already have a script (which is more elaborate now) that checks all our TYPO3 installations and sends the sysadmins a nice report about its findings. We use part of that report (list of paths to Document Roots) to feed the updater script.&lt;br /&gt;
&lt;br /&gt;
The TYPO3 update requires you to do the followi&lt;br /&gt;
&lt;br /&gt;
    * update encryption key&lt;br /&gt;
    * clear configuration cache&lt;br /&gt;
    * clear page cache&lt;br /&gt;
&lt;br /&gt;
We do not want to go into 200+ TYPO3 backends and do those tasks manually. We are lazy and we will write a script to automagically do the boring tasks for us.&lt;br /&gt;
&lt;br /&gt;
This script is not perfect but it works well on Debian systems. You can modify it to fit your needs. It was just a quick hack to ease the upgrade pain. Take care to switch the symlink part for upgrade runs of different versions of TYPO3.&lt;br /&gt;
&lt;br /&gt;
I am not responsible for any damage to your system that may occur to misuse of this script. Make sure you understand it before you run it. Run it with a single URI before attempting a whole ist of URI&amp;#039;s. &lt;br /&gt;
&lt;br /&gt;
Ein Massen Update Script von:&lt;br /&gt;
&lt;br /&gt;
http://typofree.org/article/archive/2009/january/title/typo3-mass-upgrade-script/&lt;br /&gt;
Zugriff am 12.3.2009&lt;br /&gt;
&lt;br /&gt;
http://typofree.org/article/archive/2009/january/title/typo3-mass-upgrade-script/&lt;br /&gt;
&lt;br /&gt;
TYPO3 mass update script&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      #!/bin/sh&lt;br /&gt;
   2.&lt;br /&gt;
      binDir=/usr/bin/&lt;br /&gt;
   3.&lt;br /&gt;
      sleep=2&lt;br /&gt;
   4.&lt;br /&gt;
       &lt;br /&gt;
   5.&lt;br /&gt;
      pageCacheTables=(&lt;br /&gt;
   6.&lt;br /&gt;
              cache_pages&lt;br /&gt;
   7.&lt;br /&gt;
              cache_pagesection&lt;br /&gt;
   8.&lt;br /&gt;
      )&lt;br /&gt;
   9.&lt;br /&gt;
       &lt;br /&gt;
  10.&lt;br /&gt;
      sites=(&lt;br /&gt;
  11.&lt;br /&gt;
              /var/www/sites/live/www.somedomain.tld&lt;br /&gt;
  12.&lt;br /&gt;
              /var/www/sites/live/www.someotherdomain.tld&lt;br /&gt;
  13.&lt;br /&gt;
              /var/www/sites/live/www.yetsomeotherdomain.tld&lt;br /&gt;
  14.&lt;br /&gt;
      )&lt;br /&gt;
  15.&lt;br /&gt;
       &lt;br /&gt;
  16.&lt;br /&gt;
      len=${#sites[*]}&lt;br /&gt;
  17.&lt;br /&gt;
      pageCacheTablesLength=${#pageCacheTables[*]}&lt;br /&gt;
  18.&lt;br /&gt;
      i=0&lt;br /&gt;
  19.&lt;br /&gt;
      while [ $i -lt $len ]; do&lt;br /&gt;
  20.&lt;br /&gt;
              echo updating: ${sites[$i]}&lt;br /&gt;
  21.&lt;br /&gt;
                      cd ${sites[$i]}&lt;br /&gt;
  22.&lt;br /&gt;
                      rm typo3_src&lt;br /&gt;
  23.&lt;br /&gt;
                      ln -s ../../sources/typo3_src-4.2.5 typo3_src&lt;br /&gt;
  24.&lt;br /&gt;
       &lt;br /&gt;
  25.&lt;br /&gt;
              echo generating new key&lt;br /&gt;
  26.&lt;br /&gt;
                      k=0&lt;br /&gt;
  27.&lt;br /&gt;
                      key=&amp;#039;&amp;#039;&lt;br /&gt;
  28.&lt;br /&gt;
                      while [ $k -lt 96 ]; do&lt;br /&gt;
  29.&lt;br /&gt;
                              key=$key$(head -100 /dev/urandom | md5sum | cut -c1)&lt;br /&gt;
  30.&lt;br /&gt;
                              let k++&lt;br /&gt;
  31.&lt;br /&gt;
                      done&lt;br /&gt;
  32.&lt;br /&gt;
                      echo key: $key&lt;br /&gt;
  33.&lt;br /&gt;
                      sed -i &amp;quot;s/\(\$TYPO3_CONF_VARS\[&amp;#039;SYS&amp;#039;]\[&amp;#039;encryptionKey&amp;#039;] = \).*/\1&amp;#039;$key&amp;#039;;/g&amp;quot; typo3conf/localconf.php&lt;br /&gt;
  34.&lt;br /&gt;
             &lt;br /&gt;
  35.&lt;br /&gt;
              echo removing configuration cache&lt;br /&gt;
  36.&lt;br /&gt;
                      rm -f typo3conf/temp_CACHED*&lt;br /&gt;
  37.&lt;br /&gt;
       &lt;br /&gt;
  38.&lt;br /&gt;
              echo clearing page cache&lt;br /&gt;
  39.&lt;br /&gt;
                      # For some insane reason some values are enclosed in double qotes&lt;br /&gt;
  40.&lt;br /&gt;
                      database=$(grep &amp;quot;typo_db &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^&amp;#039;]*&amp;#039;\([^&amp;#039;]*\)&amp;#039;.*/\1/&amp;quot; | grep &amp;#039;$typo_db =&amp;#039;)&lt;br /&gt;
  41.&lt;br /&gt;
                      if [ -z &amp;quot;$database&amp;quot; ] ; then&lt;br /&gt;
  42.&lt;br /&gt;
                              database=$(grep &amp;quot;typo_db &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^&amp;#039;]*&amp;#039;\([^&amp;#039;]*\)&amp;#039;.*/\1/&amp;quot;)&lt;br /&gt;
  43.&lt;br /&gt;
                      else&lt;br /&gt;
  44.&lt;br /&gt;
                              database=$(grep &amp;quot;typo_db &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^\&amp;quot;]*\&amp;quot;\([^\&amp;quot;]*\)\&amp;quot;.*/\1/&amp;quot;)&lt;br /&gt;
  45.&lt;br /&gt;
                      fi&lt;br /&gt;
  46.&lt;br /&gt;
                      username=$(grep &amp;quot;typo_db_username &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^&amp;#039;]*&amp;#039;\([^&amp;#039;]*\)&amp;#039;.*/\1/&amp;quot; | grep &amp;#039;$typo_db_username =&amp;#039;)&lt;br /&gt;
  47.&lt;br /&gt;
                      if [ -z &amp;quot;$username&amp;quot; ] ; then&lt;br /&gt;
  48.&lt;br /&gt;
                              username=$(grep &amp;quot;typo_db_username &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^&amp;#039;]*&amp;#039;\([^&amp;#039;]*\)&amp;#039;.*/\1/&amp;quot;)&lt;br /&gt;
  49.&lt;br /&gt;
                      else&lt;br /&gt;
  50.&lt;br /&gt;
                              username=$(grep &amp;quot;typo_db_username &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^\&amp;quot;]*\&amp;quot;\([^\&amp;quot;]*\)\&amp;quot;.*/\1/&amp;quot;)&lt;br /&gt;
  51.&lt;br /&gt;
                      fi&lt;br /&gt;
  52.&lt;br /&gt;
                      password=$(grep &amp;quot;typo_db_password &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^&amp;#039;]*&amp;#039;\([^&amp;#039;]*\)&amp;#039;.*/\1/&amp;quot; | grep &amp;#039;$typo_db_password =&amp;#039;)&lt;br /&gt;
  53.&lt;br /&gt;
                      if [ -z &amp;quot;$password&amp;quot; ] ; then&lt;br /&gt;
  54.&lt;br /&gt;
                              password=$(grep &amp;quot;typo_db_password &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^&amp;#039;]*&amp;#039;\([^&amp;#039;]*\)&amp;#039;.*/\1/&amp;quot;)&lt;br /&gt;
  55.&lt;br /&gt;
                      else&lt;br /&gt;
  56.&lt;br /&gt;
                              password=$(grep &amp;quot;typo_db_password &amp;quot; typo3conf/localconf.php | tail -1 | sed &amp;quot;s/^[^\&amp;quot;]*\&amp;quot;\([^\&amp;quot;]*\)\&amp;quot;.*/\1/&amp;quot;)&lt;br /&gt;
  57.&lt;br /&gt;
                      fi&lt;br /&gt;
  58.&lt;br /&gt;
                      j=0&lt;br /&gt;
  59.&lt;br /&gt;
                      while [ $j -lt $pageCacheTablesLength ];&lt;br /&gt;
  60.&lt;br /&gt;
                      do&lt;br /&gt;
  61.&lt;br /&gt;
                              nice -n 19 ${binDir}mysql --batch -u$username -p&amp;quot;$password&amp;quot; -D$database -e &amp;quot;TRUNCATE ${pageCacheTables[$j]}&amp;quot;&lt;br /&gt;
  62.&lt;br /&gt;
                              nice -n 19 ${binDir}mysql --batch -u$username -p&amp;quot;$password&amp;quot; -D$database -e &amp;quot;ALTER TABLE ${pageCacheTables[$j]} auto_increment=1&amp;quot;&lt;br /&gt;
  63.&lt;br /&gt;
                              let j++&lt;br /&gt;
  64.&lt;br /&gt;
                      done&lt;br /&gt;
  65.&lt;br /&gt;
       &lt;br /&gt;
  66.&lt;br /&gt;
              echo &amp;quot;done! Sleeping $sleep seconds . . .&amp;quot;&lt;br /&gt;
  67.&lt;br /&gt;
                      sleep $sleep&lt;br /&gt;
  68.&lt;br /&gt;
       &lt;br /&gt;
  69.&lt;br /&gt;
              echo&lt;br /&gt;
  70.&lt;br /&gt;
        let i++&lt;br /&gt;
  71.&lt;br /&gt;
      done&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=MySQL_-_Kommandozeile&amp;diff=19260</id>
		<title>MySQL - Kommandozeile</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=MySQL_-_Kommandozeile&amp;diff=19260"/>
		<updated>2012-10-10T10:53:31Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* wieder einspielen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die wichtigsten mySQL Befehle...&lt;br /&gt;
== Dienstprogramm &amp;#039;mysql&amp;#039; starten==&lt;br /&gt;
 mysql -p&amp;lt;Paßwort&amp;gt; -u &amp;lt;Benutzername&amp;gt; &amp;lt;DB-Name&amp;gt;&lt;br /&gt;
oder&lt;br /&gt;
 mysql -u &amp;lt;Benutzername&amp;gt; -p &amp;lt;DB-Name&amp;gt;&lt;br /&gt;
 Enter password: ********&lt;br /&gt;
&lt;br /&gt;
=== Datenbank wechseln - use ===&lt;br /&gt;
=== Datenbank erstellen - CREATE DATABASE ===&lt;br /&gt;
CREATE DATABASE dbName;&lt;br /&gt;
=== Dateien abarbeiten ===&lt;br /&gt;
ateien abarbeiten&lt;br /&gt;
Wie oben schon erwähnt, kann man die Befehle auch mit einem ASCII[*]-Editor in eine Datei schreiben und diese dann abarbeiten lassen. Der Aufruf, der das Abarbeiten der Datei startet, ähnelt dem normalen mysql-Aufruf:&lt;br /&gt;
&lt;br /&gt;
 mysql -p{Paßwort} -u{Benutzername} {DB-Name} &amp;lt; dateiname&lt;br /&gt;
&lt;br /&gt;
Alle (Fehler-)Meldungen, die normalerweise angezeigt werden, werden auf den Bildschirm geschrieben.&lt;br /&gt;
=== Backup ===&lt;br /&gt;
z.B. mit mysqldump&lt;br /&gt;
- langsam aber sehr sicher (hohe Portabilität, im laufenden Betrieb)&lt;br /&gt;
 mysqldump -u username -pdbname &amp;gt; dateiname.sql&lt;br /&gt;
 Enter password: xxx&lt;br /&gt;
&lt;br /&gt;
==== wieder einspielen ====&lt;br /&gt;
sql-Datei hochspielen (FTP o.ä.)&lt;br /&gt;
einspielen wie in Dateien abarbeiten beschrieben:&lt;br /&gt;
 mysql -u username -p dbname &amp;lt; dateiname&lt;br /&gt;
&lt;br /&gt;
oder&lt;br /&gt;
&lt;br /&gt;
 mysql -u username -pMeinPasswort dbname &amp;lt; dateiname&lt;br /&gt;
&lt;br /&gt;
== Datenbank sichern mit mysqldump ==&lt;br /&gt;
&lt;br /&gt;
== Datenbank sichern ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kurzanleitung zur Anlage einer Database und einer Tabelle in MySQL&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Werden mehrere SQL-Kommandos benötigt, empfiehlt es sich, diese in einer einfachen ASCII-Textdatei abzulegen. Dann können sie leicht editiert und (eventuell geändert) wiederholt eingelesen werden.&lt;br /&gt;
Deshalb erstellen wir eine Datei &amp;#039;MeineDb.sql&amp;#039; mit folgendem Inhalt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- SQL-Datei für MySQL&lt;br /&gt;
-- Beim ersten Laden muss die folgende Zeile auskommentiert sein,&lt;br /&gt;
-- bei wiederholten Versuchen muss sie aktiviert sein (&amp;#039;--&amp;#039; entfernen):&lt;br /&gt;
-- DROP DATABASE MeineDb;&lt;br /&gt;
CREATE DATABASE MeineDb;&lt;br /&gt;
SHOW databases;&lt;br /&gt;
USE MeineDb;&lt;br /&gt;
CREATE TABLE MeineTestTabelle ( i INT, c CHAR(3), s VARCHAR(8), dt DATE );&lt;br /&gt;
CREATE TABLE MeineAdressen ( Name VARCHAR(16), Plz INT, Ort VARCHAR(16) );&lt;br /&gt;
SHOW tables;&lt;br /&gt;
INSERT INTO MeineTestTabelle VALUES ( 11, &amp;#039;ABC&amp;#039;, &amp;#039;Blubb&amp;#039;, &amp;#039;2000-01-01&amp;#039; );&lt;br /&gt;
INSERT INTO MeineTestTabelle VALUES ( 12, &amp;#039;ab&amp;#039;, &amp;#039;Blabla&amp;#039;, &amp;#039;2000-12-31&amp;#039; );&lt;br /&gt;
INSERT INTO MeineTestTabelle VALUES ( 42, &amp;#039;xy&amp;#039;, &amp;#039;äöüß§€&amp;#039;, &amp;#039;2005-06-06&amp;#039; );&lt;br /&gt;
SELECT * FROM MeineTestTabelle;&lt;br /&gt;
INSERT INTO MeineAdressen VALUES ( &amp;#039;Achim&amp;#039;,     52078, &amp;#039;Aachen&amp;#039; );&lt;br /&gt;
INSERT INTO MeineAdressen VALUES ( &amp;#039;Alexander&amp;#039;, 52134, &amp;#039;Herzogenrath&amp;#039; );&lt;br /&gt;
INSERT INTO MeineAdressen VALUES ( &amp;#039;Helmut&amp;#039;,    52066, &amp;#039;Aachen&amp;#039; );&lt;br /&gt;
INSERT INTO MeineAdressen VALUES ( &amp;#039;Josef&amp;#039;,     52070, &amp;#039;Aachen&amp;#039; );&lt;br /&gt;
INSERT INTO MeineAdressen VALUES ( &amp;#039;Manfred&amp;#039;,   52146, &amp;#039;Würselen&amp;#039; );&lt;br /&gt;
INSERT INTO MeineAdressen VALUES ( &amp;#039;Patrick&amp;#039;,   52074, &amp;#039;Aachen&amp;#039; );&lt;br /&gt;
INSERT INTO MeineAdressen VALUES ( &amp;#039;Roland&amp;#039;,    52134, &amp;#039;Herzogenrath&amp;#039; );&lt;br /&gt;
INSERT INTO MeineAdressen VALUES ( &amp;#039;Torsten&amp;#039;,   52072, &amp;#039;Aachen&amp;#039; );&lt;br /&gt;
INSERT INTO MeineAdressen VALUES ( &amp;#039;Werner&amp;#039;,    52066, &amp;#039;Aachen&amp;#039; );&lt;br /&gt;
SELECT * FROM MeineAdressen;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ausführen:&lt;br /&gt;
 mysql -uroot -pmysqlpwd &amp;lt; MeineDb.sql &lt;br /&gt;
Testen mit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 mysql -uroot -pmysqlpwd MeineDb&lt;br /&gt;
&lt;br /&gt;
  select * from MeineTestTabelle;&lt;br /&gt;
&lt;br /&gt;
  \q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ergibt:&lt;br /&gt;
&lt;br /&gt;
 +------+------+--------+------------+&lt;br /&gt;
 | i    | c    | s      | dt         |&lt;br /&gt;
 +------+------+--------+------------+&lt;br /&gt;
 |   11 | ABC  | Blubb  | 2000-01-01 |&lt;br /&gt;
 |   12 | ab   | Blabla | 2000-12-31 |&lt;br /&gt;
 |   42 | xy   | äöüß§€ | 2005-06-06 |&lt;br /&gt;
 +------+------+--------+------------+&lt;br /&gt;
&lt;br /&gt;
Der String &amp;#039;äöüß§€&amp;#039; wird im Kommandozeilenfenster beim üblicherweise eingestellten Characterset falsch dargestellt, ist aber trotzdem korrekt gespeichert.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Installation&amp;diff=19259</id>
		<title>Typo3 - Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Installation&amp;diff=19259"/>
		<updated>2012-10-10T09:39:57Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Download Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Update auf all-inkl Server ==&lt;br /&gt;
* Download über php Skript (sehr schnell)&lt;br /&gt;
* Auspacken über Web FTP&lt;br /&gt;
* Symlinks und Rechte über Web FTP&lt;br /&gt;
* Download Tool und Archiv-Datei löschen&lt;br /&gt;
&lt;br /&gt;
Hinweis: bei Upload über das Web FTP Tool kann auch gleichzeitig ausgepackt werden.&lt;br /&gt;
&lt;br /&gt;
Verzeichnisstruktur:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
typo3_src -&amp;gt; typo3_src-x.x.x&lt;br /&gt;
t3lib -&amp;gt; typo3_src/t3lib&lt;br /&gt;
typo3 -&amp;gt; typo3_src/typo3&lt;br /&gt;
index.php -&amp;gt; typo3_src/index.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rechte:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;755 Gruppe des Webservers&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fileadmin&lt;br /&gt;
typo3conf&lt;br /&gt;
typo3temp&lt;br /&gt;
uploads&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fileadmin kann auf kasserver auch 777 sein, damit man besser mit ftp arbeiten kann&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Rest&amp;#039;&amp;#039;&amp;#039; 755 FTP User&lt;br /&gt;
&lt;br /&gt;
== Quick Update ==&lt;br /&gt;
&lt;br /&gt;
=== Release Notes lesen ===&lt;br /&gt;
http://wiki.typo3.org/Category:ReleaseNotes aller Zwischenversionen checken&lt;br /&gt;
&lt;br /&gt;
=== Datenbank sichern ===&lt;br /&gt;
 mysqldump -u meinDBUser -pGEHEIM db_name &amp;gt; backup.sql&lt;br /&gt;
&lt;br /&gt;
im Notfall wieder einspielen mit:&lt;br /&gt;
&lt;br /&gt;
 shell&amp;gt; mysql db_name &amp;lt; backup.sql&lt;br /&gt;
&lt;br /&gt;
=== Download Source ===&lt;br /&gt;
 wget http://prdownloads.sourceforge.net/typo3/typo3_src-4.0.4.tar.gz?download&lt;br /&gt;
&lt;br /&gt;
(aktuelle Version auf http://typo3.org/download/packages/ nachschauen und im Zweifel Link kopieren.)&lt;br /&gt;
&lt;br /&gt;
=== Auspacken ===&lt;br /&gt;
 tar xzf typo3_src-4.0.2.tar.gz&lt;br /&gt;
=== Symlink anpassen ===&lt;br /&gt;
Es gibt einen &amp;#039;&amp;#039;&amp;#039;Symlink&amp;#039;&amp;#039;&amp;#039; typo3_src, der auf die Source verweist.&lt;br /&gt;
  typo3_src -&amp;gt; ../NameDesTypo3SourceOrdners&lt;br /&gt;
Dieser muß angepasst werden.&lt;br /&gt;
&lt;br /&gt;
 ln -s typo3_src-4.0.2 typo3_src &lt;br /&gt;
&lt;br /&gt;
Wenn überschreiben nicht möglich ist mit -f (force) Option testen oder Link löschen und neu anlegen.&lt;br /&gt;
&lt;br /&gt;
=== Aufräumen ===&lt;br /&gt;
Wenn man den typo3_src Symlink auf eine andere Source umbiegt kann man ganz schnell ein Update ausprobieren oder eine neue source testen&lt;br /&gt;
* Die Archive &amp;#039;&amp;#039;&amp;#039;löschen&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
rm dummy-4.0.3.tar.gz&lt;br /&gt;
rm typo3_src-4.0.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
== Typo3 Autoinstallation ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - automatische Installation (Linux)]]&lt;br /&gt;
&lt;br /&gt;
Wünschenswert wäre ein Script, welches eine Typo3 Grundinstallation vollautomatisch durchführt. Als ersten Schritt einige Vorüberlegungen:&lt;br /&gt;
Die Installation sollte nach Angabe einer Datenbank die Typo3 Verzeichnisse hochladen, auspacken und das Konfigurationsfile mit den Datenbankwerten belegen. Weiterhin sollte die Datenbank bereits einen Admin-User einige Seiten und einige Grundtemplates enthalten. Typo3 enthält ja die Möglichkeit im DB Teil der installation ein eigenes .sql File zu benutzen, welches bereits die nötigen Werte enthält.&lt;br /&gt;
&lt;br /&gt;
== W-Manager ==&lt;br /&gt;
&lt;br /&gt;
* Datenbank und Benutzer installieren&lt;br /&gt;
* Dump einspielen (am besten auf webspace legen und mit wget runterziehen, oder über Plesk&amp;gt;phpmyadmin einspielen)&lt;br /&gt;
 shell&amp;gt; mysql db_name &amp;lt; backup-file.sql&lt;br /&gt;
&lt;br /&gt;
* Im Webverzeichnis (oder darunter) neueste Source downloaden und auspacken&lt;br /&gt;
 wget http://prdownloads.sourceforge.net/typo3/typo3_src-4.0.4.tar.gz?download&lt;br /&gt;
 wget http://prdownloads.sourceforge.net/typo3/dummy-4.0.4.tar.gz?download&lt;br /&gt;
* Im Stammverzeichnis dummy downloaden und auspacken&lt;br /&gt;
* dummy Inhalt in Stammverzeichnis kopieren und typo3_src symlink auf neue Source umbiegen. &lt;br /&gt;
* Datei-Rechte anpassen&lt;br /&gt;
 755 Gruppe ist wwwserver - Gruppe&lt;br /&gt;
 chgrp -R &amp;lt;wwwserver&amp;gt; fileadmin typo3conf typo3temp uploads&lt;br /&gt;
 chmod -R g+w,o-rwx fileadmin typo3conf typo3temp uploads&lt;br /&gt;
** bei reinem ftp Zugriff Gruppe lassen und 777&lt;br /&gt;
* w-manager Dateien reinkopieren (upload, fileadmin, typo3conf) evtl als tar Paket vorhalten)&lt;br /&gt;
* localconf.php anpassen (neue Datenbank Daten eintragen)&lt;br /&gt;
* Installationstool: Compare und Update Manager&lt;br /&gt;
* Evtl. neues DB Image:&lt;br /&gt;
mysqldump -u benutzername -p -B --add-drop-table datenbank &amp;gt; typo3DBSicherung.sql&lt;br /&gt;
* Seitenbaum anpassen (Sitename)&lt;br /&gt;
* Assets anpassen (Bilder, Logo)&lt;br /&gt;
* CSS Anpassen (Schriften, Farben)&lt;br /&gt;
* Template Anpassen (Anschrift unten)&lt;br /&gt;
* Print Template anpassen (Copyright...)&lt;br /&gt;
&lt;br /&gt;
=== ToDos ===&lt;br /&gt;
* Margins bei Überschriften&lt;br /&gt;
* Update auf aktuelle Version&lt;br /&gt;
* Kontaktformular &lt;br /&gt;
** Zielseite&lt;br /&gt;
** Felder gebrauchsfertig ;-)&lt;br /&gt;
* Extension metatags und tt_news vorkonfiguriert&lt;br /&gt;
* preconfiguration (als Extension für wichtige Features - siehe gbt3-tools)&lt;br /&gt;
&lt;br /&gt;
== GBT3-Tools ==&lt;br /&gt;
Siehe auch [[gbt3settings]]&lt;br /&gt;
Vorkonfigurierte Bausteine für Typo3 Installation&lt;br /&gt;
- Trennung HTML-Templates und TS Bausteine?&lt;br /&gt;
- Gute Version in Party - Reutlingen und Lokal &lt;br /&gt;
- modifiziertes yui&lt;br /&gt;
- diverse Bausteine&lt;br /&gt;
&lt;br /&gt;
=== Übersicht ===&lt;br /&gt;
* Einspielen DB&lt;br /&gt;
* Kopieren Typo3&lt;br /&gt;
* Anpassen localconf (Sitename, DB-Daten)&lt;br /&gt;
&lt;br /&gt;
Wenn Typo3 schon installiert und die localconf schon angelegt:&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&lt;br /&gt;
* die sql Datei muß in den Ordner typo3Conf&lt;br /&gt;
* Im Installer (/typo3/install) in Database Analyzer wechseln und dort kann man die Daten Importieren&lt;br /&gt;
* Im Typo3-Backend (user: admin p: geheim)  in den Extension Manager gehen und folgende Extensions installieren:&lt;br /&gt;
1. Die Extension aus dem Zip Ordner - in der habe ich schon mal alle Voreinstellungen gemacht die man braucht.&lt;br /&gt;
2. /rlmp_tmplselector/  - gibts im Online Repository&lt;br /&gt;
3. tt_news neueste Version&lt;br /&gt;
* Cache löschen und dann müßte eigentlich schon was im Frontend zu sehen sein.&lt;br /&gt;
&lt;br /&gt;
== Kurzversion ==&lt;br /&gt;
&lt;br /&gt;
=== Uploaden ===&lt;br /&gt;
&lt;br /&gt;
# Typo3 - Dummy auf den Server laden (Inhalt landet im Webverzeichnis)&lt;br /&gt;
# Typo3 - Source auf den Server laden (besser ein Level unterhalb webspace)&lt;br /&gt;
# evt. Symlinks anpassen&lt;br /&gt;
# Datei ENABLE_INSTALL_TOOL im typo3_conf Verzeichnis erstellen. Früher: (Aus dem Installscript /typo3/install/index.php die die() Funktion auskommentieren (veraltet))&lt;br /&gt;
# Install Skript im Browser aufrufen (Standard Passwort ist joh316)&lt;br /&gt;
# Passwort ändern !! und neu einloggen (evt. Schreibrecht für /typo3/typo3conf/localconf.php setzten)&lt;br /&gt;
&lt;br /&gt;
=== Basic Configuration ===&lt;br /&gt;
&lt;br /&gt;
# Schreibrechte für die rot markierten Ordner ändern und den den fileadmin Ordner ebenfalls schreibbar machen.&lt;br /&gt;
# Datenbank Zugangsdaten eingeben. Host ist in der Regel &amp;#039;localhost&amp;#039;&lt;br /&gt;
# Update localconf.php klicken dann click to continue&lt;br /&gt;
# Jetzt die Datenbank im neuen Dropdownfeld. Auswählen&lt;br /&gt;
# Encryption key: Generate Knopf klicken&lt;br /&gt;
&lt;br /&gt;
=== Database Analyser ===&lt;br /&gt;
# Benötigte Tabellen anlegen: Compare klicken - dann write to database&lt;br /&gt;
# Dump static data IMPORT  	&lt;br /&gt;
# (Notwendig?) Tabellen füllen mit statischen Templates typo3conf/database.sql (1.1 M) ebenfalls Compare und write to database&lt;br /&gt;
# admin User erstellen damit man sich im Backend einloggen kann.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; wenn man eine gute leere Installation hat kann man diese Daten komplett in ein sql-Standardfile exportieren und bei einer frischen Typo3 Installation komplett einspielen.&lt;br /&gt;
&lt;br /&gt;
=== All Configuration ===&lt;br /&gt;
# [gdlib_2] auf 1 stellen Wenn GDlib Version 2 Verwendet wird&lt;br /&gt;
# [TTFdpi] muß auf 96 stehen wenn die Schrift im Bild bei &amp;#039;Basic Configuration&amp;#039; nicht vollständig angezeigt wird.&lt;br /&gt;
# [noEdit] auf 0 stellen dann kann man vom Backend-Bereich Text-Dateien (z.B. CSS-Files) verändern.&lt;br /&gt;
# [warning_email_addr] setzten dann bekommt man eine Email wenn sich jemand viermal falsch einloggt&lt;br /&gt;
&lt;br /&gt;
=== Wichtige ToDos im Typo Backend ===&lt;br /&gt;
siehe auch [[Typo3 - Grundeinstellungen]]&lt;br /&gt;
&lt;br /&gt;
# Passwort für Install Tool ändern&lt;br /&gt;
# Ab Typo4.x DB References Updaten&lt;br /&gt;
# Error Handler löschen und Deprecation Log abschalten (Install Tool)&lt;br /&gt;
 Install Tool: productionExceptionHandler,debugExceptionHandler,errorHandler löschen und enableDeprecationLog löschen&lt;br /&gt;
# Deutsche Sprachpakete im Extension Manage laden (für 3.8 die CSH Files)&lt;br /&gt;
# Standard Templates TS-Templates evt. HTML Template und CSS (für TV und Automaketemplate die Extensions nicht vergessen)&lt;br /&gt;
# Benutzer Konfiguration bzw. Page Konfiguration (UserTS und PageTS)&lt;br /&gt;
# Standard Extensions installieren&lt;br /&gt;
# simulatestaticdocs oder realurl&lt;br /&gt;
&lt;br /&gt;
== Typo3 auf Unix installieren ==&lt;br /&gt;
&lt;br /&gt;
Der ganz ausführliche Weg über die Shell:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Installation zu Fuß (Linux Shell)]]&lt;br /&gt;
&lt;br /&gt;
Über Shell mit den Tar Paketen:&lt;br /&gt;
&lt;br /&gt;
* Evt. Shell-Zugang erlauben (z.B. mit bash Terminal. Später wieder abschalten!)&lt;br /&gt;
* Remote Zugang z.B. mit Putty herstellen (Session &amp;gt; [IP], SSH / &lt;br /&gt;
* Tar Pakete holen:&lt;br /&gt;
 wget http://prdownloads.sourceforge.net/typo3/typo3_src-4.0.4.tar.gz?download&lt;br /&gt;
 wget http://prdownloads.sourceforge.net/typo3/dummy-4.0.4.tar.gz?download&lt;br /&gt;
&lt;br /&gt;
aktuelle Version auf http://typo3.org/download/packages/ nachschauen&lt;br /&gt;
&lt;br /&gt;
* jetzt beide Pakete &amp;#039;&amp;#039;&amp;#039;auspacken&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
&lt;br /&gt;
 tar xzf dummy-4.0.2.tar.gz&lt;br /&gt;
 tar xzf typo3_src-4.0.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Es entstehen die Verzeichnisse&lt;br /&gt;
 typo3_src-4.0.2&lt;br /&gt;
 dummy-4.0.2&lt;br /&gt;
&lt;br /&gt;
der Inhalt des Dummy Paket liegt später direkt auf der Hauptebene. Deshalb &amp;#039;&amp;#039;&amp;#039;verschieben&amp;#039;&amp;#039;&amp;#039; wir den Inhalt des &amp;#039;&amp;#039;&amp;#039;Dummy Paket&amp;#039;&amp;#039;&amp;#039; eine Ebene nach unten in das Wurzelverzeichnis (die aktuelle Ebene).&lt;br /&gt;
  mv dummy-4.0.2/* ./&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Hinweis: Eine weitere Möglichkeit wäre die Dateien im Ordner zu belassen, ihn sinnvoll umzubenennen (z.B. cms/) und die Domain z.B. als virtual Host auf den Unterordner gehen zu lassen.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Es gibt einen &amp;#039;&amp;#039;&amp;#039;Symlink&amp;#039;&amp;#039;&amp;#039; auf der Hauptebene (vorher im Dummy-Verzeichnis)&lt;br /&gt;
  typo3_src -&amp;gt; ../NameDesTypo3SourceOrdners&lt;br /&gt;
  Damit der Symlink stimmt müssen wir Ihn ändern (d.h. löschen oder überschreiben)&lt;br /&gt;
&lt;br /&gt;
 ln -s typo3_src-4.0.2 typo3_src &lt;br /&gt;
&lt;br /&gt;
Wenn man den typo3_src Symlink auf eine andere Source umbiegt kann man ganz schnell ein Update ausprobieren oder eine neue source testen&lt;br /&gt;
* Die Archive und den leeren Dummy Ordner kann man jetzt &amp;#039;&amp;#039;&amp;#039;löschen&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
 rm -r dummy-4.0.2&lt;br /&gt;
 rm dummy-4.0.3.tar.gz&lt;br /&gt;
 rm typo3_src-4.0.2.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Im Browser müßte jetzt schon was kommen (/typo3 oder /index.php)&lt;br /&gt;
* Ist auf dem Plesk in der Domain auch php aktiviert ? &lt;br /&gt;
* Wenn eine Fehlermeldung kommt bzgl. open_basedir dann eventuell Plesk dazu bringen die vhost.conf-Datei einzubinden [[http://wiki.zone30.info/wikizone/index.php/Linux_-_Server_Administration#Eigenen_Apache-Config_anlegen:_Plesk_per_vhost.conf]] &lt;br /&gt;
* Mit dem vi Editor können wir die Die Funktion im Installer auskommentieren:&lt;br /&gt;
 vi typo3_src-4.0.2/install/index.php&lt;br /&gt;
&lt;br /&gt;
* Mit i kommt man in den Einfügemodus Esc verläßt ihn :wq! speichert und schließt den Editor.&lt;br /&gt;
Hinweis: ab Version 4.1 reicht es eine Datei mit dem Namen ENABLE_INSTALL_TOOL im Verzeichnis typo3conf anzulegen um das Install Tool freizuschalten.&lt;br /&gt;
* Jetzt kann man den Typo3 Installer starten&lt;br /&gt;
* Um die Rechte im Terminal anzupassen kann man den Befehl chmod benutzen&lt;br /&gt;
&lt;br /&gt;
Rechte einstellen:(as root): There are at least two options.&lt;br /&gt;
Diese Schritte setzen die Rechte für 4 Ordner:&lt;br /&gt;
* fileadmin/&lt;br /&gt;
* typo3conf/&lt;br /&gt;
* typo3temp/&lt;br /&gt;
* uploads/&lt;br /&gt;
&lt;br /&gt;
a (am Besten)&lt;br /&gt;
&lt;br /&gt;
Diese Kommandos als root ausführen:&lt;br /&gt;
 chgrp -R &amp;lt;wwwserver&amp;gt; fileadmin typo3conf typo3temp uploads&lt;br /&gt;
 chmod -R g+w,o-rwx fileadmin typo3conf typo3temp uploads&lt;br /&gt;
&lt;br /&gt;
wobei &amp;lt;wwwserver&amp;gt; der Name der Gruppe des Webservers ist&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Hinweis:&amp;#039;&amp;#039;&amp;#039; bei 1und1 (mit Plesk) ist die Gruppe i.d.R. www und der Benutzer wwwrun&lt;br /&gt;
&lt;br /&gt;
b (nicht sicher aber einfach)&lt;br /&gt;
&lt;br /&gt;
Nicht auf geteilten Servern nutzen:&lt;br /&gt;
&lt;br /&gt;
Simply run this command:&lt;br /&gt;
 $ chmod -R a+w fileadmin typo3conf typo3temp uploads&lt;br /&gt;
&lt;br /&gt;
=== Beschreibung der Installation aus der Datei &amp;#039;install.txt&amp;#039; der Typo3 4.0.2 Distribution ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
**************************&lt;br /&gt;
* UNIX ARCHIVES OF TYPO3 *&lt;br /&gt;
**************************&lt;br /&gt;
&lt;br /&gt;
INTRODUCTION&lt;br /&gt;
============&lt;br /&gt;
&lt;br /&gt;
As you have downloaded this package you seem to know already about TYPO3.&lt;br /&gt;
If you don&amp;#039;t, visit http://typo3.org/ where you can find many useful&lt;br /&gt;
information.&lt;br /&gt;
&lt;br /&gt;
This short guide lists the important steps to install this package.&lt;br /&gt;
&lt;br /&gt;
By default TYPO3 installs into the folder:&lt;br /&gt;
   http://[your.site.name]/&amp;lt;this_site_name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
Read the additional instructions to install TYPO3 in the root folder:&lt;br /&gt;
   http://[your.site.name]/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IMPORTANT NOTE&lt;br /&gt;
==============&lt;br /&gt;
&lt;br /&gt;
Please be aware of the fact that the file transfer protocol (FTP) does not&lt;br /&gt;
support Symlinks. You cannot unpack these archives locally and copy them&lt;br /&gt;
to your server using FTP, even if the target server actually is a Unix&lt;br /&gt;
server.&lt;br /&gt;
&lt;br /&gt;
So if you don&amp;#039;t have shell access, try to use a terminal emulator instead.&lt;br /&gt;
(PHPshell to give you an example - Google knows all of them!)&lt;br /&gt;
&lt;br /&gt;
If this doesn&amp;#039;t work you&amp;#039;ll have to stick back to the ZIP version :-(&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NEWBIE INFORMATION ABOUT THE TYPO3 FILESYSTEM STRUCTURE&lt;br /&gt;
=======================================================&lt;br /&gt;
&lt;br /&gt;
A Unix TYPO3 installation consists of two parts:&lt;br /&gt;
     1) The &amp;quot;source&amp;quot; package&lt;br /&gt;
     2) The &amp;quot;dummy&amp;quot; package&lt;br /&gt;
&lt;br /&gt;
The dummy package contains the skeleton directory structure for a TYPO3&lt;br /&gt;
installation and a symlink (&amp;#039;typo3_src&amp;#039;) to the location of the source&lt;br /&gt;
package which contains all the PHP files, images, JavaScript files, etc.&lt;br /&gt;
that TYPO3 needs to run.&lt;br /&gt;
&lt;br /&gt;
In other words: You can have several TYPO3 installations with just one&lt;br /&gt;
source package. A typical directory structure looks like this:&lt;br /&gt;
&lt;br /&gt;
/var/www/typo3_src-3.8.1/   # the untared 3.8.0 source package&lt;br /&gt;
/var/www/typo3_src-4.0/     # the untared 4.0 source package&lt;br /&gt;
/var/www/installation1/     # the untared dummy package of a TYPO3&lt;br /&gt;
                            # installation running on TYPO3 3.8.1&lt;br /&gt;
    /typo3_src  --&amp;gt; ../typo3_src-3.8.1/   # a symlink to the 3.8.1 source&lt;br /&gt;
    /typo3conf/&lt;br /&gt;
    /typo3temp/&lt;br /&gt;
    /fileadmin/&lt;br /&gt;
    /.../&lt;br /&gt;
/var/www/installation2/     # the untared dummy package of a TYPO3&lt;br /&gt;
                            # installation running on TYPO3 4.0&lt;br /&gt;
    /typo3_src  --&amp;gt; ../typo3_src-4.0/     # a symlink to the 4.0 source&lt;br /&gt;
    /typo3conf/&lt;br /&gt;
    /typo3temp/&lt;br /&gt;
    /fileadmin/&lt;br /&gt;
    /.../&lt;br /&gt;
&lt;br /&gt;
As you see, the two TYPO3-installations (possibly with different domains)&lt;br /&gt;
can use the same TYPO3 source package. You can even change the source&lt;br /&gt;
package simply be changing the symlink inside the installation directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
STEP BY STEP&lt;br /&gt;
============&lt;br /&gt;
&lt;br /&gt;
1 Get the TYPO3 source package and the TYPO3 dummy package.&lt;br /&gt;
&lt;br /&gt;
2 Copy the archives to the web root of your server.&lt;br /&gt;
  (Debian default is /var/www/, SuSE default is /srv/www/)&lt;br /&gt;
&lt;br /&gt;
3 Unpack the archives:&lt;br /&gt;
  $ tar xzf typo3_src-&amp;lt;version&amp;gt;.tar.gz&lt;br /&gt;
  $ tar xfz dummy-&amp;lt;version&amp;gt;.tar.gz&lt;br /&gt;
&lt;br /&gt;
4 Rename the dummy-&amp;lt;version&amp;gt; directory to fit your needs and make sure it&lt;br /&gt;
  is accessible by your webserver (for example by creating a virtual&lt;br /&gt;
  host). We assume you rename the directory to cms:&lt;br /&gt;
  $ mv dummy-&amp;lt;version&amp;gt; cms&lt;br /&gt;
&lt;br /&gt;
5 Set permissions (as root): There are at least two options.&lt;br /&gt;
  These steps will make four directories writable for the webserver:&lt;br /&gt;
  - cms/fileadmin/&lt;br /&gt;
  - cms/typo3conf/&lt;br /&gt;
  - cms/typo3temp/&lt;br /&gt;
  - cms/uploads/&lt;br /&gt;
&lt;br /&gt;
	5.a (recommended)&lt;br /&gt;
	    Run these commands as root in the cms/ directory:&lt;br /&gt;
	    # chgrp -R &amp;lt;wwwserver&amp;gt; fileadmin typo3conf typo3temp uploads&lt;br /&gt;
	    # chmod -R g+w,o-rwx fileadmin typo3conf typo3temp uploads&lt;br /&gt;
&lt;br /&gt;
	    ... where &amp;lt;wwwserver&amp;gt; is the name of the group your webserver&lt;br /&gt;
	    is running as&lt;br /&gt;
&lt;br /&gt;
	5.b (insecure but easy to apply)&lt;br /&gt;
	    I repeat: This is insecure!&lt;br /&gt;
	    Do not use this method if you are working on a shared server!&lt;br /&gt;
&lt;br /&gt;
	    Simply run this command:&lt;br /&gt;
	    $ chmod -R a+w fileadmin typo3conf typo3temp uploads&lt;br /&gt;
&lt;br /&gt;
6 Check the symlink cms/typo3_src and make sure it points to the source&lt;br /&gt;
  directory.&lt;br /&gt;
  (See above: &amp;quot;Newbie information about the TYPO3 filesystem structure&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
7 In your browser, visit&lt;br /&gt;
  http://[your.site.name]/cms/&lt;br /&gt;
&lt;br /&gt;
8 Follow the instructions in the 1-2-3 install tool&lt;br /&gt;
&lt;br /&gt;
9 From this point, you can access the backend through&lt;br /&gt;
  http://[your.site.name]/cms/typo3/&lt;br /&gt;
  with the username &amp;quot;admin&amp;quot; and password &amp;quot;password&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s it :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
INSTALLING TYPO3 IN THE WEBROOT FOLDER&lt;br /&gt;
======================================&lt;br /&gt;
&lt;br /&gt;
1 Follow the steps 1-6 above.&lt;br /&gt;
&lt;br /&gt;
2 Move the files in the cms/ folder up one level.&lt;br /&gt;
&lt;br /&gt;
  $ cd cms&lt;br /&gt;
  $ mv * ../&lt;br /&gt;
  $ cd ../&lt;br /&gt;
&lt;br /&gt;
3 Update the symlink&lt;br /&gt;
&lt;br /&gt;
  $ rm typo3_src&lt;br /&gt;
  $ ln -s ./typo3_src-&amp;lt;version&amp;gt; typo3_src&lt;br /&gt;
&lt;br /&gt;
4 Now TYPO3 runs in http://[your.site.name]/&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s it :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WHAT SHOULD YOU DO IF YOU HAVE A PROBLEM?&lt;br /&gt;
=========================================&lt;br /&gt;
&lt;br /&gt;
TYPO3 is a powerful and complex professional application. When you start&lt;br /&gt;
out there will be many things you don´t understand, or that don&amp;#039;t seem to&lt;br /&gt;
make sense. There is a widely used mailing list (more information on&lt;br /&gt;
typo3.com &amp;amp; typo3.org) where many experienced users and developers&lt;br /&gt;
lurk... they are always willing to help, provided you followed these steps&lt;br /&gt;
BEFORE you ask your question:&lt;br /&gt;
&lt;br /&gt;
1 - Read all available documentation carefully&lt;br /&gt;
&lt;br /&gt;
2 - Read the webserver error logfiles&lt;br /&gt;
    (for example /var/log/apache/error.log)&lt;br /&gt;
&lt;br /&gt;
3 - Read all available documentation again&lt;br /&gt;
&lt;br /&gt;
4 - Search the mailing list archive carefully&lt;br /&gt;
&lt;br /&gt;
5 - If you still can&amp;#039;t figure it out - ask the list...:&lt;br /&gt;
      - Newsgroup:     news://news.netfielders.de/&lt;br /&gt;
      - Mailing lists: http://lists.netfielders.de/&lt;br /&gt;
&lt;br /&gt;
    When posting to one of the lists, see the following guidelines...&lt;br /&gt;
      - Be polite&lt;br /&gt;
	 Always include the version of used TYPO3 and server environment&lt;br /&gt;
	 (phpinfo())... note that this is available within the TYPO3&lt;br /&gt;
	 Install Tool&lt;br /&gt;
      - Be as specific and clear as possible - questions like &amp;quot;my TYPO3&lt;br /&gt;
	 installation does not work - what can I do???&amp;quot; will be ignored.&lt;br /&gt;
	 Although English may not be your first language, if those reading&lt;br /&gt;
	 your posting can&amp;#039;t understand it, you won&amp;#039;t get the help you need&lt;br /&gt;
      - If you are really having a tough time getting something working,&lt;br /&gt;
	 stay cool and don&amp;#039;t criticise or flame. Problems are normally&lt;br /&gt;
	 caused by lack of research into the documentation, or&lt;br /&gt;
	 misunderstanding, not because of bugs. Be logical about your&lt;br /&gt;
	 troubleshooting, and you&amp;#039;ll get there&lt;br /&gt;
&lt;br /&gt;
6 - If you have identified a genuine new bug, report it at&lt;br /&gt;
    http://bugs.typo3.org/ ...do not post to the list about it&lt;br /&gt;
&lt;br /&gt;
Please be aware that if you ask questions that are answered in the&lt;br /&gt;
available documentation, you may not get a reply, or any help from the&lt;br /&gt;
developers or any experienced users!&lt;br /&gt;
&lt;br /&gt;
We are aware that there is still some work to be done on the&lt;br /&gt;
documentation, and the platform for user support... please forgive us for&lt;br /&gt;
not having all these gaps filled. If you feel that some information is&lt;br /&gt;
missing, hard to find or just plain wrong, or you have a suggestion on&lt;br /&gt;
improving TYPO3 or the &amp;quot;support services&amp;quot;, please let us know so that we&lt;br /&gt;
can do what is necessary. You could also volunteer to help with the work!&lt;br /&gt;
&lt;br /&gt;
(c) Nigel Jackson, Ingmar Schlecht&lt;br /&gt;
    Unix related additions made by Michael Stucki and some Wiki users:&lt;br /&gt;
    http://wiki.typo3.org/index.php/Tgz-INSTALL.txt&lt;br /&gt;
&lt;br /&gt;
-- Michael Stucki &amp;lt;michael@typo3.org&amp;gt;  Sun,  26 Mar 2006  22:10:53 +0100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme mit Plesk ==&lt;br /&gt;
siehe auch hier:&lt;br /&gt;
&lt;br /&gt;
[[Linux - Server Administration]]&lt;br /&gt;
&lt;br /&gt;
* The script whose uid is 10001 is not allowed to access /httpdocs/html/typo3temp/cs owned by uid 30 in /httpdocs/html/t3lib/class.t3lib_div.php on line 2420&lt;br /&gt;
&lt;br /&gt;
Das deutet in der Regel darauf hin, dass was mit den User-Rechten der Files nicht passt. Bei Plesk sollten die Typo3 Sourcen, sowie &amp;quot;httpdocs&amp;quot; dem FTP-User aus der Gruppe &amp;quot;psaserv&amp;quot; gehören.&lt;br /&gt;
&lt;br /&gt;
* Installer geht nicht, localconf not found&lt;br /&gt;
Die Webverzeichnisse auf die Apache zugreift sollten dagegen der &amp;#039;&amp;#039;&amp;#039;Gruppe www&amp;#039;&amp;#039;&amp;#039; gehören (web user ist übrigens meistens wwwrun)&lt;br /&gt;
&lt;br /&gt;
== ImageMagick installieren ==&lt;br /&gt;
=== Mit Yast installieren ===&lt;br /&gt;
http://wiki.zone30.info/wikizone/index.php/ImageMagick_installieren&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick auf Vserver global installieren ===&lt;br /&gt;
19 01 2007&lt;br /&gt;
&lt;br /&gt;
Wenn man ImageMagick auf seinem Vserver global installieren möchte, um für alle Typo3 installationen ImageMagick nutzen zu können, kann man wie folgt vorgehen.&lt;br /&gt;
&lt;br /&gt;
Auch hier eignet sich die  Version 4.2.9., zu finden unter typo3.org, recht gut.&lt;br /&gt;
http://typo3.sunsite.dk/software/linux/ &lt;br /&gt;
&lt;br /&gt;
Danach kopiert man am einfachsten mit winscp die Dateien auf den Server in das Verzeichnis:&lt;br /&gt;
&lt;br /&gt;
/usr/bin.&lt;br /&gt;
Hier ist nur der Ordner “bin” für diese Anwendung interessant.&lt;br /&gt;
Im Ordner “bin” findet man folgende Dateien:&lt;br /&gt;
&lt;br /&gt;
convert, combine, identify, convert.bin, combine.bin, identify.bin, wrapper.sh.&lt;br /&gt;
Die Dateien ohne die Endung “.bin” sind nur Verknüpfungen, und erstmal nicht wichtig.&lt;br /&gt;
Gebraucht werden nur convert.bin, combine.bin, identify.bin!&lt;br /&gt;
&lt;br /&gt;
Die Entpackten Dateien liegen nur im usr/bin Verzeichnis.&lt;br /&gt;
Typo3 fragt bei der Installation automatisch dieses Verzeichnis ab, und sucht nach der passenden Programmversion.&lt;br /&gt;
&lt;br /&gt;
Das wars&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ergänzung (Steff)&lt;br /&gt;
&lt;br /&gt;
bei Einsatz von Plesk kann es sein das diese Vorgehensweise nicht funktioniert. Dort kann man aber die statisch kompilierte Version in das CGI-Verzeichnis der virtuellen Hosts legen. Etwa unter /srv/www/vhosts/meineDomain.de/cgi-bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auf den 1und1 Webhosting-Paketen läuft die Geschichte im Prinzip ziemlich einfach ab.&lt;br /&gt;
Falls keine root -Rechte vorhanden, entpackt man IM erstmal lokal in ein Verzeichnis.&lt;br /&gt;
Man erhält folgende Ordner Struktur.&lt;br /&gt;
&lt;br /&gt;
Hier ist nur der Ordner “bin” für diese Anwendung interessant.&lt;br /&gt;
Im Ordner “bin” findet man folgende Dateien:&lt;br /&gt;
&lt;br /&gt;
convert, combine, identify, convert.bin, combine.bin, identify.bin, wrapper.sh.&lt;br /&gt;
Die Dateien ohne die Endung “.bin” sind nur Verknüpfungen, und erstmal nicht wichtig.&lt;br /&gt;
Gebraucht werden nur convert.bin, combine.bin, identify.bin!&lt;br /&gt;
&lt;br /&gt;
Diese 3 Dateien kopiert man jetzt mit einem ftp Programm auf den Webspace&lt;br /&gt;
in den Ordner cgi-bin, und vergibt diesem Ordner vorerst mal alle Rechte (chmod 777)&lt;br /&gt;
&lt;br /&gt;
Im Ordner cgi-bin findet man nun die Dateien convert.bin, combine.bin, identify.bin&lt;br /&gt;
Wichtig ist jetzt, das die Endung .bin entfernt wird.&lt;br /&gt;
&lt;br /&gt;
Diesen 3 Dateien auch erstmal auf chmod 777&lt;br /&gt;
 Ergänzung Steff: später die Gruppe und Besitzer auf php-user stellen und Rechte auf 755&lt;br /&gt;
&lt;br /&gt;
Jetzt wechselt man ins Typo3 Install-tool auf den Punkt “All Configuration”&lt;br /&gt;
&lt;br /&gt;
Jetzt muss nur noch IM aktiviert werden, und der absolute Pfad zu den Dateien angeben werden.&lt;br /&gt;
Speichern nicht vergessen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zur Kontrolle wechselt man jetzt noch mal zum Punkt “Basic Configuration”.&lt;br /&gt;
Dort müsste jetzt IM aktiviert und erkannt werden.&lt;br /&gt;
&lt;br /&gt;
Das war’s.&lt;br /&gt;
Installation unter einem VPS folgt&lt;br /&gt;
&lt;br /&gt;
Quelle (mit Bildern): http://www.webdesign-limburg.com/blog/?p=21 und http://www.webdesign-limburg.com/blog/?p=21&lt;br /&gt;
&lt;br /&gt;
=== auf Virtuellem Server (Suse) ===&lt;br /&gt;
Ist es schon da? &lt;br /&gt;
 convert -version&lt;br /&gt;
sollte dann die Version ausgeben&lt;br /&gt;
Anleitung unter:&lt;br /&gt;
http://www.imagemagick.org/script/install-source.php#unix&lt;br /&gt;
Klassisch:&lt;br /&gt;
&lt;br /&gt;
== Image Magick über SSH Zugang auf VMWare ==&lt;br /&gt;
Quelle: http://www.4many.net/imagemagick_setup.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ImageMagick Installation on Virtual Host Account with SSH Access&lt;br /&gt;
Situation: 	Customer got virtual host with ssh access&lt;br /&gt;
TYPO3 was installed&lt;br /&gt;
no ImageMagick&lt;br /&gt;
after installing static linked package imagemagick-4.2.9_i386-static-1.tar.gz&lt;br /&gt;
TYPO3 complained that no valid version could be found&lt;br /&gt;
Problem: 	It turned out that due to the virtual setup and the setup of the Apache the environment got lost and the ImageMagick.so.9 couldn&amp;#039;t be found during the exec()&lt;br /&gt;
Challenge: 	&lt;br /&gt;
&lt;br /&gt;
   1. convince the provider to change the setup&lt;br /&gt;
      Nice try!&lt;br /&gt;
   2. convince the provider to install ImageMagick globally&lt;br /&gt;
      No support for third party products&lt;br /&gt;
   3. fix it in TYPO3 to pass environment&lt;br /&gt;
      possible solution, just no time to do so&lt;br /&gt;
&lt;br /&gt;
Solution: 	Fixed it on script level&lt;br /&gt;
&lt;br /&gt;
   1. move required executable to *.bin, i.e.&lt;br /&gt;
&lt;br /&gt;
      mv convert convert.bin&lt;br /&gt;
      mv combine combine.bin&lt;br /&gt;
      mv identify identify.bin&lt;br /&gt;
&lt;br /&gt;
   2. create script&lt;br /&gt;
&lt;br /&gt;
      pico convert&lt;br /&gt;
&lt;br /&gt;
   3. content of the script file&lt;br /&gt;
&lt;br /&gt;
      #!/usr/local/bin/bash&lt;br /&gt;
      export PATH; PATH=&amp;quot;/home/usr203227042/ImageMagick-4.2.9/bin:$PATH&amp;quot;&lt;br /&gt;
      export MAGICK_HOME=&amp;quot;/home/usr203227042/ImageMagick-4.2.9&amp;quot;&lt;br /&gt;
      export LD_LIBRARY_PATH=&amp;quot;/home/usr203227042/ImageMagick-4.2.9/lib&amp;quot;&lt;br /&gt;
      /home/usr203227042/ImageMagick-4.2.9/bin/convert.bin $*&lt;br /&gt;
&lt;br /&gt;
   4. make script executable&lt;br /&gt;
&lt;br /&gt;
      chmod 755 convert&lt;br /&gt;
&lt;br /&gt;
   5. repeat steps 2.-4. for combine and identify and don&amp;#039;t forget to change convert.bin to the appropriate value&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trennung von Produktions und Live-Server (Bearbeitung der Seiten und Darstellung) ==&lt;br /&gt;
Für den Website-Betrieb sind die Verzeichnisse TSLib und T3Lib notwendig um eine Website auszuliefern.&lt;br /&gt;
&lt;br /&gt;
Für die Bearbeitung von Seiten sind die Dateien im Typo3 Verzeichnis zuständig. Ohne Typo3 Verzeichnis gibt es kein Backend aber die Seiten funktionieren trotzdem. Ein gutes Mittel um die Seiten vor Angreifern zu schützen.&lt;br /&gt;
&lt;br /&gt;
siehe auch [[Typo3 - Update]]&lt;br /&gt;
&lt;br /&gt;
== Zentrale Typo3-Installation vs mehrere Typo3 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Verschiedene Gründe:&lt;br /&gt;
1. Es gibt aus Sicherheitsgründen keinen Remote Zugang für unseren Server. Das macht es etwas umständlicher.&lt;br /&gt;
&lt;br /&gt;
2. Von Version 3.7-3.8 gab es bei manchen Extensions Probleme mit Updates, bzw. es gab Extensions die das Typo auch mal aus dem Tritt brachten. Wenn wir alle Präsenzen auf einem Typo laufen lassen würden wären bei einem Fehler alle Homepages betroffen und Nebenwirkungen unter Umständen nicht so einfach zu sehen. Mit der getrennten Installation kann man auch bei sehr experimentellen Extensions relativ sicher updaten. Auch wenn wir verschiedene Datenbanken benutzen würden. Erst ab Version 4 gibt es außerdem die Möglichkeit Seiten vernünftig zu testen bevor Sie bei Änderungen Online gehen. Das war bisher nur mit einer ziemlich umständlichen Extension möglich.&lt;br /&gt;
&lt;br /&gt;
Manche würden das  vielleicht als Übervorsichtig auslegen. Im Endeffekt hat es nur den Nachteil der längeren Uploadzeiten. Speicherplatz spielt im Grunde kaum eine Rolle. Der Server wird auch nicht wesentlich mehr belastet. Weil die Skripte egal ob in einer oder in mehreren Typos ja immer für jede Anfrage abgearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
3. Wir haben den Kunden eine komplette Installation verkauft mit der Sie machen können was Sie wollen. Dafür bekommen Sie natürlich auch eine eigene Installation.&lt;br /&gt;
&lt;br /&gt;
Für die Miettypos werden wir allerdings eine einzelne Installation benutzen. Für eine Agentur bietet sich ebenfalls eine eigene Installation an auf der die betreuten Präsenzen laufen.&lt;br /&gt;
&lt;br /&gt;
4. Manche Typos laufen auf anderen Servern ;-) Z.T. mit Anpassungen im Quellcode vom Typo. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Weitere Pro und Kontra Argumente ===&lt;br /&gt;
&lt;br /&gt;
* Zeitersparnis beim Update in zentraler Installation&lt;br /&gt;
* Ein Backend=&amp;gt;Admin Account unübersichtlich&lt;br /&gt;
&lt;br /&gt;
== automatische Installation ==&lt;br /&gt;
&lt;br /&gt;
Überlegungen zum automatischen Installieren:&lt;br /&gt;
&lt;br /&gt;
Ausgehend von einer fertigen Grundinstallation mit Benutzern und Rechten plus einigen Dummy-Seiten müßten sich per Knopfdruck Installationen anfertigen lassen.&lt;br /&gt;
&lt;br /&gt;
Einzelschritte:&lt;br /&gt;
* Notwendige Dateien (Typo3 System, Filadmin Ordner)&lt;br /&gt;
* Datenbank (inkl. Benutzer und Dummy Inhalten)&lt;br /&gt;
* Config-Datei (automatisiert ?)&lt;br /&gt;
&lt;br /&gt;
=== Vorstufen ===&lt;br /&gt;
1. Halbautomatisch&lt;br /&gt;
* komplettes DB Dump über phpMyAdmin o. mysqldump einspielen&lt;br /&gt;
* typo 3 Installieren &lt;br /&gt;
* fileadmin Ordner aufspielen&lt;br /&gt;
&lt;br /&gt;
2. Automatisch:&lt;br /&gt;
&lt;br /&gt;
* alle benötigten Dateien auf Server zum automatischen Download bereitstellen&lt;br /&gt;
* Batchdatei zum automatischen Ablauf&lt;br /&gt;
&lt;br /&gt;
3. Anpassungen:&lt;br /&gt;
* neuer Header&lt;br /&gt;
* Maße, Farben und Schrift im CSS&lt;br /&gt;
* Copyright anpassen&lt;br /&gt;
* Printversion anpassen&lt;br /&gt;
* Email Adresse in Kontaktformular&lt;br /&gt;
&lt;br /&gt;
== Typo3 - Update ==&lt;br /&gt;
=== 3.8 auf 4.0 ===&lt;br /&gt;
Ordner typo3, t3lib ersetzen&lt;br /&gt;
misc aufspielen&lt;br /&gt;
index.php ersetzen (root)&lt;br /&gt;
&lt;br /&gt;
Update Wizard im Install Tool ausführen&lt;br /&gt;
&lt;br /&gt;
Im Database Analyzer Compare und danach die erforderlichen Updates der Datenbanktabellen ausführen.&lt;br /&gt;
&lt;br /&gt;
Nicht benötigte Extensions entfernen und entsprechend Templates anpassen&lt;br /&gt;
&lt;br /&gt;
Alte Sprachpakete löschen und mit dem Translation Handling im Extension Manager die benötigten Sprachen aktualisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Kompatibilitätsmodus 3.8 für Version 4 ===&lt;br /&gt;
Nach Update von 3.8.x auf 4.0 läuft das Typo zunächst im Kompatibilitätsmodus.&lt;br /&gt;
&lt;br /&gt;
Folgendes sollte verändert werden damit die Ausgabe auch nach umschalten wieder geht.&lt;br /&gt;
The following updates will be performed:&lt;br /&gt;
&lt;br /&gt;
changeCompatibilityVersion&lt;br /&gt;
TYPO3 output is currently compatible to version 3.8. To use all the new features in the current TYPO3 version, make sure you follow the guidelines below to upgrade without problems.&lt;br /&gt;
&lt;br /&gt;
Follow the steps below carefully and confirm every step!&lt;br /&gt;
You will see this list again after you performed the update.&lt;br /&gt;
CMS Frontend&lt;br /&gt;
&lt;br /&gt;
    *&lt;br /&gt;
&lt;br /&gt;
      Word separator character for simulateStaticDocument is changed from underscore (_) to hyphen (-) to make URLs more friendly for search enginesURLs that are already existing (e.g. external links to your site) will still work like before.&lt;br /&gt;
&lt;br /&gt;
      You can set the separator character back to an underscore by putting the following line into the Setup section of your Page TypoScript template:&lt;br /&gt;
&lt;br /&gt;
      config.simulateStaticDocuments_replacementChar = _&lt;br /&gt;
    *&lt;br /&gt;
&lt;br /&gt;
      CSS Stylesheets and JavaScript are put into an external file by default.&lt;br /&gt;
&lt;br /&gt;
      Technically, that means that the default value of &amp;quot;config.inlineStyle2TempFile&amp;quot; is now set to &amp;quot;1&amp;quot; and that of &amp;quot;config.removeDefaultJS&amp;quot; to &amp;quot;external&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 Acknowledged&lt;br /&gt;
CSS Styled Content: Accessibility improvements&lt;br /&gt;
&lt;br /&gt;
The rendering of the following elements will change:&lt;br /&gt;
&lt;br /&gt;
    * tt_content.menu (used f.e. for sitemaps): Instead of div-tags, lists are used now.&lt;br /&gt;
&lt;br /&gt;
    * tt_content.mailform: Mailforms do not use tables anymore, instead, they use the div-tag. Besides that, mailforms are accessible now.&lt;br /&gt;
&lt;br /&gt;
    * The p-tag has been removed from all table cells.&lt;br /&gt;
&lt;br /&gt;
    * CSS based &amp;quot;image&amp;quot; and &amp;quot;text with image&amp;quot;&lt;br /&gt;
      As the extension cron_cssstyledimgtext has been merged into the core, rendering of the content elements &amp;quot;image&amp;quot; and &amp;quot;text with image&amp;quot; has been changed to be CSS instead of table based. Read the 4.0 release notes for further information.&lt;br /&gt;
&lt;br /&gt;
You will have to update your stylesheets to comply with these changes.&lt;br /&gt;
&lt;br /&gt;
 Acknowledged&lt;br /&gt;
&lt;br /&gt;
 Check all (ignore selection above)&lt;br /&gt;
WARNING: this might break the output of your website.&lt;br /&gt;
Show database queries performed&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=PHP_-_Probleme_l%C3%B6sen&amp;diff=19258</id>
		<title>PHP - Probleme lösen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=PHP_-_Probleme_l%C3%B6sen&amp;diff=19258"/>
		<updated>2012-10-09T06:21:42Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* E-Mail Versand funktioniert nicht mehr */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Probleme mit Sessions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warnung (Fehlermeldung)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0&lt;br /&gt;
&lt;br /&gt;
Alte Skripte verlassen sich oft darauf dass Session Variablen global verfügbar sind. Das war früher auch in der Standardeinstellung der Fall (register_globals = on)&lt;br /&gt;
&lt;br /&gt;
Um Skripte upzudaten sollte man nach der Registrierung von Session Variablen suchen (früher hat man das meist mit session_register gemacht) Anstatt session_register schreibt man dann einfach &lt;br /&gt;
 $_SESSION[&amp;quot;meineVar&amp;quot;] = &amp;quot;meinWert&amp;quot;;&lt;br /&gt;
Damit die Variablen dann später zur verfügung stehen muß man sie wieder aus dem Array rausholen. Z.B. &lt;br /&gt;
 $meineVar = $_SESSION[&amp;quot;meineVar&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probleme mit dem Zeichensatz ==&lt;br /&gt;
Vor allem im Zusammenspiel Datenbank -&amp;gt; PHP -&amp;gt; Browser kann es zu Problemen kommen. Wenn dann noch importierte Daten aus Excel oder Textdateien dazukommen...&lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedene Stellschrauben:&lt;br /&gt;
&lt;br /&gt;
Datenbank:&lt;br /&gt;
Kollation der Datenbank / Tabelle / Tabellenfeld&lt;br /&gt;
Zeichensatz der Datenbank - Verbindung&lt;br /&gt;
PHP:&lt;br /&gt;
&lt;br /&gt;
setlocale(LC_ALL, &amp;#039;de_DE&amp;#039;);&lt;br /&gt;
header(&amp;quot;Content-Type: text/html; charset=utf-8&amp;quot;); // Nutzt der Browser zum einstellen des ZS&lt;br /&gt;
&lt;br /&gt;
Probleme kann es geben wenn einige Funktionen in PHP (i.d.R. String Funktionen) nicht mit utf-8 zurechtkommen.&lt;br /&gt;
&lt;br /&gt;
Hilfen:&lt;br /&gt;
&lt;br /&gt;
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.ht ml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Datenbank - Verbindung auf einen Zeichensatz einstellen ==&lt;br /&gt;
Symptom: Manche Umlaute gehen manche nicht&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen das das PHP-Skript in utf-8 vorliegt und dementsprechend auch auf utf-8 ausgaben der Datenbank wartet. Das führt dazu, daß z.B. Umlaute aus der Datei im Browser richtig dargestellt werden, Umlaute aus der DB aber falsch. Der Browser stellt automatisch utf-8 ein weil das im Header der Datei gesendet wird. Die Standardeinstellung für dei Verbindung von mySQL ist aber in den meisten Fällen latin-1 (auch wenn die Tabellen in utf-8 vorliegen). In diesem Fall kann man direkt nach der Verbindung mit der DB im Skript die Anweisung für den zu Benutzenden Zeichensatz an die DB senden.&lt;br /&gt;
&lt;br /&gt;
Eine passende Funktion in php könnte z.B. so aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function dbConnect($server, $user, $pass) {&lt;br /&gt;
$conn = @mysql_connect($server, $user, $pass);&lt;br /&gt;
	if (!$conn) {&lt;br /&gt;
	echo &amp;quot;Die Verbindung zu &amp;quot;, $server, &amp;quot; konnte nicht hergestellt werden&amp;quot;;&lt;br /&gt;
	exit;&lt;br /&gt;
	}&lt;br /&gt;
mysql_query(&amp;quot;set names &amp;#039;utf8&amp;#039;&amp;quot;,$conn); // Verbindung auf utf-8 setzen&lt;br /&gt;
return $conn;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Formulare funktionieren nicht mehr ==&lt;br /&gt;
Wenn früher auf POST / GET Variablen direkt zugegriffen wurde funktioniert das nach abschalten von von register_globals nicht mehr.&lt;br /&gt;
&lt;br /&gt;
Eine schnelle (aber nicht sicherer) Methode um alle POST Variablen schnell mal zu initialisieren ist folgende Funktion:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while (list($key,$val) = each($HTTP_POST_VARS)) {&lt;br /&gt;
	$$key = $val;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
allerdings wird hier alles was über POST kommt ohne Validierung übernommen.&lt;br /&gt;
Je nachdem was für Daten erwartet wird könnte man vielleicht noch ein htmlspecialchar, intval o.ä. einbauen.&lt;br /&gt;
&lt;br /&gt;
== E-Mail Versand funktioniert nicht mehr ==&lt;br /&gt;
Skripte die vorher funktioniert haben funktionieren nicht mehr.&lt;br /&gt;
&lt;br /&gt;
Eventuell hat sich die Sicherheitsrichtlinie des Servers verändert. Er erwartet eine gültige absender Domain. =&amp;gt; Mail Funktion anpassen mit -f Parameter.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	$admin_mail=&amp;quot;schlegel@geo-bit.de&amp;quot;;&lt;br /&gt;
	$headers=&amp;#039;From: NARDA-STS GmbH &amp;lt;service@narda-sts.de&amp;gt;&amp;#039;.&amp;quot;\n&amp;quot;;&lt;br /&gt;
	$headers.=&amp;#039;Reply-To: service@narda-sts.de&amp;#039;.&amp;quot;\n&amp;quot;;&lt;br /&gt;
	$headers.=&amp;#039;X-Mailer: PHP/&amp;#039;.phpversion().&amp;quot;\n&amp;quot;;&lt;br /&gt;
	$headers.=&amp;quot;Content-Type: text/html\n&amp;quot;;&lt;br /&gt;
	$addParams = &amp;#039;-fservice@narda-sts.de&amp;#039;;&lt;br /&gt;
	mail($to, $subject, $mail_form, $headers,$addParams);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=PHP_-_Probleme_l%C3%B6sen&amp;diff=19257</id>
		<title>PHP - Probleme lösen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=PHP_-_Probleme_l%C3%B6sen&amp;diff=19257"/>
		<updated>2012-10-05T12:02:05Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Formulare funktionieren nicht mehr */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Probleme mit Sessions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Warnung (Fehlermeldung)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0&lt;br /&gt;
&lt;br /&gt;
Alte Skripte verlassen sich oft darauf dass Session Variablen global verfügbar sind. Das war früher auch in der Standardeinstellung der Fall (register_globals = on)&lt;br /&gt;
&lt;br /&gt;
Um Skripte upzudaten sollte man nach der Registrierung von Session Variablen suchen (früher hat man das meist mit session_register gemacht) Anstatt session_register schreibt man dann einfach &lt;br /&gt;
 $_SESSION[&amp;quot;meineVar&amp;quot;] = &amp;quot;meinWert&amp;quot;;&lt;br /&gt;
Damit die Variablen dann später zur verfügung stehen muß man sie wieder aus dem Array rausholen. Z.B. &lt;br /&gt;
 $meineVar = $_SESSION[&amp;quot;meineVar&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probleme mit dem Zeichensatz ==&lt;br /&gt;
Vor allem im Zusammenspiel Datenbank -&amp;gt; PHP -&amp;gt; Browser kann es zu Problemen kommen. Wenn dann noch importierte Daten aus Excel oder Textdateien dazukommen...&lt;br /&gt;
&lt;br /&gt;
Es gibt verschiedene Stellschrauben:&lt;br /&gt;
&lt;br /&gt;
Datenbank:&lt;br /&gt;
Kollation der Datenbank / Tabelle / Tabellenfeld&lt;br /&gt;
Zeichensatz der Datenbank - Verbindung&lt;br /&gt;
PHP:&lt;br /&gt;
&lt;br /&gt;
setlocale(LC_ALL, &amp;#039;de_DE&amp;#039;);&lt;br /&gt;
header(&amp;quot;Content-Type: text/html; charset=utf-8&amp;quot;); // Nutzt der Browser zum einstellen des ZS&lt;br /&gt;
&lt;br /&gt;
Probleme kann es geben wenn einige Funktionen in PHP (i.d.R. String Funktionen) nicht mit utf-8 zurechtkommen.&lt;br /&gt;
&lt;br /&gt;
Hilfen:&lt;br /&gt;
&lt;br /&gt;
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.ht ml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Datenbank - Verbindung auf einen Zeichensatz einstellen ==&lt;br /&gt;
Symptom: Manche Umlaute gehen manche nicht&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen das das PHP-Skript in utf-8 vorliegt und dementsprechend auch auf utf-8 ausgaben der Datenbank wartet. Das führt dazu, daß z.B. Umlaute aus der Datei im Browser richtig dargestellt werden, Umlaute aus der DB aber falsch. Der Browser stellt automatisch utf-8 ein weil das im Header der Datei gesendet wird. Die Standardeinstellung für dei Verbindung von mySQL ist aber in den meisten Fällen latin-1 (auch wenn die Tabellen in utf-8 vorliegen). In diesem Fall kann man direkt nach der Verbindung mit der DB im Skript die Anweisung für den zu Benutzenden Zeichensatz an die DB senden.&lt;br /&gt;
&lt;br /&gt;
Eine passende Funktion in php könnte z.B. so aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function dbConnect($server, $user, $pass) {&lt;br /&gt;
$conn = @mysql_connect($server, $user, $pass);&lt;br /&gt;
	if (!$conn) {&lt;br /&gt;
	echo &amp;quot;Die Verbindung zu &amp;quot;, $server, &amp;quot; konnte nicht hergestellt werden&amp;quot;;&lt;br /&gt;
	exit;&lt;br /&gt;
	}&lt;br /&gt;
mysql_query(&amp;quot;set names &amp;#039;utf8&amp;#039;&amp;quot;,$conn); // Verbindung auf utf-8 setzen&lt;br /&gt;
return $conn;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Formulare funktionieren nicht mehr ==&lt;br /&gt;
Wenn früher auf POST / GET Variablen direkt zugegriffen wurde funktioniert das nach abschalten von von register_globals nicht mehr.&lt;br /&gt;
&lt;br /&gt;
Eine schnelle (aber nicht sicherer) Methode um alle POST Variablen schnell mal zu initialisieren ist folgende Funktion:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while (list($key,$val) = each($HTTP_POST_VARS)) {&lt;br /&gt;
	$$key = $val;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
allerdings wird hier alles was über POST kommt ohne Validierung übernommen.&lt;br /&gt;
Je nachdem was für Daten erwartet wird könnte man vielleicht noch ein htmlspecialchar, intval o.ä. einbauen.&lt;br /&gt;
&lt;br /&gt;
== E-Mail Versand funktioniert nicht mehr ==&lt;br /&gt;
Skripte die vorher funktioniert haben funktionieren nicht mehr.&lt;br /&gt;
&lt;br /&gt;
Eventuell hat sich die Sicherheitsrichtlinie des Servers verändert. Er erwartet eine gültige absender Domain. =&amp;gt; Mail Funktion anpassen mit -f Parameter.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Mac_Terminal_Tipps&amp;diff=19256</id>
		<title>Mac Terminal Tipps</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Mac_Terminal_Tipps&amp;diff=19256"/>
		<updated>2012-10-05T11:21:09Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Sendmail aktivieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;siehe auch Linux&lt;br /&gt;
== Finder zeigt alle Dateien und Ordner an ==&lt;br /&gt;
 defaults write com.apple.Finder AppleShowAllFiles YES&lt;br /&gt;
danach Finder neu starten, damit die Änderungen sichtbar werden:&lt;br /&gt;
 killall Finder&lt;br /&gt;
&lt;br /&gt;
== Sendmail aktivieren ==&lt;br /&gt;
 Macintosh HD -&amp;gt; etc -&amp;gt; hostconfig&lt;br /&gt;
 MAILSERVER=-YES-&lt;br /&gt;
=== Für php mail() Befehl ===&lt;br /&gt;
php.ini&lt;br /&gt;
 sendmail_path = /usr/sbin/sendmail -t -i&lt;br /&gt;
&lt;br /&gt;
== Netzlaufwerke finden ==&lt;br /&gt;
Netzlaufwerke sind (wenn sie gemounted sind unter &lt;br /&gt;
cd /Volumes&lt;br /&gt;
&lt;br /&gt;
erreichbar&lt;br /&gt;
&lt;br /&gt;
Du kannst Dir die gemounteten  Disks im Terminal mit &lt;br /&gt;
 diskutil list &lt;br /&gt;
ansehen, dort steht dann der &amp;quot;Diskname&amp;quot; z. B. &lt;br /&gt;
 /dev/disk0 &lt;br /&gt;
sowie die Partitionsnamen.&lt;br /&gt;
&lt;br /&gt;
In der mittleren Spalte ist dann auch der Mountname angegeben.&lt;br /&gt;
Eingeblendet werden die Disks über das Verzeichnis &lt;br /&gt;
 /Volumes&lt;br /&gt;
Hier gilt: das &amp;quot;V&amp;quot; wird groß geschrieben!&lt;br /&gt;
&lt;br /&gt;
Dort existieren Unterverzeichnisse mit den Namen der Disks. Z.B.:&lt;br /&gt;
 /Volumes/martin/&lt;br /&gt;
 /Volumes/files/&lt;br /&gt;
&lt;br /&gt;
Anmerkung Steff: diskutil list scheint nicht ohne weiteres mit Netzlaufwerken zu funktionieren&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Mac_Terminal_Tipps&amp;diff=19255</id>
		<title>Mac Terminal Tipps</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Mac_Terminal_Tipps&amp;diff=19255"/>
		<updated>2012-10-05T11:16:31Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;siehe auch Linux&lt;br /&gt;
== Finder zeigt alle Dateien und Ordner an ==&lt;br /&gt;
 defaults write com.apple.Finder AppleShowAllFiles YES&lt;br /&gt;
danach Finder neu starten, damit die Änderungen sichtbar werden:&lt;br /&gt;
 killall Finder&lt;br /&gt;
&lt;br /&gt;
== Sendmail aktivieren ==&lt;br /&gt;
 Macintosh HD -&amp;gt; etc -&amp;gt; hostconfig&lt;br /&gt;
 MAILSERVER=-YES-&lt;br /&gt;
== Netzlaufwerke finden ==&lt;br /&gt;
Netzlaufwerke sind (wenn sie gemounted sind unter &lt;br /&gt;
cd /Volumes&lt;br /&gt;
&lt;br /&gt;
erreichbar&lt;br /&gt;
&lt;br /&gt;
Du kannst Dir die gemounteten  Disks im Terminal mit &lt;br /&gt;
 diskutil list &lt;br /&gt;
ansehen, dort steht dann der &amp;quot;Diskname&amp;quot; z. B. &lt;br /&gt;
 /dev/disk0 &lt;br /&gt;
sowie die Partitionsnamen.&lt;br /&gt;
&lt;br /&gt;
In der mittleren Spalte ist dann auch der Mountname angegeben.&lt;br /&gt;
Eingeblendet werden die Disks über das Verzeichnis &lt;br /&gt;
 /Volumes&lt;br /&gt;
Hier gilt: das &amp;quot;V&amp;quot; wird groß geschrieben!&lt;br /&gt;
&lt;br /&gt;
Dort existieren Unterverzeichnisse mit den Namen der Disks. Z.B.:&lt;br /&gt;
 /Volumes/martin/&lt;br /&gt;
 /Volumes/files/&lt;br /&gt;
&lt;br /&gt;
Anmerkung Steff: diskutil list scheint nicht ohne weiteres mit Netzlaufwerken zu funktionieren&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Mac_OSX_-_sendmail_konfigurieren&amp;diff=19254</id>
		<title>Mac OSX - sendmail konfigurieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Mac_OSX_-_sendmail_konfigurieren&amp;diff=19254"/>
		<updated>2012-10-05T11:13:23Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: Die Seite wurde neu angelegt: „Ist nützlich um per Skript oder per php Mails zu versenden. Sendmail kann man so konfigurieren, daß ein normaler E-Mail Account bei einem Provider zum Versand g…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ist nützlich um per Skript oder per php Mails zu versenden. Sendmail kann man so konfigurieren, daß ein normaler E-Mail Account bei einem Provider zum Versand genutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
Link (2012) http://hints.macworld.com/article.php?story=20081217161612647&lt;br /&gt;
&lt;br /&gt;
Auch interessant -&amp;gt; php über Apple Mail&lt;br /&gt;
&lt;br /&gt;
http://blogs.bigfish.tv/adam/2009/12/03/setup-a-testing-mail-server-using-php-on-mac-os-x/&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Mehrsprachige_Seiten&amp;diff=19251</id>
		<title>Typo3 - Mehrsprachige Seiten</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Mehrsprachige_Seiten&amp;diff=19251"/>
		<updated>2012-09-27T15:26:52Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* TypoScript Anpassungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch: [[Typo3 - Standardeinstellungen]]&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
=== One Tree Multilanguage Basic TS ===&lt;br /&gt;
Default Sprache wäre hier en (uid = 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config{&lt;br /&gt;
	// more properties for multilanguage pages&lt;br /&gt;
	linkVars = L(1-10)&lt;br /&gt;
	uniqueLinkVars = 1&lt;br /&gt;
	sys_language_mode = content_fallback&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
	// Language Settings for second language&lt;br /&gt;
&lt;br /&gt;
[globalVar = GP:L=1]&lt;br /&gt;
config {&lt;br /&gt;
	language = de&lt;br /&gt;
	locale_all = de_DE&lt;br /&gt;
	htmlTag_langKey = de&lt;br /&gt;
	sys_language_uid = 1&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
[globalVar = GP:L=2]&lt;br /&gt;
config {&lt;br /&gt;
	language = es&lt;br /&gt;
	locale_all = es_ES&lt;br /&gt;
	htmlTag_langKey = es&lt;br /&gt;
	sys_language_uid = 2&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
[globalVar = GP:L=3]&lt;br /&gt;
config {&lt;br /&gt;
	language = fr&lt;br /&gt;
	locale_all = fr_FR&lt;br /&gt;
	htmlTag_langKey = fr&lt;br /&gt;
	sys_language_uid = 3&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
[globalVar = GP:L=4]&lt;br /&gt;
config {&lt;br /&gt;
	language = it&lt;br /&gt;
	locale_all = it_IT&lt;br /&gt;
	htmlTag_langKey = it&lt;br /&gt;
	sys_language_uid = 4&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Sprachmenü Textversion ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
########################################&lt;br /&gt;
### Standard Sprachmenu (TS Version) ###&lt;br /&gt;
########################################&lt;br /&gt;
&lt;br /&gt;
temp.langTextMenu = COA&lt;br /&gt;
temp.langTextMenu{&lt;br /&gt;
  10 = TEXT&lt;br /&gt;
  10 {&lt;br /&gt;
    		# Labels&lt;br /&gt;
    		#value = Language:&lt;br /&gt;
    		#lang.de = Sprache:&lt;br /&gt;
    		#lang.fr = Langue:&lt;br /&gt;
    		#wrap = &amp;lt;div id=&amp;quot;nav-lang-label&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
  }&lt;br /&gt;
  20 = HMENU&lt;br /&gt;
  20{&lt;br /&gt;
    wrap = &amp;lt;div id=&amp;quot;nav-lang&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
    special = language&lt;br /&gt;
    		# Liste der Sprach IDs (0 = Deutsch, 1 = Englisch, 2 = Franzoesisch)&lt;br /&gt;
    		//special.value = 0,1,2&lt;br /&gt;
    special.value = 0,1&lt;br /&gt;
    1 = TMENU&lt;br /&gt;
    1{&lt;br /&gt;
      wrap = &amp;lt;ul class=&amp;quot;nav&amp;quot;&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
      NO = 1&lt;br /&gt;
      NO {&lt;br /&gt;
        stdWrap.cObject = TEXT&lt;br /&gt;
        stdWrap.cObject{&lt;br /&gt;
          value = english || deutsch&lt;br /&gt;
          					# oder auf diese Weise:&lt;br /&gt;
          					#lang.de = Englisch || Deutsch || Franzoesich&lt;br /&gt;
          					#lang.fr = ...&lt;br /&gt;
        }&lt;br /&gt;
        allWrap = &amp;lt;li class = &amp;quot;no first&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;no&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;no last&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
      ACT &amp;lt; .NO&lt;br /&gt;
      ACT {&lt;br /&gt;
        doNotLinkIt = 1&lt;br /&gt;
        allWrap = &amp;lt;li class = &amp;quot;act first&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;act&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;act last&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
      			# Zustand NO wenn keine Uebersetzung vorliegt&lt;br /&gt;
      USERDEF1 &amp;lt; .NO&lt;br /&gt;
      USERDEF1 {&lt;br /&gt;
        doNotLinkIt = 1&lt;br /&gt;
        allWrap = &amp;lt;li class = &amp;quot;no empty first&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;no empty&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;no empty last&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
      			# Zustand ACT wenn keine Uebersetzung vorliegt&lt;br /&gt;
      USERDEF2 &amp;lt; .NO&lt;br /&gt;
      USERDEF2 {&lt;br /&gt;
        doNotLinkIt = 1&lt;br /&gt;
        allWrap = &amp;lt;li class=&amp;quot;act empty first&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class=&amp;quot;act empty&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class=&amp;quot;act empty last&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sprachmenü grafische Version ===&lt;br /&gt;
Möglichkeiten: &lt;br /&gt;
&lt;br /&gt;
1. obiges Menü anpassen&lt;br /&gt;
&lt;br /&gt;
2. siehe unten php Version&lt;br /&gt;
&lt;br /&gt;
3. sr_language_menu Extension&lt;br /&gt;
&lt;br /&gt;
siehe auch [[TYPO3 Sprachmenü mit sr_language_menu]]&lt;br /&gt;
&lt;br /&gt;
==== Komplettbeispiel grafische Navigation mit php-Skript ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Flaggen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Für die Flaggen nehmen wir im Beispiel eine aktive Version z.B. it.png und eine gedimmte (sw) Version z.B. it_d.png&lt;br /&gt;
&lt;br /&gt;
PHP&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
* languageMenu_d-e.php basiert auf example_languageMenu.php &lt;br /&gt;
*&lt;br /&gt;
* @author	Kasper Skårhøj &amp;lt;kasper@typo3.com&amp;gt;&lt;br /&gt;
* @modified by Stephan Schlegel www.geo-bit.de&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// All available pages_language_overlay records for the current page. &lt;br /&gt;
$query = &amp;quot;SELECT * FROM pages_language_overlay WHERE pid=&amp;quot;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_page-&amp;gt;enableFields(&amp;quot;pages_language_overlay&amp;quot;).&amp;quot; GROUP BY sys_language_uid&amp;quot;;&lt;br /&gt;
$res = mysql(TYPO3_db,$query);&lt;br /&gt;
$langArr=array();&lt;br /&gt;
while($row=mysql_fetch_assoc($res))	{&lt;br /&gt;
	$langArr[$row[&amp;quot;sys_language_uid&amp;quot;]]=$row[&amp;quot;title&amp;quot;];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// uids of table sys_language in this installation 0=en, 1=de, 2=es, 3=fr, 4=it  &lt;br /&gt;
&lt;br /&gt;
$pointer = &amp;quot;&amp;quot;;// use that if you want to mark current language&lt;br /&gt;
// Set each icon. If the language is the current, red arrow is printed to the left. &lt;br /&gt;
// If the language is NOT found (represented by a pages_language_overlay record on this page), the icon is dimmed.&lt;br /&gt;
$flags = array();&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li class=&amp;quot;first&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=0&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/gb.png&amp;quot; alt=&amp;quot;english&amp;quot; title=&amp;quot;english&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=1&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/de&amp;#039;.($langArr[1]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.png&amp;quot; alt=&amp;quot;deutsch&amp;quot; title=&amp;quot;deutsch&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=2&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/es&amp;#039;.($langArr[2]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.png&amp;quot; alt=&amp;quot;espagnol&amp;quot; title=&amp;quot;espagnol&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=3&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/fr&amp;#039;.($langArr[3]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.png&amp;quot; alt=&amp;quot;francais&amp;quot; title=&amp;quot;francais&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li class=&amp;quot;last&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=4&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/it&amp;#039;.($langArr[4]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.png&amp;quot; alt=&amp;quot;italiano&amp;quot; title=&amp;quot;italiano&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$content = &amp;#039;&amp;lt;ul class=&amp;quot;nav&amp;quot; id=&amp;quot;nav-lang&amp;quot;&amp;gt;&amp;#039;.implode(&amp;quot;&amp;quot;,$flags).&amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TS (für Subpart oder Marker)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
page.10.subparts{&lt;br /&gt;
	NAV_LANG=PHP_SCRIPT&lt;br /&gt;
	NAV_LANG.file=fileadmin/templates/narda-ida/scripts/multilanguage-en-de-es-f-i.php&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CSS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Common navigation styles */&lt;br /&gt;
&lt;br /&gt;
.nav .divider{&lt;br /&gt;
    margin: 0 1.5em 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav li li {&lt;br /&gt;
font-size:90%;&lt;br /&gt;
padding:0 0 0 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav li li li {&lt;br /&gt;
padding-left:1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav a, .nav a:link, &lt;br /&gt;
.nav a:visited {&lt;br /&gt;
text-decoration:none !important;&lt;br /&gt;
border: none;&lt;br /&gt;
padding-left: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#nav-lang .nav a,&lt;br /&gt;
#nav-lang .nav a:link, &lt;br /&gt;
#nav-lang .nav a:visited {&lt;br /&gt;
text-decoration:none !important;&lt;br /&gt;
border: none;&lt;br /&gt;
padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
ul.nav a:hover, ul.nav a:active, &lt;br /&gt;
li.act, li.act a, &lt;br /&gt;
li.cur, li.cur a {&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
ul.nav {&lt;br /&gt;
margin:0;&lt;br /&gt;
padding:0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul.nav li {&lt;br /&gt;
list-style:none outside none;&lt;br /&gt;
margin:0;&lt;br /&gt;
padding:0;&lt;br /&gt;
line-height: 23px;&lt;br /&gt;
}&lt;br /&gt;
/* grafische Sprachnavigation */&lt;br /&gt;
#nav-lang{&lt;br /&gt;
	padding-top: 4px;&lt;br /&gt;
	float: left;&lt;br /&gt;
}&lt;br /&gt;
#nav-lang a,&lt;br /&gt;
#nav-lang a:link,&lt;br /&gt;
#nav-lang a:visited,&lt;br /&gt;
#nav-lang a:hover,&lt;br /&gt;
#nav-lang a:active{&lt;br /&gt;
	padding:2px 3px;&lt;br /&gt;
}&lt;br /&gt;
#nav-lang .first a{&lt;br /&gt;
	padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
#nav-lang .last a{&lt;br /&gt;
	padding-right:0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
* HTML-Template: Marker einbinden &lt;br /&gt;
* TypoScript: Marker mit Sprachskript füllen (PHP-Objekt)&lt;br /&gt;
* Dateien: Notwendige Dateien hochspielen (Skript und Grafiken)&lt;br /&gt;
* CSS anpassen damit Flaggen schön aussehen&lt;br /&gt;
* Backend: Sprache anlegen (Weltkugel)&lt;br /&gt;
* Evt. Spracheinstellungen im TypoScript (das meiste im vorgefertigten Template)&lt;br /&gt;
Hinweis: alles im Baukasten (Common - Ordner) ToDo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2 Konzepte===&lt;br /&gt;
Um Mehrsprachigkeit zu realisieren gibt es zwei Ansätze:&lt;br /&gt;
# Multitree - Mehrere Navigationsbäume (für jede Sprache einen). In den Navigationsbäumen müssen die Templates entsprechend Variiert werden.&lt;br /&gt;
# One Tree Fits All - Mehrsprachigkeit mit den Typo3 Bordmitteln (der moderne Ansatz). Hierbei können im System mehrere Sprachen angelegt werden. Jede Sprache hat nachher in der Seitenansicht eine eigene Spalte. So hat man eine gute Übersicht welche Inhaltselemente bereits übersetzt sind.&lt;br /&gt;
&lt;br /&gt;
===Welcher Ansatz ist der Richtige ?===&lt;br /&gt;
Kommt drauf an. Wer soll damit klar kommen? Wieviele Seiten sind es? Werden alle Seiten übersetzt?&lt;br /&gt;
&lt;br /&gt;
===TypoScript Anpassungen===&lt;br /&gt;
Damit das System merkt in welcher Sprache es sich z.Zt. befindet wird der URL ein Parameter mitgegeben. Allgemein ist der Parameter L vereinbart. Das sollte auch eingehalten werden weil einige Extensions nur mit L als Variable arbeiten. &lt;br /&gt;
&lt;br /&gt;
Damit das ganze funktioniert müssen Anpassungen mit TypoScript gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Am besten ein Zusätzliches Basis Template anlegen. Für eine deutsch-englische Seite kann das Setup z.B. so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Parameter L definieren 0 soll die default Sprache (deutsch) sein ###&lt;br /&gt;
config.linkVars = L(0-2)&lt;br /&gt;
config.sys_language_uid = 0&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
#config.sys_language_mode = content_fallback;0 //sucht in default Sprache falls nichts vorhanden&lt;br /&gt;
#config.sys_language_mode = content_fallback : 1,0 // sucht in lang1 ansonsten in 0&lt;br /&gt;
config.sys_language_mode = strict&lt;br /&gt;
config.sys_language_overlay = hideNonTranslated&lt;br /&gt;
 &lt;br /&gt;
 # Testen ob die Englische Seite gewünscht wird. In einem CASE Konstrukt wird dazu geprüft&lt;br /&gt;
 # ob die globale Variable L=1 ist&lt;br /&gt;
 [globalVar = GP:L = 1]&lt;br /&gt;
    config.sys_language_uid = 1&lt;br /&gt;
    config.language = en&lt;br /&gt;
    config.locale_all = en_EN&lt;br /&gt;
 [global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Erläuterung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Im ersten Teil wird die globale Variable L definiert und dann Deutsch als default-Sprache festgelegt und mit L=0 gleichgesetzt. Danach wird getestet ob der Parameter L mit dem Wert 1 übergeben wird. Ist das der Fall wird die Systemsprache auf englisch gesetzt. Das führt später auch dazu, daß die Inhalte aus der Englischen Spalte ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ein weiteres Beispiel:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config {&lt;br /&gt;
  linkVars = L&lt;br /&gt;
  sys_language_uid = 0&lt;br /&gt;
  language = de&lt;br /&gt;
  locale_all = de_DE&lt;br /&gt;
  htmlTag_langKey = de&lt;br /&gt;
  sys_language_mode = content_fallback&lt;br /&gt;
  sys_language_overlay = hideNonTranslated&lt;br /&gt;
  // der Paramter L soll durchgereicht werden&lt;br /&gt;
  linkVars := addToList(L)&lt;br /&gt;
  // der Paramter soll eindeutig sein (kein doppeltes Auftreten in einer URL)&lt;br /&gt;
  uniqueLinkVars = 1  &lt;br /&gt;
  // content fallback&lt;br /&gt;
  sys_language_fallBackOrder = 1,0&lt;br /&gt;
  sys_language_mode = content_fallback ; 1,0&lt;br /&gt;
  sys_language_overlay = 1&lt;br /&gt;
  sys_language_content = 1    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// English&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
  config {&lt;br /&gt;
    sys_language_uid = 1&lt;br /&gt;
    language = en&lt;br /&gt;
    locale_all = en_EN&lt;br /&gt;
    htmlTag_langKey = en&lt;br /&gt;
  }&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
// Spanish&lt;br /&gt;
[globalVar = GP:L=2]&lt;br /&gt;
config {&lt;br /&gt;
	language = es&lt;br /&gt;
	locale_all = es_ES&lt;br /&gt;
	htmlTag_langKey = es&lt;br /&gt;
	sys_language_uid = 2&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
// french&lt;br /&gt;
[globalVar = GP:L=3]&lt;br /&gt;
config {&lt;br /&gt;
	language = fr&lt;br /&gt;
	locale_all = fr_FR&lt;br /&gt;
	htmlTag_langKey = fr&lt;br /&gt;
	sys_language_uid = 3&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
// italian&lt;br /&gt;
[globalVar = GP:L=4]&lt;br /&gt;
config {&lt;br /&gt;
	language = it&lt;br /&gt;
	locale_all = it_IT&lt;br /&gt;
	htmlTag_langKey = it&lt;br /&gt;
	sys_language_uid = 4&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
// Türkisch&lt;br /&gt;
[globalVar = GP:L=5]&lt;br /&gt;
config {&lt;br /&gt;
	language = tr&lt;br /&gt;
	locale_all = tr_TR&lt;br /&gt;
	htmlTag_langKey = tr&lt;br /&gt;
	sys_language_uid = 5&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
// Chinesisch 6&lt;br /&gt;
[globalVar = GP:L=6]&lt;br /&gt;
config {&lt;br /&gt;
	language = zh&lt;br /&gt;
	locale_all = zh_CN&lt;br /&gt;
	htmlTag_langKey = zh&lt;br /&gt;
	sys_language_uid = 6&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt fehlt noch ein Auswahlmenü mit dem sich die Sprache auf der Webseite auswählen läßt.&lt;br /&gt;
&lt;br /&gt;
Hinweis für die Kürzel gelten die Locale Abkürzungen von PHP (eigentlich wäre hier ein Bindestrich statt eines Underscore, aber php behandelt das tolerant), bzw. der Language Code und die LCID (language code id).&lt;br /&gt;
&lt;br /&gt;
 http://en.wikipedia.org/wiki/Locale&lt;br /&gt;
 http://unicode.org/repos/cldr-tmp/trunk/charts/supplemental/language_territory_information.html&lt;br /&gt;
 http://www.science.co.il/language/Locale-Codes.asp#definitions&lt;br /&gt;
&lt;br /&gt;
===Sprachauswahlmenü programmieren===&lt;br /&gt;
In der Subpart definition (workOnSubparts) des Haupttemplates binden wir ein PHP-Skript ein, dass dafür sorgt, daß an der Stelle des Markers (hier LANGUAGE) das Menü eingebunden wird und das bei Klicks auf einen Link immer die richtige Nummer für die Sprache an die URL angehängt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TypoScript:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   #multilanguage-flags&lt;br /&gt;
   marks.LANGUAGE=TEXT&lt;br /&gt;
   marks.LANGUAGE=&amp;amp;nbsp;&lt;br /&gt;
   marks.LANGUAGE=PHP_SCRIPT&lt;br /&gt;
   marks.LANGUAGE.file=fileadmin/scripts/languageMenu_d-e.php&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;php-Skript:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 /**&lt;br /&gt;
 * languageMenu_d-e.php basiert auf example_languageMenu.php &lt;br /&gt;
 *&lt;br /&gt;
 * @author	Kasper Skårhøj &amp;lt;kasper@typo3.com&amp;gt;&lt;br /&gt;
 * @modified by Stephan Schlegel www.geo-bit.de&lt;br /&gt;
 */&lt;br /&gt;
 // First, select all pages_language_overlay records on the current page. Each represents a possibility for a language.&lt;br /&gt;
 $query = &amp;quot;SELECT * FROM pages_language_overlay WHERE pid=&amp;quot;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_page-&amp;gt;enableFields(&amp;quot;pages_language_overlay&amp;quot;).&amp;quot; GROUP BY sys_language_uid&amp;quot;;&lt;br /&gt;
 $res = mysql(TYPO3_db,$query);&lt;br /&gt;
 $langArr=array();&lt;br /&gt;
 while($row=mysql_fetch_assoc($res))	{&lt;br /&gt;
 $langArr[$row[&amp;quot;sys_language_uid&amp;quot;]]=$row[&amp;quot;title&amp;quot;];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // Little red arrow, which is inserted to the left of the flag-icon if the &lt;br /&gt;
 // TSFE-&amp;gt;sys_language_uid equals the language uid (notice that 0=deutsch, 1=englisch  &lt;br /&gt;
 // is SPECIFIC to this database, because these numbers refer to uid&amp;#039;s of the table sys_language)&lt;br /&gt;
 $pointer = &amp;#039;&amp;lt;img src=&amp;quot;fileadmin/scripts/pointer.gif&amp;quot; width=&amp;quot;7&amp;quot; height=&amp;quot;10&amp;quot; align=middle&amp;gt;&amp;#039;;&lt;br /&gt;
 // Set each icon. If the language is the current, red arrow is printed to the left. &lt;br /&gt;
 // If the language is NOT found (represented by a pages_language_overlay record on this page), the icon is dimmed.&lt;br /&gt;
 $flags = array();&lt;br /&gt;
 $flags[] = ($GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_language_uid==0?$pointer:&amp;quot;&amp;quot;).&amp;#039;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=0&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;media/uploads/flag_de.gif&amp;quot; alt=&amp;quot;deutsch&amp;quot; width=&amp;quot;21&amp;quot; height=&amp;quot;13&amp;quot; hspace=5 border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
 $flags[] = ($GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_language_uid==1?$pointer:&amp;quot;&amp;quot;).&amp;#039;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=1&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;media/uploads/flag_uk&amp;#039;.($langArr[1]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.gif&amp;quot; alt=&amp;quot;english&amp;quot; width=&amp;quot;21&amp;quot; height=&amp;quot;13&amp;quot; hspace=5 border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
 // Make the little menu. Notice, the menu does ONLY transfer the page-id and the &amp;quot;L&amp;quot; variable (which is also SPECIFIC for this website because &amp;quot;L&amp;quot; has been used in the extension template used to control the language setup)&lt;br /&gt;
 $content = &amp;#039;&amp;lt;span class=&amp;quot;language_selector&amp;quot;&amp;gt;&amp;#039;.implode(&amp;quot;&amp;quot;,$flags).&amp;#039;&amp;lt;/span&amp;gt;&amp;#039;;&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
===Rootline für mehrere Sprachen einrichten===&lt;br /&gt;
 temp.rootline = HMENU&lt;br /&gt;
 temp.rootline.special = rootline&lt;br /&gt;
 temp.rootline.special.range = 0|-1&lt;br /&gt;
 temp.rootline.wrap = Sie sind hier:&lt;br /&gt;
 temp.rootline.1 = TMENU&lt;br /&gt;
 temp.rootline.1 {&lt;br /&gt;
    target = _top&lt;br /&gt;
    NO.linkWrap = || /&lt;br /&gt;
 }&lt;br /&gt;
 # evt. bestimte Seiten ausblenden...&lt;br /&gt;
 temp.rootline.excludeUidList =&lt;br /&gt;
 &lt;br /&gt;
 # Sprache mit der ID 3&lt;br /&gt;
 [globalVar = GP:L = 3]&lt;br /&gt;
    temp.rootline.wrap = You are here:&lt;br /&gt;
 [global]&lt;br /&gt;
 &lt;br /&gt;
 # Sprache mit der ID 4&lt;br /&gt;
 [globalVar = GP:L = 4]&lt;br /&gt;
    temp.rootline.wrap = bla bla:&lt;br /&gt;
 [global]&lt;br /&gt;
 &lt;br /&gt;
 # Sprache mit der ID X (X = beliebige zahl)&lt;br /&gt;
 [globalVar = GP:L = X]&lt;br /&gt;
    temp.rootline.wrap = hierher haben sie sich verirrt:&lt;br /&gt;
 [global]&lt;br /&gt;
&lt;br /&gt;
=== Ein Beispiel für ein vollständiges (zweisprachiges) TypoScript ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Spracheinstellungen ###&lt;br /&gt;
config.linkVars = L&lt;br /&gt;
config.sys_language_mode = content_fallback;0&lt;br /&gt;
&lt;br /&gt;
[globalVar = GP:L = 0]&lt;br /&gt;
config.sys_language_uid = 0&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# Link to top&lt;br /&gt;
#content.linkToTop &amp;gt;&lt;br /&gt;
tt_content.stdWrap.innerWrap2 = |&amp;lt;br&amp;gt;&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;A href=&amp;quot;#top&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#AB3C4B&amp;quot; face=&amp;quot;Arial, Helvetica, sans-serif&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;B&amp;gt;nach oben&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Suchfunktion&lt;br /&gt;
tt_content.search{&lt;br /&gt;
   20.layout.10.value = Suchergebnis: ###RANGELOW###-###RANGEHIGH### von ###TOTAL###&lt;br /&gt;
   20.noResultObj.10.value = Keine Treffer.&lt;br /&gt;
   20.next.value=nächste&lt;br /&gt;
   20.prev.value=vorherige&lt;br /&gt;
   30.dataArray.10.label = Suche nach:&lt;br /&gt;
   30.dataArray.20.label = Suche in:&lt;br /&gt;
   30.dataArray.20.valueArray.10.label = Überschriften und Schlüsselworten&lt;br /&gt;
   30.dataArray.20.valueArray.20.label = Seiteninhalten&lt;br /&gt;
   30.dataArray.40.value = Suche starten&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
# English language, sys_language.uid = 1&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
config.sys_language_uid = 1&lt;br /&gt;
config.language = en&lt;br /&gt;
config.locale_all = english&lt;br /&gt;
&lt;br /&gt;
#  Link to top&lt;br /&gt;
#content.linkToTop &amp;gt;&lt;br /&gt;
tt_content.stdWrap.innerWrap2 = &amp;lt;br&amp;gt;&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;A href=&amp;quot;#top&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#AB3C4B&amp;quot; face=&amp;quot;Arial, Helvetica, sans-serif&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;B&amp;gt;to top&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Suchfunktion - englisch&lt;br /&gt;
tt_content.search{&lt;br /&gt;
   20.layout.10.value = Suchergebnis: ###RANGELOW###-###RANGEHIGH### von ###TOTAL###&lt;br /&gt;
   20.noResultObj.10.value = No hits.&lt;br /&gt;
   20.next.value=next&lt;br /&gt;
   20.prev.value=previous&lt;br /&gt;
   30.dataArray.10.label = Searchwords:&lt;br /&gt;
   30.dataArray.20.label = Search in:&lt;br /&gt;
   30.dataArray.20.valueArray.10.label = Headlines &amp;amp; Keywords&lt;br /&gt;
   30.dataArray.20.valueArray.20.label = Content&lt;br /&gt;
   30.dataArray.40.value = Start search&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Schritt für Schritt Anleitung ===&lt;br /&gt;
* Mindestens eine weitere Sprache anlegen (Listenansicht - Weltkugel)&lt;br /&gt;
* TypoScript Sprachvariable und Template anpassen:&lt;br /&gt;
* Benötigte Skripte und Bilder(Flaggen) Uploaden&amp;lt;br&amp;gt;z.B. mulitlan_d-e.php, flag_uk.gif...&lt;br /&gt;
* Marker im TypoScript Template anlegen:z.B.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Multilanguage-Navi ###&lt;br /&gt;
  marks.LANGUAGE=PHP_SCRIPT&lt;br /&gt;
  marks.LANGUAGE.file=fileadmin/scripts/languageMenu_e-d.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Marker im HTML-Template einbauen. Am besten in divs damit man es per CSS gestalten kann&lt;br /&gt;
 &amp;lt;div id=&amp;quot;languageSelector&amp;quot;&amp;gt;###LANGUAGE###&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme bei mehrsprachigen Seiten ===&lt;br /&gt;
Lösungen bei verschiedenen Problemen mit mehrsprachigen Seiten gibt es hier:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Probleme mit mehrsprachigen Seiten lösen]]&lt;br /&gt;
&lt;br /&gt;
=== Skriptsammlung ===&lt;br /&gt;
==== php-Sprachskript ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
* languageMenu_d-e.php basiert auf example_languageMenu.php &lt;br /&gt;
*&lt;br /&gt;
* @author	Kasper Skårhøj &amp;lt;kasper@typo3.com&amp;gt;&lt;br /&gt;
* @modified by Stephan Schlegel www.geo-bit.de&lt;br /&gt;
*/&lt;br /&gt;
// First, select all pages_language_overlay records on the current page. &lt;br /&gt;
// Each represents a possibility for a language.&lt;br /&gt;
$query = &amp;quot;SELECT * FROM pages_language_overlay WHERE pid=&amp;quot;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_page-&amp;gt;enableFields(&amp;quot;pages_language_overlay&amp;quot;).&amp;quot; GROUP BY sys_language_uid&amp;quot;;&lt;br /&gt;
$res = mysql(TYPO3_db,$query);&lt;br /&gt;
$langArr=array();&lt;br /&gt;
while($row=mysql_fetch_assoc($res))	{&lt;br /&gt;
$langArr[$row[&amp;quot;sys_language_uid&amp;quot;]]=$row[&amp;quot;title&amp;quot;];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Little red arrow, which is inserted to the left of the flag-icon if the &lt;br /&gt;
// TSFE-&amp;gt;sys_language_uid equals the language uid (notice that 0=deutsch, 1=englisch  &lt;br /&gt;
// is SPECIFIC to this database, because these numbers refer to uid&amp;#039;s of the table sys_language)&lt;br /&gt;
//$pointer = &amp;#039;&amp;lt;img src=&amp;quot;fileadmin/scripts/pointer.gif&amp;quot; width=&amp;quot;7&amp;quot; height=&amp;quot;10&amp;quot; align=middle&amp;gt;&amp;#039;;&lt;br /&gt;
$pointer = &amp;quot;&amp;quot;;&lt;br /&gt;
// Set each icon. If the language is the current, red arrow is printed to the left. &lt;br /&gt;
// If the language is NOT found (represented by a pages_language_overlay record on this page), the icon is dimmed.&lt;br /&gt;
$flags = array();&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=0&amp;quot; target=_top&amp;gt;&amp;lt;span class=&amp;quot;flag&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/template/images/flag_de.gif&amp;quot; alt=&amp;quot;deutsch&amp;quot; title=&amp;quot;deutsch&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=1&amp;quot; target=_top&amp;gt;&amp;lt;span class=&amp;quot;flag&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/template/images/flag_uk&amp;#039;.($langArr[1]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.gif&amp;quot; alt=&amp;quot;english&amp;quot; title=&amp;quot;english&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
// Make the little menu. Notice, the menu does ONLY transfer the page-id and the &amp;quot;L&amp;quot; variable (which is also SPECIFIC for this website because &amp;quot;L&amp;quot; has been used in the extension template used to control the language setup)&lt;br /&gt;
$content = &amp;#039;&amp;lt;ul&amp;gt;&amp;#039;.implode(&amp;quot;&amp;quot;,$flags).&amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TypoScript multilanguage Extension ====&lt;br /&gt;
ext_multilang_d-e.tmpl&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Spracheinstellungen ###&lt;br /&gt;
config.linkVars = L&lt;br /&gt;
config.sys_language_mode = content_fallback;0&lt;br /&gt;
&lt;br /&gt;
### ohne Sprachauswahl ###&lt;br /&gt;
&lt;br /&gt;
# Standardsprache deutsch wird festgelegt &lt;br /&gt;
config.sys_language_uid = 0&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# CSS&lt;br /&gt;
page.stylesheet = fileadmin/template/css/main.css&lt;br /&gt;
&lt;br /&gt;
### DEUTSCH ###&lt;br /&gt;
[globalVar = GP:L = 0]&lt;br /&gt;
config.sys_language_uid = 0&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# CSS&lt;br /&gt;
#page.stylesheet = fileadmin/template/main.css&lt;br /&gt;
&lt;br /&gt;
# Link to top&lt;br /&gt;
#content.linkToTop &amp;gt;&lt;br /&gt;
tt_content.stdWrap.innerWrap2 = |&amp;lt;br&amp;gt;&amp;lt;div class=&amp;quot;toTop&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;nach oben&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
### ENGLISCH ###&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
config.sys_language_uid = 1&lt;br /&gt;
config.language = en&lt;br /&gt;
config.locale_all = english&lt;br /&gt;
&lt;br /&gt;
# CSS&lt;br /&gt;
#page.stylesheet = fileadmin/template/main_en.css&lt;br /&gt;
&lt;br /&gt;
# Link to top&lt;br /&gt;
#content.linkToTop &amp;gt;&lt;br /&gt;
tt_content.stdWrap.innerWrap2 = &amp;lt;br&amp;gt;&amp;lt;div class=&amp;quot;toTop&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;to top&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#...&lt;br /&gt;
&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Übersetzung nur Anzeigen wenn sie vorhanden ist ===&lt;br /&gt;
Typo3 - Stuttgart Mailing List (Juli 2006)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;Hallo ihr alle,&lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;ich habe eine typo3 3.7.1 installation und möchte eine übersetzung nur dann anzeigen, wenn diese vorhanden ist.&lt;br /&gt;
&amp;gt; &amp;gt;Wenn sie nicht vorhanden ist soll der gesamte menüpunkt rausfliegen.&lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;Der untenstehende code sollte funktionieren - tut es aber nicht...&lt;br /&gt;
&amp;gt; &amp;gt;Weis da jemand bescheid?&lt;br /&gt;
&amp;gt; &amp;gt;...meine langwierige recherchen haben leider auch nichts ergeben ;-((&lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;config.linkVars = L&lt;br /&gt;
&amp;gt; &amp;gt;config.sys_language_uid = 0&lt;br /&gt;
&amp;gt; &amp;gt;config.language = de&lt;br /&gt;
&amp;gt; &amp;gt;config.sys_language_mode = strict&lt;br /&gt;
&amp;gt; &amp;gt;config.sys_language_overlay = hideNonTranslated&lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;lg niko&lt;br /&gt;
&amp;gt; &amp;gt;  &lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hallo Niko,&lt;br /&gt;
&lt;br /&gt;
vielleicht hilft dir dies weiter:&lt;br /&gt;
&lt;br /&gt;
http://www.datenwolken.de/index.php?id=221&lt;br /&gt;
&lt;br /&gt;
und ein Beispiel hier&lt;br /&gt;
&lt;br /&gt;
http://forum.typo3.fr/index.php?showtopic=4236&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 // User defined&lt;br /&gt;
 USERDEF1 = 1&lt;br /&gt;
 USERDEF1.doNotLinkIt = 1&lt;br /&gt;
 USERDEF1.linkWrap = &amp;lt;li class=&amp;quot;disabled&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
 USERDEF1.stdWrap.override = EN || FR || DE&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
li.disabled dann im stylesheet ausblenden ...&lt;br /&gt;
&lt;br /&gt;
Grüße&lt;br /&gt;
Ines&lt;br /&gt;
&lt;br /&gt;
_______________________________________________&lt;br /&gt;
TYPO3-stuttgart mailing list&lt;br /&gt;
TYPO3-stuttgart@lists.netfielders.de&lt;br /&gt;
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-stuttgart&lt;br /&gt;
&lt;br /&gt;
== Datum und Zeit ==&lt;br /&gt;
Oft ist es schwierig herauszufinden wo gerade die Ausgabe von Zeit und Datum konfiguriert wird.&lt;br /&gt;
&lt;br /&gt;
Wenn eine der Extensions ts_language_de oder ts_language_xx installiert ist wird dort der Standard einer andeen Extension (z.B. tt_news) überschrieben. Diese Einstellung kann wieder im eigenen TS überschrieben werden.&lt;br /&gt;
&lt;br /&gt;
Im Template Analyser kann man die Reihenfolge gut sehen.&lt;br /&gt;
&lt;br /&gt;
Beispiel zur Konfiguration:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Examples:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Your site is a &amp;quot;one-language-site&amp;quot;  and you configured the site-language as default language of TYPO3. If you have a ts_language_xx extension installed, to set some country specific settings for other extensions, I suggest to copy the part which refers to tt_news in your main template or an ext template which is included. Here an example for german settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set the TYPO3 language to german&lt;br /&gt;
config.language = de&lt;br /&gt;
# set the PHP locale to german&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# tt_news date &amp;amp; time formats&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  archiveTitleCObject {&lt;br /&gt;
    10.strftime = %B - %Y&lt;br /&gt;
  }&lt;br /&gt;
  getRelatedCObject {&lt;br /&gt;
      20.strftime = %d.%m.%Y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displaySingle {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displayLatest {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displayList {&lt;br /&gt;
    date_stdWrap.strftime= %A %d. %B %Y&lt;br /&gt;
    time_stdWrap.strftime= %d.%m.%y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hint: If the locale_all setting &amp;quot;de_DE&amp;quot; don&amp;#039;t work on your WAMP installation, try to set it to &amp;quot;german&amp;quot;. There are some differences in the handling of the php-locale on windows and linux.  &lt;br /&gt;
&lt;br /&gt;
If your site is a multilanguage site like the &amp;quot;one-tree-fits-all-languages&amp;quot; example from the &amp;quot;testsite&amp;quot; package (see: http://typo3.org/documentation/tips-tricks/multi-language-sites-in-typo3/ ) you can add the country specific settings to the language condition in your TS-setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting up the language variable &amp;quot;L&amp;quot; to be passed along with links&lt;br /&gt;
config.linkVars = L&lt;br /&gt;
&lt;br /&gt;
# German language, sys_language.uid = 2&lt;br /&gt;
[globalVar = GP:L = 2]&lt;br /&gt;
config.sys_language_uid = 2&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# set german date &amp;amp; time formats&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  archiveTitleCObject {&lt;br /&gt;
    10.strftime = %B - %Y&lt;br /&gt;
  }&lt;br /&gt;
  getRelatedCObject {&lt;br /&gt;
      20.strftime = %d.%m.%Y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displaySingle {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
    age_stdWrap.age =  Minuten | Stunden | Tage | Jahre&lt;br /&gt;
  }&lt;br /&gt;
  displayLatest {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displayList {&lt;br /&gt;
    date_stdWrap.strftime= %A %d. %B %Y&lt;br /&gt;
    time_stdWrap.strftime= %d.%m.%y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
# Danish language, sys_language.uid = 1&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
config.sys_language_uid = 1&lt;br /&gt;
config.language = dk&lt;br /&gt;
config.locale_all = danish&lt;br /&gt;
&lt;br /&gt;
# set danish date &amp;amp; time formats&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  # sorry, don&amp;#039;t know the danish date &amp;amp; time settings ;-)&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Felder im Backend für mehrere Sprachen benutzen ==&lt;br /&gt;
&lt;br /&gt;
michael schuhmacher wrote:&lt;br /&gt;
&amp;gt; Hallo,&lt;br /&gt;
&amp;gt; weiss jemand wie ich es anstelle, dass bei einer eigenen extension, im backend bestimmte felder grundsaetzlich fuer alle sprachen stehen sollen? so dass man nicht zb. die selben bilder in den uebersetzungen nochmal angeben muss.&lt;br /&gt;
&lt;br /&gt;
habs schon&lt;br /&gt;
&lt;br /&gt;
in meinem fall in ext_tables.php (oder auch in tca.php)&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;l10n_mode&amp;quot; =&amp;gt; &amp;#039;exclude&amp;#039;,&lt;br /&gt;
&lt;br /&gt;
== Sprachlabel für die Frontendausgabe anpassen ==&lt;br /&gt;
Stichwort Language Label, Sprachlabel, Mehrsprachigkeit&lt;br /&gt;
Bei Mehrsprachigen Extensions werden die Ausgaben für die verschiedenen Sprachen in der Regel in der Datei locallang.xml notiert. Oftmals möchte man diese Ausgaben anpassen, ohne diese Datei zu verändern. Denn nach einem Update würden die Änderungen wieder Rückgängig gemacht. Die Labels für die Sprache lassen sich aber auch über eigene Extensions oder über TypoScript anpassen. &lt;br /&gt;
&lt;br /&gt;
Mit TypoScript funktioniert das etwa so:&lt;br /&gt;
&lt;br /&gt;
 plugin.tt_news._LOCAL_LANG.de.more = mehr &amp;gt;&amp;gt;&lt;br /&gt;
also nach dem Schema:&lt;br /&gt;
 plugin.meinPlugin._LOCAL_LANG.sprachkürzel.labelnahme = meinLabel&lt;br /&gt;
&lt;br /&gt;
== Sprachlabel im Backend anpassen ==&lt;br /&gt;
Quelle: http://typo3-freelancer-berlin.de/typo3-blog/artikel/typo3-backendformulare-label-aendern-per-typoscript.html (Zugriff: 09/2011)&lt;br /&gt;
&lt;br /&gt;
Oftmals möchten Kunden die Bezeichnung einzelner Felder im backend anders benannt haben.&lt;br /&gt;
&lt;br /&gt;
pageTSconfig&lt;br /&gt;
&lt;br /&gt;
 // Label in eigener locallang_db.php überschreiben&lt;br /&gt;
 TCEFORM.table.column.label = LLL:typo3conf/override_locallang_db.php:table.column&lt;br /&gt;
&lt;br /&gt;
// Label direkt in pageTSconfig überschreiben&lt;br /&gt;
&lt;br /&gt;
 TCEFORM.table.column.label = My Title&lt;br /&gt;
 TCEFORM.table.column.label.de = Mein Titel&lt;br /&gt;
&lt;br /&gt;
== Weiterleitung in Abhängigkeit der Browsersprache ==&lt;br /&gt;
Damit der Benutzer gleich auf der richtigen Sprache landet kann man die Extension&lt;br /&gt;
rlmp_language_detection benutzen.&lt;br /&gt;
&lt;br /&gt;
Als Erweiterung gibt es noch die Extension Title Language Detection - Extended( sr_language_detect ) von Stanislas Rolland&lt;br /&gt;
=== Konfiguration für One-Tree Konzept ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_rlmplanguagedetection_pi1 {&lt;br /&gt;
  defaultLang = de #ISO-Code der Standardsprache anpasssen&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration für Multi-Tree Konzept ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
plugin.tx_rlmplanguagedetection_pi1 {&lt;br /&gt;
   useOneTreeMethod = 0&lt;br /&gt;
   multipleTreesRootPages&lt;br /&gt;
   {&lt;br /&gt;
      #PID&amp;#039;s der jeweiligen Sprachen anpassen, ggf. neue zufuegen&lt;br /&gt;
      de = 216&lt;br /&gt;
      en = 120&lt;br /&gt;
      es = 482&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
=== Problem mit Browserseitigem Cache bei Einsatz von rlmplanguagedetection ===&lt;br /&gt;
Um die richtigen Werte für das Caching auszugeben muß in der Konfiguration stehen:&lt;br /&gt;
&lt;br /&gt;
Typoscript:	Zeilennummerierung:  An / Aus&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      config.sendCacheHeaders = 1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Funktion bleibt aber unter anderem auf den Seiten wirkungslos, in denen USER_INT Objekte genutzt werden.&lt;br /&gt;
&lt;br /&gt;
Mit der Extention &amp;#039;rlmplanguagedetection&amp;#039; steckt dieses Object in jedem Seiten-Rendering. Das USER_INT Object braucht es aber für die Funktion der Extension.&lt;br /&gt;
&lt;br /&gt;
Da die Extension keine neuen Header mit &amp;#039;Location&amp;#039; und dem GetParameter ausgibt, wenn dieser Parameter bereits in der URL vorhanden ist, braucht es diese USER_INT funktion folglich auch nicht bei jedem Seitenaufruf. Um sie denn in diesem Falle aus den Seiten-Rendering auch auszuschließen habe ich mich für folgendes Konzept entschieden, in dem via TypoScript die Extension einfach ausgeschlossen wird, wenn der GetParameter bereits existiert:&lt;br /&gt;
&lt;br /&gt;
Typoscript:	Zeilennummerierung:  An / Aus&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      # send Cache Headers&lt;br /&gt;
   2.&lt;br /&gt;
      config.sendCacheHeaders = 1&lt;br /&gt;
   3.&lt;br /&gt;
      # disable USER_INT &amp;#039;rlmplanguagedetection&amp;#039; when GP:L exists&lt;br /&gt;
   4.&lt;br /&gt;
      [globalVar=GP:L=0,GP:L&amp;gt;0]&lt;br /&gt;
   5.&lt;br /&gt;
      plugin.tx_rlmplanguagedetection_pi1 &amp;gt;&lt;br /&gt;
   6.&lt;br /&gt;
      [global] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das funktioniert, und damit lässt sich die Extension auch wieder für Proxy- oder Clientseitiges Cachen nutzen.[/TS] &lt;br /&gt;
   3. Testen (Browsersprache ändern. Anleitung unten.)&lt;br /&gt;
   4. Falls es Probleme gibt und die Spracherkennung / -weiterleitung nicht funktioniert, kann folgendes im Setup des Root Templates hinzufügt werden. Hier wird die Erweiterung im Page-Element an Position 1000 inkludiert. Diese Einstellung muss ggf. angepasst werden.&lt;br /&gt;
&lt;br /&gt;
      page.1000 &amp;lt; plugin.tx_rlmplanguagedetection_pi1&lt;br /&gt;
&lt;br /&gt;
Tipps zum Testen&lt;br /&gt;
&lt;br /&gt;
Wie stellt man die Sprache des Browsers um? Das Umstellen der Browsersprache:&lt;br /&gt;
&lt;br /&gt;
Firefox&lt;br /&gt;
&lt;br /&gt;
    * Extras &amp;gt; Einstellungen &amp;gt; Reiter Erweitert &amp;gt; Reiter Allgemein (Windowsversion) oder&lt;br /&gt;
      Bearbeiten &amp;gt; Einstellungen &amp;gt; Reiter Erweitert &amp;gt; Reiter Allgemein (Linuxversion)&lt;br /&gt;
    * im Unteren Bereich befindet sich der Abschnitt Sprache, in dem man über den Button &amp;quot;wählen&amp;quot; ein oder mehrere neue Sprachen hinzufügen kann. Die Sprache in der getestet wird steht immer oben.&lt;br /&gt;
&lt;br /&gt;
Internet Explorer IE&lt;br /&gt;
&lt;br /&gt;
    * Extras &amp;gt; Internetoptionen&lt;br /&gt;
    * im Unteren Bereich befindet sich der Button Sprache, mit dem man ein oder mehrere neue Sprachen hinzufügen kann. Die Sprache in der getestet wird steht immer oben.&lt;br /&gt;
&lt;br /&gt;
Wenn es nicht funktioniert&lt;br /&gt;
&lt;br /&gt;
Wenn es nicht funktioniert hat man eventuell die Sprachen nicht richtig eingerichtet. Hier sollte man noch mal die Konfiguration überprüfen.&lt;br /&gt;
Anleitung von rainer-grundel Datum des Zugriffs 1.4.2008, http://www.rainer-grundel.de/wissensdb/typo3/empfohlene_extensions/artikel/article/anzeige_der_website_nach_browsersprache.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mehrsprachigkeit und TemplaVoila ==&lt;br /&gt;
Wenn man eine mehrsprachige Seite mit TemplaVoila nutzt. Kann man das Verhalten in der Datenstruktur der TemplaVoila Templates steuern.&lt;br /&gt;
&lt;br /&gt;
TemplaVoila nutzt zur Darstellung seiner Inhalte Flexforms. Die dazugehörigen Parameter für die Darstellung der Mehrsprachigen Datensätze im Backend steuert man daher mit der Flexform T3DataStructure. Konkret sind hier folgende XML-Tags von Bedeutung:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;meta type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;langDisable type=&amp;quot;integer&amp;quot;&amp;gt;[0|1]&amp;lt;/langDisable&amp;gt;&lt;br /&gt;
        &amp;lt;langChildren type=&amp;quot;integer&amp;quot;&amp;gt;[0|1]&amp;lt;/langChildren&amp;gt;&lt;br /&gt;
    &amp;lt;/meta&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wie gezeigt können diese also entweder den Wert 0 oder 1 enthalten&lt;br /&gt;
===langDisable===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; Sprachsteuerung durch das Flexform, technisch gesehen bedeutet das, daß die Übersetzungen im Flexform-Datensatz gespeichert werden. Siehe auch langChildren&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; Die Sprachsteuerung durch das Flexform ist abgeschaltet. D.h. Typo3 übernimmt das selbst. Dies ist die geeignete Einstellung für Flexible Content Elemente die zur Gliederung (z.B. 2Spalter) genutzt werden.&lt;br /&gt;
&lt;br /&gt;
===langChildren===&lt;br /&gt;
Hat nur Auswirkung wenn langDisable auf 0 steht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; Die Inhalte der Flexforms lassen sich Direkt übersetzen (Flagge klicken) und werden zusammengezoge im Backend dargestellt.&lt;br /&gt;
Im Frontend wird die Standardsprache verwendet wenn keine Übersetzung vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; Keine Direkte übersetzung. Das komplette Flexform wird übersetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Seiten ohne Übersetzung im Menü verstecken ==&lt;br /&gt;
Quelle:http://blog.undkonsorten.com/typo3-seite-uebersetzung-menue-verstecken&lt;br /&gt;
&lt;br /&gt;
Datum des Zugriffs: 29.4.2009&lt;br /&gt;
&lt;br /&gt;
16. Januar 2008&lt;br /&gt;
&lt;br /&gt;
Für mehrsprachige TYPO3-Webseiten im One-Tree-Konzept werden standardgemäß die immer alle Menüeintäge in der Standardsprache ausgegeben, insofern für diese keine Übersetzung angelegt wurde. In der Regel ist eine Navigation in zwei verschiedenen Sprachen nicht erwünscht und man möchte Seiten ohne Übersetzungen verstecken. Es gibt zwei Wege, dies umzusetzen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung über das TYPO3-Backend&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Am einfachsten lässen sich Seiten ohne Übersetzungen ausblenden, indem man unter Seiteneigenschaften &amp;gt; Spracheinstellungen das Verstecke Seiten wenn keine Übersetzung… mit einem kleinen Häckchen versieht.&lt;br /&gt;
&lt;br /&gt;
TYPO3: Sprache verstecken, wenn keine Übersetzung existiert&lt;br /&gt;
&lt;br /&gt;
Wenn für diese Seite - angenommen sie sei deutsche - keine Übersetzung angelegt wurde, man sich aber z.B. gerade im Frontend im englischen Bereich befindet, so wird diese Seite nicht angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung per Installtool bzw. localconf.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Im Install-Tool &amp;gt; All Configuration gibt es den Eintrag [hidePagesIfNotTranslatedByDefault] . Wenn man hier den Wert TRUE einträgt werden alle Seiten ohne Übersetzung per default versteckt. Dies entspricht folgendem Eintrag in der localconf:&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;FE&amp;#039;][&amp;#039;hidePagesIfNotTranslatedByDefault&amp;#039;] = ‘TRUE’;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Standard-Übersetzung im Menü einblenden per TypoScript&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Man kann per TypoScript-Setup umgekehrt für die Menükonfiguration angeben, dass Seiten generell in der default-Sprache ausgegeben werden, insofern keine Übersetzung vorliegt. Das sieht dann so aus:&lt;br /&gt;
&lt;br /&gt;
 temp.navigation = HMENU&lt;br /&gt;
 temp.navigation {&lt;br /&gt;
 …&lt;br /&gt;
 protectLvar = all&lt;br /&gt;
 …&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
protectLvar kennt die Werte 1 und all. Mit all wird der Wert des Kontrollkästchens überschrieben und Seiten ohne Übersetzungen werden immer ausgegegen.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Extensions&amp;diff=19250</id>
		<title>Typo3 - Extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Extensions&amp;diff=19250"/>
		<updated>2012-09-27T10:01:37Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Eigene Extensions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ideen für neue Extensions und Erweiterungen bestehender Extensions ==&lt;br /&gt;
Extension zur automatischen Erzeugung zweispaltiger Inhalte mit Line Count (auch Umbrüche), Hurenkinder und Schusterjungen regelung etc.&lt;br /&gt;
&lt;br /&gt;
Erweiterung der rg_googlemaps mit Listenansicht nach PLZ&lt;br /&gt;
Händlersuche mit Umkreissuche oder Auflistung nach PLZ bereichen (Erweiterung bestehender)&lt;br /&gt;
&lt;br /&gt;
== Extensions programmieren ==&lt;br /&gt;
Infos hierzu gibt es im Abschnitt Extension Kickstarter und unter&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Extensions programmieren]]&lt;br /&gt;
&lt;br /&gt;
[[TypoScript Einstellungen in Extensions auslagern]]&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
&lt;br /&gt;
=== die wichtigsten Extensions ===&lt;br /&gt;
[[Real URL (realurl)]]&lt;br /&gt;
&lt;br /&gt;
automakeTemplates&lt;br /&gt;
&lt;br /&gt;
[[Metatags extended (metatags)]]&lt;br /&gt;
&lt;br /&gt;
[[News (tt_news)]]&lt;br /&gt;
&lt;br /&gt;
CleanDB  nf_cleandb&lt;br /&gt;
&lt;br /&gt;
[[Database Integration (wfqbe)]]&lt;br /&gt;
Schweizer Taschenmesser zur Integration von Daten (Bugs beachten)&lt;br /&gt;
&lt;br /&gt;
[[Newsletter mit Direct Mail]]&lt;br /&gt;
====SEO-Extensions====&lt;br /&gt;
&lt;br /&gt;
[[Google Analytics (m1_google_analytics)]]&lt;br /&gt;
&lt;br /&gt;
=== weitere nützliche Extensions ===&lt;br /&gt;
WEC Maps - Mapping extension that connects to geocoding databases and Google Maps API.&lt;br /&gt;
http://typo3.org/extensions/repository/view/wec_map/current/&lt;br /&gt;
&lt;br /&gt;
Quick Google Maps&lt;br /&gt;
http://typo3.org/extensions/repository/view/cbgooglemaps/current/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Browser TYPO3 Frontend Engine&lt;br /&gt;
&lt;br /&gt;
Browser - the TYPO3 Frontend Engine - displays content from related tables. You need 1 line typoscript for a result list with a search form, a record browser and an a-z browser. Images are wrapped self-acting. SEO, Search Engine Optimisation. DRS supports&lt;br /&gt;
====SEO====&lt;br /&gt;
&lt;br /&gt;
simplyrobots - robots.txt erzeugen&lt;br /&gt;
&lt;br /&gt;
==== Lightbox und Co ====&lt;br /&gt;
&lt;br /&gt;
[[TYPO3 - Lightbox und Co]]&lt;br /&gt;
&lt;br /&gt;
Perfect Lightbox&lt;br /&gt;
&lt;br /&gt;
Lightbox-Effekte lassen sich seit TYPO3 4.5 auch relativ einfach ohne Extension nutzen. Siehe hierzu:&lt;br /&gt;
&lt;br /&gt;
http://www.marcoseiler.de/typo3/typo3-inhalte-ausgeben/typo3-lightbox-ohne-extension.html&lt;br /&gt;
&lt;br /&gt;
Clearbox&lt;br /&gt;
&lt;br /&gt;
topup (im Moment keine Extension aber einfach einzubinden: JS einbinden und Rahmen anpassen oder Popup Bild anpassen)&lt;br /&gt;
&lt;br /&gt;
==== Sonstiges ====&lt;br /&gt;
[[ratings - Bewertungen]]&lt;br /&gt;
&lt;br /&gt;
[[t3blog - Blog Extension]]&lt;br /&gt;
&lt;br /&gt;
[[pbsurvey - Umfrage]]&lt;br /&gt;
&lt;br /&gt;
[[tipafriend - Seite weiterempfehlen]]&lt;br /&gt;
&lt;br /&gt;
[[error_404_handling - Seite nicht gefunden]]&lt;br /&gt;
&lt;br /&gt;
[[irfaq - Modern FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[seminars - Kursverwaltung]]&lt;br /&gt;
&lt;br /&gt;
[[tipafriend - Seite an einen Freund versenden]]&lt;br /&gt;
&lt;br /&gt;
mk_wastebasket - Datensätze entgültig löschen&lt;br /&gt;
&lt;br /&gt;
Foreign access for MM Tables  	mmforeign  0.2.0   Experimental&lt;br /&gt;
&lt;br /&gt;
Page Template Selector 	rlmp_tmplselector 	1.2.2 		&lt;br /&gt;
&lt;br /&gt;
TER Update Check 	ter_update_check&lt;br /&gt;
&lt;br /&gt;
Exo Feeds  	exofeeds  	0.0.2	Alpha&lt;br /&gt;
&lt;br /&gt;
freeCap CAPTCHA 	sr_freecap 	&lt;br /&gt;
&lt;br /&gt;
Front End User Registration 	sr_feuser_register 	Stable&lt;br /&gt;
&lt;br /&gt;
Indexed Search Engine 	indexed_search 	2.9.2 	System 	Stable&lt;br /&gt;
&lt;br /&gt;
Language Selection 	sr_language_menu 	&lt;br /&gt;
&lt;br /&gt;
Photo Book 	goof_fotoboek 	1.7.11 	Stable&lt;br /&gt;
&lt;br /&gt;
Local 	Stable&lt;br /&gt;
&lt;br /&gt;
TIMTAB Tag-Cloud 	timtab_tagcloud 1.2.1 			&lt;br /&gt;
&lt;br /&gt;
Make Print Link 	make_printlink 	1.5.2 	Stable&lt;br /&gt;
&lt;br /&gt;
Static Info Tables 	static_info_tables&lt;br /&gt;
&lt;br /&gt;
sb_accessiblecontent&lt;br /&gt;
&lt;br /&gt;
Content/DAM reference usage  	dam_ttcontent (Experimental)&lt;br /&gt;
&lt;br /&gt;
phpmyadmin&lt;br /&gt;
&lt;br /&gt;
DAM inkl Erweiterungen&lt;br /&gt;
&lt;br /&gt;
Media (DAM)  	dam 	Local  	Stable&lt;br /&gt;
&lt;br /&gt;
Media&amp;gt;Categories dam_catedit 	1.0.3 	Local 	Alpha&lt;br /&gt;
&lt;br /&gt;
Media&amp;gt;Indexing 	dam_index 	1.0.3 	Local 	Stable&lt;br /&gt;
&lt;br /&gt;
Media&amp;gt;Info 	dam_info&lt;br /&gt;
&lt;br /&gt;
[[PDF Generator 2 (pdf_generator2)]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Bildergallerie]] (lz_gallery)&lt;br /&gt;
&lt;br /&gt;
[[Modern Guestbook (ve_guestbook)]]&lt;br /&gt;
&lt;br /&gt;
[[Mailformplus (tx_mailformplus)]]&lt;br /&gt;
&lt;br /&gt;
[[Send-a-Card (sr_sendcard)]]&lt;br /&gt;
&lt;br /&gt;
[[Front End User Registration (fe_users)]]&lt;br /&gt;
&lt;br /&gt;
[[FreeCap (sr_freecap)]]&lt;br /&gt;
&lt;br /&gt;
[[Date2Calendar (date2cal)]] JavaScript Datumsauswahl für Datumsfelder im Backend -&amp;gt; inzwischen integriert.&lt;br /&gt;
&lt;br /&gt;
[[Dynamic Flexforms (dynaflex)]] Flexforms während der Laufzeit verändern&lt;br /&gt;
&lt;br /&gt;
[[Google Earth links (itxg_gelinks)]] Allows to create and view Google Earth .kml files. The building of a link is being done with GPS coordinates in D-M-S notation.&lt;br /&gt;
&lt;br /&gt;
[[Google Sitemap for Pages and Contents (mc_googlesitemap)]] All options available&lt;br /&gt;
&lt;br /&gt;
== Der Typo3 Extension Kickstarter ==&lt;br /&gt;
(Deutsch: Erweiterungs Manager)&lt;br /&gt;
Der Erweiterungsmanager ist selbst eine Erweiterung die zuerst installiert werden muß.&lt;br /&gt;
&lt;br /&gt;
Fehler in Extension Kickstarter&lt;br /&gt;
&lt;br /&gt;
Wenn der Kickstarter local installiert ist, dann kann meine eine bereits erstelle Extension nicht im Kickstarter überarbeiten. (Bis Version ?)&lt;br /&gt;
&lt;br /&gt;
Der Kickstarter muß global installiert sein, damit man bereits erstellte Extension mit dem Kickstarter überarbeiten kann.&lt;br /&gt;
&lt;br /&gt;
=== Kurzanleitung ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wo?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Backend-Modul Ext Manager; hier im Dropdown Menü &amp;quot;Make new Extension&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;General Info&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allgemeine Infos zum PlugIn (hat nichts mit der Funktion zu tun)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Extension Key&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
- Typo3 entfernt Unterstriche (meine_extension wird zu meineextension)&lt;br /&gt;
&lt;br /&gt;
- tx_ wird automatisch vorangestellt&lt;br /&gt;
&lt;br /&gt;
- ein vorangestelltes user_ bedeutet dass es sich um eine eigene Entwicklung handelt, die nicht in das Repository gestellt werden kann.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;New Database Tables&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Hier kann man automatisch die benötigten Tabellen und deren Felder erzeugen.&lt;br /&gt;
Üblich ist ein Tabellenname mit dem Suffix _main z.B. user_meineErweiterung_main.&lt;br /&gt;
Hier werden auch einige von Typo unterstützte Funktionen die im Backend als Felder sichtbar sind vorbereitet (z.B. Start, Stop, Hide...). Sinnvoll in diesem Zusammenhang:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Delete*&amp;#039;&amp;#039; - damit die Tabelle ein Delete Flag bekommt&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Hide*&amp;#039;&amp;#039; - damit Datensätze versteckt werden können &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Allowed on Pages&amp;#039;&amp;#039; - Damit Frontend Plugins auch als Inhaltselement im Backend ausgewählt werden können.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Save and new&amp;#039;&amp;#039; - damit können später schnell mehrere Datensätze angelegt werden.&lt;br /&gt;
&lt;br /&gt;
*Damit das bei der Anzeige Funktioniert muß die Funktionalität in der Datenbankabfrage mit eingebaut werden (d.h. das Flag muß abgefragt werden).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Datenfelder der Tabelle&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Hier werden die Spalten der Tabelle angelegt. &lt;br /&gt;
&lt;br /&gt;
Field name - Der Name der Spalte in der DB (in Kleinbuchstaben, z.B. vorname)&lt;br /&gt;
&lt;br /&gt;
Field title - wird im Backend beim Eingabefeld angezeigt (z.B. Vorname)&lt;br /&gt;
&lt;br /&gt;
Field type - welche Art von Eingabefeld&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Frontend Plugins&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Integration ins Frontend&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Enter a title for the plugin&amp;#039;&amp;#039; - taucht in der Auswahlliste für die Plugins aus (Backend)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;USER cObjects are cached&amp;#039;&amp;#039; - Auswählen ob gecached wird (für Entwicklung bietet sich das deaktivieren des Caches an.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;...Typo Script Code...&amp;#039;&amp;#039; - den Beispielcode braucht man i.d.R. nicht, ein einfacher Code wird denoch generiert.&lt;br /&gt;
&lt;br /&gt;
weiter unten kann noch angegeben werden wo das Plugin zugänglich ist.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;View Result&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Hier kann man sehen was erzeugt wird...&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Write&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
... und hier wird es tatsächlich erzeugt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bilder in eigener Extension rendern ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel benutzte Variablen:&lt;br /&gt;
 $BildAdresse&lt;br /&gt;
 $ParameterFuerImgTag&lt;br /&gt;
 $Alttext&lt;br /&gt;
&lt;br /&gt;
In PHP-Datei der Extension:&lt;br /&gt;
&lt;br /&gt;
 $this-&amp;gt;conf[&amp;quot;imageBeispiel.&amp;quot;][&amp;quot;file&amp;quot;]=&amp;quot;uploads/pics/&amp;quot;.$BildAdresse;&lt;br /&gt;
 $this-&amp;gt;conf[&amp;quot;imageBeispiel.&amp;quot;][&amp;quot;params&amp;quot;]=$ParameterFuerImgTag;&lt;br /&gt;
 $this-&amp;gt;conf[&amp;quot;imageBeispiel.&amp;quot;][&amp;quot;altText&amp;quot;]=$Alttext;&lt;br /&gt;
 $Bild=$this-&amp;gt;cObj-&amp;gt;IMAGE($this-&amp;gt;conf[&amp;quot;imageBeispiel.&amp;quot;]);&lt;br /&gt;
 $Content.=$Bild;&lt;br /&gt;
&lt;br /&gt;
In Typoscript Setup&lt;br /&gt;
&lt;br /&gt;
 plugin.tx_hoTest_pi1 {     //hier Plugin-Name&lt;br /&gt;
 imageArtikel{&lt;br /&gt;
     file.maxW = {$ho_Test.BildWidthNews}  &lt;br /&gt;
     imageLinkWrap = 1&lt;br /&gt;
     imageLinkWrap {&lt;br /&gt;
       enable = 1&lt;br /&gt;
       bodyTag = &amp;lt;BODY bgColor=white&amp;gt;&lt;br /&gt;
       wrap = |&lt;br /&gt;
       width = 400m&lt;br /&gt;
       height = 400&lt;br /&gt;
       JSwindow = 1&lt;br /&gt;
       JSwindow.newWindow = 1&lt;br /&gt;
       JSwindow.expand = 17,20&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Der Wert {$ho_Test.BildWidthNews} kann aus Constants übernommen werden.&lt;br /&gt;
&lt;br /&gt;
Siehe dazu auch&lt;br /&gt;
Konstanten von Constants im Setup verwenden&lt;br /&gt;
und&lt;br /&gt;
Konstanten für Constant-Editor bereitstellen&lt;br /&gt;
&lt;br /&gt;
(aus www.easy-office4you.de/ 10.1.2006)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spalten der Seiten umbenennen ==&lt;br /&gt;
&lt;br /&gt;
Um die Spalten der Seite im Backend beliebig umzubenennen und/oder zusätzliche eigene Spalten zu verwenden, muß die Extension zed_more_columns installiert werden und dann in der Datei ext_tables.php die Spalten-Namen eingeben werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
 $TCA[&amp;quot;tt_content&amp;quot;][&amp;quot;columns&amp;quot;][&amp;quot;colPos&amp;quot;][&amp;quot;config&amp;quot;][&amp;quot;items&amp;quot;] = array (&lt;br /&gt;
 &amp;quot;0&amp;quot; =&amp;gt; array (&amp;quot;Mitte||Mitte||||||||&amp;quot;,&amp;quot;0&amp;quot;),&lt;br /&gt;
 &amp;quot;1&amp;quot; =&amp;gt; array (&amp;quot;Links||Links||||||||&amp;quot;,&amp;quot;1&amp;quot;),&lt;br /&gt;
 &amp;quot;2&amp;quot; =&amp;gt; array (&amp;quot;Rechts||Rechts||||||||&amp;quot;,&amp;quot;2&amp;quot;),&lt;br /&gt;
 &amp;quot;3&amp;quot; =&amp;gt; array (&amp;quot;Teaser||Teaser||||||||&amp;quot;,&amp;quot;3&amp;quot;),&lt;br /&gt;
 &amp;quot;4&amp;quot; =&amp;gt; array (&amp;quot;Fusszeile||Fusszeile||||||||&amp;quot;,&amp;quot;4&amp;quot;)&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
== Bei Extension dafür sorgen, daß im Backend kein Sortierungs-Button entsteht ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In der Datei ext_tables.php der Extension folgende Zeile ändern&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;sortby&amp;quot; =&amp;gt; &amp;quot;name&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
ändern in&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;default_sortby&amp;quot; =&amp;gt; &amp;quot;ORDER BY name&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
Anstatt &amp;quot;name&amp;quot; kann natürlich auch ein anderes Suchkriterium verwendet werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Eigene Extensions ==&lt;br /&gt;
[[Typo3 Extension: pupmanager]]&lt;br /&gt;
&lt;br /&gt;
More Pics In A Row - Mini Extension um mehr Bilder im Bilder Inhaltselement zu erlauben&lt;br /&gt;
&lt;br /&gt;
GB More FE Fields  	gb_morefefield&lt;br /&gt;
&lt;br /&gt;
HfWU Personal  	hfwupersonal&lt;br /&gt;
&lt;br /&gt;
HfWU Studium  	hfwustudium  - Bildet Fakultäten, Studiengänge und Fächer Hierarchisch ab.&lt;br /&gt;
&lt;br /&gt;
HfWU Studium FE  	hfwustudiumfe - Frontendausgabe für hfwustudium&lt;br /&gt;
&lt;br /&gt;
HfWU Dozenten  	hfwudozent - Bildet Dozenten ab und ordnet diese Studienfächern von hfwustudiumfe zu&lt;br /&gt;
&lt;br /&gt;
hfwuwebboard  	hfwuwebboard - Webbretter basierend auf hfwustudium&lt;br /&gt;
&lt;br /&gt;
HFWU Events  	hfwu_events - Veranstaltungskalender&lt;br /&gt;
&lt;br /&gt;
Dekra Certification Database  	gbdekracert - Verwaltung von Zertifikatsträgern&lt;br /&gt;
&lt;br /&gt;
GB Flow Control  	gbflowcontrol - Management des Trikotsproduktions und Auslieferungsablaufs für Schiedsrichter&lt;br /&gt;
&lt;br /&gt;
Flowcontrol Extender  	gbflowcontrolext - ?&lt;br /&gt;
&lt;br /&gt;
GB Adress Display  	gbaddress - ?&lt;br /&gt;
&lt;br /&gt;
GB Camp Finder  	gbcamps - Veranstaltungen zugeschnitten auf AK-Freizeiten.de&lt;br /&gt;
&lt;br /&gt;
Geo-bit Seminars  	gbseminars - &lt;br /&gt;
&lt;br /&gt;
Job Manager  	gbjobmanager&lt;br /&gt;
&lt;br /&gt;
Events  	gb_events&lt;br /&gt;
&lt;br /&gt;
GB csv Importer  	gbimporter - Konfigurierbares Importtool&lt;br /&gt;
&lt;br /&gt;
Geo-bit Typo3 Settings  	[[gbt3settings]] - fertige Settings (obsolet)&lt;br /&gt;
&lt;br /&gt;
Telecash Form - Bezahlung über Telecash&lt;br /&gt;
&lt;br /&gt;
Bilboard - Comments - Tagcloud - Kombination aus Tagcloud Kommentarfunktion und eigener Extension für Aushänge&lt;br /&gt;
&lt;br /&gt;
iFrame Loader&lt;br /&gt;
&lt;br /&gt;
GP Logger&lt;br /&gt;
&lt;br /&gt;
Geosearch&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Mehrsprachige_Seiten&amp;diff=19249</id>
		<title>Typo3 - Mehrsprachige Seiten</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Mehrsprachige_Seiten&amp;diff=19249"/>
		<updated>2012-09-25T10:06:59Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* TypoScript Anpassungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch: [[Typo3 - Standardeinstellungen]]&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
=== One Tree Multilanguage Basic TS ===&lt;br /&gt;
Default Sprache wäre hier en (uid = 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config{&lt;br /&gt;
	// more properties for multilanguage pages&lt;br /&gt;
	linkVars = L(1-10)&lt;br /&gt;
	uniqueLinkVars = 1&lt;br /&gt;
	sys_language_mode = content_fallback&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
	// Language Settings for second language&lt;br /&gt;
&lt;br /&gt;
[globalVar = GP:L=1]&lt;br /&gt;
config {&lt;br /&gt;
	language = de&lt;br /&gt;
	locale_all = de_DE&lt;br /&gt;
	htmlTag_langKey = de&lt;br /&gt;
	sys_language_uid = 1&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
[globalVar = GP:L=2]&lt;br /&gt;
config {&lt;br /&gt;
	language = es&lt;br /&gt;
	locale_all = es_ES&lt;br /&gt;
	htmlTag_langKey = es&lt;br /&gt;
	sys_language_uid = 2&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
[globalVar = GP:L=3]&lt;br /&gt;
config {&lt;br /&gt;
	language = fr&lt;br /&gt;
	locale_all = fr_FR&lt;br /&gt;
	htmlTag_langKey = fr&lt;br /&gt;
	sys_language_uid = 3&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
[globalVar = GP:L=4]&lt;br /&gt;
config {&lt;br /&gt;
	language = it&lt;br /&gt;
	locale_all = it_IT&lt;br /&gt;
	htmlTag_langKey = it&lt;br /&gt;
	sys_language_uid = 4&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Sprachmenü Textversion ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
########################################&lt;br /&gt;
### Standard Sprachmenu (TS Version) ###&lt;br /&gt;
########################################&lt;br /&gt;
&lt;br /&gt;
temp.langTextMenu = COA&lt;br /&gt;
temp.langTextMenu{&lt;br /&gt;
  10 = TEXT&lt;br /&gt;
  10 {&lt;br /&gt;
    		# Labels&lt;br /&gt;
    		#value = Language:&lt;br /&gt;
    		#lang.de = Sprache:&lt;br /&gt;
    		#lang.fr = Langue:&lt;br /&gt;
    		#wrap = &amp;lt;div id=&amp;quot;nav-lang-label&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
  }&lt;br /&gt;
  20 = HMENU&lt;br /&gt;
  20{&lt;br /&gt;
    wrap = &amp;lt;div id=&amp;quot;nav-lang&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
    special = language&lt;br /&gt;
    		# Liste der Sprach IDs (0 = Deutsch, 1 = Englisch, 2 = Franzoesisch)&lt;br /&gt;
    		//special.value = 0,1,2&lt;br /&gt;
    special.value = 0,1&lt;br /&gt;
    1 = TMENU&lt;br /&gt;
    1{&lt;br /&gt;
      wrap = &amp;lt;ul class=&amp;quot;nav&amp;quot;&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
      NO = 1&lt;br /&gt;
      NO {&lt;br /&gt;
        stdWrap.cObject = TEXT&lt;br /&gt;
        stdWrap.cObject{&lt;br /&gt;
          value = english || deutsch&lt;br /&gt;
          					# oder auf diese Weise:&lt;br /&gt;
          					#lang.de = Englisch || Deutsch || Franzoesich&lt;br /&gt;
          					#lang.fr = ...&lt;br /&gt;
        }&lt;br /&gt;
        allWrap = &amp;lt;li class = &amp;quot;no first&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;no&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;no last&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
      ACT &amp;lt; .NO&lt;br /&gt;
      ACT {&lt;br /&gt;
        doNotLinkIt = 1&lt;br /&gt;
        allWrap = &amp;lt;li class = &amp;quot;act first&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;act&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;act last&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
      			# Zustand NO wenn keine Uebersetzung vorliegt&lt;br /&gt;
      USERDEF1 &amp;lt; .NO&lt;br /&gt;
      USERDEF1 {&lt;br /&gt;
        doNotLinkIt = 1&lt;br /&gt;
        allWrap = &amp;lt;li class = &amp;quot;no empty first&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;no empty&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;no empty last&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
      			# Zustand ACT wenn keine Uebersetzung vorliegt&lt;br /&gt;
      USERDEF2 &amp;lt; .NO&lt;br /&gt;
      USERDEF2 {&lt;br /&gt;
        doNotLinkIt = 1&lt;br /&gt;
        allWrap = &amp;lt;li class=&amp;quot;act empty first&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class=&amp;quot;act empty&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class=&amp;quot;act empty last&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sprachmenü grafische Version ===&lt;br /&gt;
Möglichkeiten: &lt;br /&gt;
&lt;br /&gt;
1. obiges Menü anpassen&lt;br /&gt;
&lt;br /&gt;
2. siehe unten php Version&lt;br /&gt;
&lt;br /&gt;
3. sr_language_menu Extension&lt;br /&gt;
&lt;br /&gt;
siehe auch [[TYPO3 Sprachmenü mit sr_language_menu]]&lt;br /&gt;
&lt;br /&gt;
==== Komplettbeispiel grafische Navigation mit php-Skript ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Flaggen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Für die Flaggen nehmen wir im Beispiel eine aktive Version z.B. it.png und eine gedimmte (sw) Version z.B. it_d.png&lt;br /&gt;
&lt;br /&gt;
PHP&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
* languageMenu_d-e.php basiert auf example_languageMenu.php &lt;br /&gt;
*&lt;br /&gt;
* @author	Kasper Skårhøj &amp;lt;kasper@typo3.com&amp;gt;&lt;br /&gt;
* @modified by Stephan Schlegel www.geo-bit.de&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// All available pages_language_overlay records for the current page. &lt;br /&gt;
$query = &amp;quot;SELECT * FROM pages_language_overlay WHERE pid=&amp;quot;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_page-&amp;gt;enableFields(&amp;quot;pages_language_overlay&amp;quot;).&amp;quot; GROUP BY sys_language_uid&amp;quot;;&lt;br /&gt;
$res = mysql(TYPO3_db,$query);&lt;br /&gt;
$langArr=array();&lt;br /&gt;
while($row=mysql_fetch_assoc($res))	{&lt;br /&gt;
	$langArr[$row[&amp;quot;sys_language_uid&amp;quot;]]=$row[&amp;quot;title&amp;quot;];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// uids of table sys_language in this installation 0=en, 1=de, 2=es, 3=fr, 4=it  &lt;br /&gt;
&lt;br /&gt;
$pointer = &amp;quot;&amp;quot;;// use that if you want to mark current language&lt;br /&gt;
// Set each icon. If the language is the current, red arrow is printed to the left. &lt;br /&gt;
// If the language is NOT found (represented by a pages_language_overlay record on this page), the icon is dimmed.&lt;br /&gt;
$flags = array();&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li class=&amp;quot;first&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=0&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/gb.png&amp;quot; alt=&amp;quot;english&amp;quot; title=&amp;quot;english&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=1&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/de&amp;#039;.($langArr[1]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.png&amp;quot; alt=&amp;quot;deutsch&amp;quot; title=&amp;quot;deutsch&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=2&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/es&amp;#039;.($langArr[2]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.png&amp;quot; alt=&amp;quot;espagnol&amp;quot; title=&amp;quot;espagnol&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=3&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/fr&amp;#039;.($langArr[3]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.png&amp;quot; alt=&amp;quot;francais&amp;quot; title=&amp;quot;francais&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li class=&amp;quot;last&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=4&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/it&amp;#039;.($langArr[4]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.png&amp;quot; alt=&amp;quot;italiano&amp;quot; title=&amp;quot;italiano&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$content = &amp;#039;&amp;lt;ul class=&amp;quot;nav&amp;quot; id=&amp;quot;nav-lang&amp;quot;&amp;gt;&amp;#039;.implode(&amp;quot;&amp;quot;,$flags).&amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TS (für Subpart oder Marker)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
page.10.subparts{&lt;br /&gt;
	NAV_LANG=PHP_SCRIPT&lt;br /&gt;
	NAV_LANG.file=fileadmin/templates/narda-ida/scripts/multilanguage-en-de-es-f-i.php&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CSS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Common navigation styles */&lt;br /&gt;
&lt;br /&gt;
.nav .divider{&lt;br /&gt;
    margin: 0 1.5em 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav li li {&lt;br /&gt;
font-size:90%;&lt;br /&gt;
padding:0 0 0 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav li li li {&lt;br /&gt;
padding-left:1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav a, .nav a:link, &lt;br /&gt;
.nav a:visited {&lt;br /&gt;
text-decoration:none !important;&lt;br /&gt;
border: none;&lt;br /&gt;
padding-left: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#nav-lang .nav a,&lt;br /&gt;
#nav-lang .nav a:link, &lt;br /&gt;
#nav-lang .nav a:visited {&lt;br /&gt;
text-decoration:none !important;&lt;br /&gt;
border: none;&lt;br /&gt;
padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
ul.nav a:hover, ul.nav a:active, &lt;br /&gt;
li.act, li.act a, &lt;br /&gt;
li.cur, li.cur a {&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
ul.nav {&lt;br /&gt;
margin:0;&lt;br /&gt;
padding:0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul.nav li {&lt;br /&gt;
list-style:none outside none;&lt;br /&gt;
margin:0;&lt;br /&gt;
padding:0;&lt;br /&gt;
line-height: 23px;&lt;br /&gt;
}&lt;br /&gt;
/* grafische Sprachnavigation */&lt;br /&gt;
#nav-lang{&lt;br /&gt;
	padding-top: 4px;&lt;br /&gt;
	float: left;&lt;br /&gt;
}&lt;br /&gt;
#nav-lang a,&lt;br /&gt;
#nav-lang a:link,&lt;br /&gt;
#nav-lang a:visited,&lt;br /&gt;
#nav-lang a:hover,&lt;br /&gt;
#nav-lang a:active{&lt;br /&gt;
	padding:2px 3px;&lt;br /&gt;
}&lt;br /&gt;
#nav-lang .first a{&lt;br /&gt;
	padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
#nav-lang .last a{&lt;br /&gt;
	padding-right:0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
* HTML-Template: Marker einbinden &lt;br /&gt;
* TypoScript: Marker mit Sprachskript füllen (PHP-Objekt)&lt;br /&gt;
* Dateien: Notwendige Dateien hochspielen (Skript und Grafiken)&lt;br /&gt;
* CSS anpassen damit Flaggen schön aussehen&lt;br /&gt;
* Backend: Sprache anlegen (Weltkugel)&lt;br /&gt;
* Evt. Spracheinstellungen im TypoScript (das meiste im vorgefertigten Template)&lt;br /&gt;
Hinweis: alles im Baukasten (Common - Ordner) ToDo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2 Konzepte===&lt;br /&gt;
Um Mehrsprachigkeit zu realisieren gibt es zwei Ansätze:&lt;br /&gt;
# Multitree - Mehrere Navigationsbäume (für jede Sprache einen). In den Navigationsbäumen müssen die Templates entsprechend Variiert werden.&lt;br /&gt;
# One Tree Fits All - Mehrsprachigkeit mit den Typo3 Bordmitteln (der moderne Ansatz). Hierbei können im System mehrere Sprachen angelegt werden. Jede Sprache hat nachher in der Seitenansicht eine eigene Spalte. So hat man eine gute Übersicht welche Inhaltselemente bereits übersetzt sind.&lt;br /&gt;
&lt;br /&gt;
===Welcher Ansatz ist der Richtige ?===&lt;br /&gt;
Kommt drauf an. Wer soll damit klar kommen? Wieviele Seiten sind es? Werden alle Seiten übersetzt?&lt;br /&gt;
&lt;br /&gt;
===TypoScript Anpassungen===&lt;br /&gt;
Damit das System merkt in welcher Sprache es sich z.Zt. befindet wird der URL ein Parameter mitgegeben. Allgemein ist der Parameter L vereinbart. Das sollte auch eingehalten werden weil einige Extensions nur mit L als Variable arbeiten. &lt;br /&gt;
&lt;br /&gt;
Damit das ganze funktioniert müssen Anpassungen mit TypoScript gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Am besten ein Zusätzliches Basis Template anlegen. Für eine deutsch-englische Seite kann das Setup z.B. so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Parameter L definieren 0 soll die default Sprache (deutsch) sein ###&lt;br /&gt;
config.linkVars = L(0-2)&lt;br /&gt;
config.sys_language_uid = 0&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
#config.sys_language_mode = content_fallback;0 //sucht in default Sprache falls nichts vorhanden&lt;br /&gt;
#config.sys_language_mode = content_fallback : 1,0 // sucht in lang1 ansonsten in 0&lt;br /&gt;
config.sys_language_mode = strict&lt;br /&gt;
config.sys_language_overlay = hideNonTranslated&lt;br /&gt;
 &lt;br /&gt;
 # Testen ob die Englische Seite gewünscht wird. In einem CASE Konstrukt wird dazu geprüft&lt;br /&gt;
 # ob die globale Variable L=1 ist&lt;br /&gt;
 [globalVar = GP:L = 1]&lt;br /&gt;
    config.sys_language_uid = 1&lt;br /&gt;
    config.language = en&lt;br /&gt;
    config.locale_all = en_EN&lt;br /&gt;
 [global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Erläuterung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Im ersten Teil wird die globale Variable L definiert und dann Deutsch als default-Sprache festgelegt und mit L=0 gleichgesetzt. Danach wird getestet ob der Parameter L mit dem Wert 1 übergeben wird. Ist das der Fall wird die Systemsprache auf englisch gesetzt. Das führt später auch dazu, daß die Inhalte aus der Englischen Spalte ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
Jetzt fehlt noch ein Auswahlmenü mit dem sich die Sprache auf der Webseite auswählen läßt.&lt;br /&gt;
&lt;br /&gt;
Hinweis für die Kürzel gelten die Locale Abkürzungen von PHP (eigentlich wäre hier ein Bindestrich statt eines Underscore, aber php behandelt das tolerant), bzw. der Language Code und die LCID (language code id).&lt;br /&gt;
&lt;br /&gt;
 http://en.wikipedia.org/wiki/Locale&lt;br /&gt;
 http://unicode.org/repos/cldr-tmp/trunk/charts/supplemental/language_territory_information.html&lt;br /&gt;
 http://www.science.co.il/language/Locale-Codes.asp#definitions&lt;br /&gt;
&lt;br /&gt;
===Sprachauswahlmenü programmieren===&lt;br /&gt;
In der Subpart definition (workOnSubparts) des Haupttemplates binden wir ein PHP-Skript ein, dass dafür sorgt, daß an der Stelle des Markers (hier LANGUAGE) das Menü eingebunden wird und das bei Klicks auf einen Link immer die richtige Nummer für die Sprache an die URL angehängt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TypoScript:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   #multilanguage-flags&lt;br /&gt;
   marks.LANGUAGE=TEXT&lt;br /&gt;
   marks.LANGUAGE=&amp;amp;nbsp;&lt;br /&gt;
   marks.LANGUAGE=PHP_SCRIPT&lt;br /&gt;
   marks.LANGUAGE.file=fileadmin/scripts/languageMenu_d-e.php&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;php-Skript:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 /**&lt;br /&gt;
 * languageMenu_d-e.php basiert auf example_languageMenu.php &lt;br /&gt;
 *&lt;br /&gt;
 * @author	Kasper Skårhøj &amp;lt;kasper@typo3.com&amp;gt;&lt;br /&gt;
 * @modified by Stephan Schlegel www.geo-bit.de&lt;br /&gt;
 */&lt;br /&gt;
 // First, select all pages_language_overlay records on the current page. Each represents a possibility for a language.&lt;br /&gt;
 $query = &amp;quot;SELECT * FROM pages_language_overlay WHERE pid=&amp;quot;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_page-&amp;gt;enableFields(&amp;quot;pages_language_overlay&amp;quot;).&amp;quot; GROUP BY sys_language_uid&amp;quot;;&lt;br /&gt;
 $res = mysql(TYPO3_db,$query);&lt;br /&gt;
 $langArr=array();&lt;br /&gt;
 while($row=mysql_fetch_assoc($res))	{&lt;br /&gt;
 $langArr[$row[&amp;quot;sys_language_uid&amp;quot;]]=$row[&amp;quot;title&amp;quot;];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // Little red arrow, which is inserted to the left of the flag-icon if the &lt;br /&gt;
 // TSFE-&amp;gt;sys_language_uid equals the language uid (notice that 0=deutsch, 1=englisch  &lt;br /&gt;
 // is SPECIFIC to this database, because these numbers refer to uid&amp;#039;s of the table sys_language)&lt;br /&gt;
 $pointer = &amp;#039;&amp;lt;img src=&amp;quot;fileadmin/scripts/pointer.gif&amp;quot; width=&amp;quot;7&amp;quot; height=&amp;quot;10&amp;quot; align=middle&amp;gt;&amp;#039;;&lt;br /&gt;
 // Set each icon. If the language is the current, red arrow is printed to the left. &lt;br /&gt;
 // If the language is NOT found (represented by a pages_language_overlay record on this page), the icon is dimmed.&lt;br /&gt;
 $flags = array();&lt;br /&gt;
 $flags[] = ($GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_language_uid==0?$pointer:&amp;quot;&amp;quot;).&amp;#039;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=0&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;media/uploads/flag_de.gif&amp;quot; alt=&amp;quot;deutsch&amp;quot; width=&amp;quot;21&amp;quot; height=&amp;quot;13&amp;quot; hspace=5 border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
 $flags[] = ($GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_language_uid==1?$pointer:&amp;quot;&amp;quot;).&amp;#039;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=1&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;media/uploads/flag_uk&amp;#039;.($langArr[1]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.gif&amp;quot; alt=&amp;quot;english&amp;quot; width=&amp;quot;21&amp;quot; height=&amp;quot;13&amp;quot; hspace=5 border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
 // Make the little menu. Notice, the menu does ONLY transfer the page-id and the &amp;quot;L&amp;quot; variable (which is also SPECIFIC for this website because &amp;quot;L&amp;quot; has been used in the extension template used to control the language setup)&lt;br /&gt;
 $content = &amp;#039;&amp;lt;span class=&amp;quot;language_selector&amp;quot;&amp;gt;&amp;#039;.implode(&amp;quot;&amp;quot;,$flags).&amp;#039;&amp;lt;/span&amp;gt;&amp;#039;;&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
===Rootline für mehrere Sprachen einrichten===&lt;br /&gt;
 temp.rootline = HMENU&lt;br /&gt;
 temp.rootline.special = rootline&lt;br /&gt;
 temp.rootline.special.range = 0|-1&lt;br /&gt;
 temp.rootline.wrap = Sie sind hier:&lt;br /&gt;
 temp.rootline.1 = TMENU&lt;br /&gt;
 temp.rootline.1 {&lt;br /&gt;
    target = _top&lt;br /&gt;
    NO.linkWrap = || /&lt;br /&gt;
 }&lt;br /&gt;
 # evt. bestimte Seiten ausblenden...&lt;br /&gt;
 temp.rootline.excludeUidList =&lt;br /&gt;
 &lt;br /&gt;
 # Sprache mit der ID 3&lt;br /&gt;
 [globalVar = GP:L = 3]&lt;br /&gt;
    temp.rootline.wrap = You are here:&lt;br /&gt;
 [global]&lt;br /&gt;
 &lt;br /&gt;
 # Sprache mit der ID 4&lt;br /&gt;
 [globalVar = GP:L = 4]&lt;br /&gt;
    temp.rootline.wrap = bla bla:&lt;br /&gt;
 [global]&lt;br /&gt;
 &lt;br /&gt;
 # Sprache mit der ID X (X = beliebige zahl)&lt;br /&gt;
 [globalVar = GP:L = X]&lt;br /&gt;
    temp.rootline.wrap = hierher haben sie sich verirrt:&lt;br /&gt;
 [global]&lt;br /&gt;
&lt;br /&gt;
=== Ein Beispiel für ein vollständiges (zweisprachiges) TypoScript ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Spracheinstellungen ###&lt;br /&gt;
config.linkVars = L&lt;br /&gt;
config.sys_language_mode = content_fallback;0&lt;br /&gt;
&lt;br /&gt;
[globalVar = GP:L = 0]&lt;br /&gt;
config.sys_language_uid = 0&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# Link to top&lt;br /&gt;
#content.linkToTop &amp;gt;&lt;br /&gt;
tt_content.stdWrap.innerWrap2 = |&amp;lt;br&amp;gt;&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;A href=&amp;quot;#top&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#AB3C4B&amp;quot; face=&amp;quot;Arial, Helvetica, sans-serif&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;B&amp;gt;nach oben&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Suchfunktion&lt;br /&gt;
tt_content.search{&lt;br /&gt;
   20.layout.10.value = Suchergebnis: ###RANGELOW###-###RANGEHIGH### von ###TOTAL###&lt;br /&gt;
   20.noResultObj.10.value = Keine Treffer.&lt;br /&gt;
   20.next.value=nächste&lt;br /&gt;
   20.prev.value=vorherige&lt;br /&gt;
   30.dataArray.10.label = Suche nach:&lt;br /&gt;
   30.dataArray.20.label = Suche in:&lt;br /&gt;
   30.dataArray.20.valueArray.10.label = Überschriften und Schlüsselworten&lt;br /&gt;
   30.dataArray.20.valueArray.20.label = Seiteninhalten&lt;br /&gt;
   30.dataArray.40.value = Suche starten&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
# English language, sys_language.uid = 1&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
config.sys_language_uid = 1&lt;br /&gt;
config.language = en&lt;br /&gt;
config.locale_all = english&lt;br /&gt;
&lt;br /&gt;
#  Link to top&lt;br /&gt;
#content.linkToTop &amp;gt;&lt;br /&gt;
tt_content.stdWrap.innerWrap2 = &amp;lt;br&amp;gt;&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;A href=&amp;quot;#top&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#AB3C4B&amp;quot; face=&amp;quot;Arial, Helvetica, sans-serif&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;B&amp;gt;to top&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Suchfunktion - englisch&lt;br /&gt;
tt_content.search{&lt;br /&gt;
   20.layout.10.value = Suchergebnis: ###RANGELOW###-###RANGEHIGH### von ###TOTAL###&lt;br /&gt;
   20.noResultObj.10.value = No hits.&lt;br /&gt;
   20.next.value=next&lt;br /&gt;
   20.prev.value=previous&lt;br /&gt;
   30.dataArray.10.label = Searchwords:&lt;br /&gt;
   30.dataArray.20.label = Search in:&lt;br /&gt;
   30.dataArray.20.valueArray.10.label = Headlines &amp;amp; Keywords&lt;br /&gt;
   30.dataArray.20.valueArray.20.label = Content&lt;br /&gt;
   30.dataArray.40.value = Start search&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Schritt für Schritt Anleitung ===&lt;br /&gt;
* Mindestens eine weitere Sprache anlegen (Listenansicht - Weltkugel)&lt;br /&gt;
* TypoScript Sprachvariable und Template anpassen:&lt;br /&gt;
* Benötigte Skripte und Bilder(Flaggen) Uploaden&amp;lt;br&amp;gt;z.B. mulitlan_d-e.php, flag_uk.gif...&lt;br /&gt;
* Marker im TypoScript Template anlegen:z.B.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Multilanguage-Navi ###&lt;br /&gt;
  marks.LANGUAGE=PHP_SCRIPT&lt;br /&gt;
  marks.LANGUAGE.file=fileadmin/scripts/languageMenu_e-d.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Marker im HTML-Template einbauen. Am besten in divs damit man es per CSS gestalten kann&lt;br /&gt;
 &amp;lt;div id=&amp;quot;languageSelector&amp;quot;&amp;gt;###LANGUAGE###&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme bei mehrsprachigen Seiten ===&lt;br /&gt;
Lösungen bei verschiedenen Problemen mit mehrsprachigen Seiten gibt es hier:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Probleme mit mehrsprachigen Seiten lösen]]&lt;br /&gt;
&lt;br /&gt;
=== Skriptsammlung ===&lt;br /&gt;
==== php-Sprachskript ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
* languageMenu_d-e.php basiert auf example_languageMenu.php &lt;br /&gt;
*&lt;br /&gt;
* @author	Kasper Skårhøj &amp;lt;kasper@typo3.com&amp;gt;&lt;br /&gt;
* @modified by Stephan Schlegel www.geo-bit.de&lt;br /&gt;
*/&lt;br /&gt;
// First, select all pages_language_overlay records on the current page. &lt;br /&gt;
// Each represents a possibility for a language.&lt;br /&gt;
$query = &amp;quot;SELECT * FROM pages_language_overlay WHERE pid=&amp;quot;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_page-&amp;gt;enableFields(&amp;quot;pages_language_overlay&amp;quot;).&amp;quot; GROUP BY sys_language_uid&amp;quot;;&lt;br /&gt;
$res = mysql(TYPO3_db,$query);&lt;br /&gt;
$langArr=array();&lt;br /&gt;
while($row=mysql_fetch_assoc($res))	{&lt;br /&gt;
$langArr[$row[&amp;quot;sys_language_uid&amp;quot;]]=$row[&amp;quot;title&amp;quot;];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Little red arrow, which is inserted to the left of the flag-icon if the &lt;br /&gt;
// TSFE-&amp;gt;sys_language_uid equals the language uid (notice that 0=deutsch, 1=englisch  &lt;br /&gt;
// is SPECIFIC to this database, because these numbers refer to uid&amp;#039;s of the table sys_language)&lt;br /&gt;
//$pointer = &amp;#039;&amp;lt;img src=&amp;quot;fileadmin/scripts/pointer.gif&amp;quot; width=&amp;quot;7&amp;quot; height=&amp;quot;10&amp;quot; align=middle&amp;gt;&amp;#039;;&lt;br /&gt;
$pointer = &amp;quot;&amp;quot;;&lt;br /&gt;
// Set each icon. If the language is the current, red arrow is printed to the left. &lt;br /&gt;
// If the language is NOT found (represented by a pages_language_overlay record on this page), the icon is dimmed.&lt;br /&gt;
$flags = array();&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=0&amp;quot; target=_top&amp;gt;&amp;lt;span class=&amp;quot;flag&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/template/images/flag_de.gif&amp;quot; alt=&amp;quot;deutsch&amp;quot; title=&amp;quot;deutsch&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=1&amp;quot; target=_top&amp;gt;&amp;lt;span class=&amp;quot;flag&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/template/images/flag_uk&amp;#039;.($langArr[1]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.gif&amp;quot; alt=&amp;quot;english&amp;quot; title=&amp;quot;english&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
// Make the little menu. Notice, the menu does ONLY transfer the page-id and the &amp;quot;L&amp;quot; variable (which is also SPECIFIC for this website because &amp;quot;L&amp;quot; has been used in the extension template used to control the language setup)&lt;br /&gt;
$content = &amp;#039;&amp;lt;ul&amp;gt;&amp;#039;.implode(&amp;quot;&amp;quot;,$flags).&amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TypoScript multilanguage Extension ====&lt;br /&gt;
ext_multilang_d-e.tmpl&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Spracheinstellungen ###&lt;br /&gt;
config.linkVars = L&lt;br /&gt;
config.sys_language_mode = content_fallback;0&lt;br /&gt;
&lt;br /&gt;
### ohne Sprachauswahl ###&lt;br /&gt;
&lt;br /&gt;
# Standardsprache deutsch wird festgelegt &lt;br /&gt;
config.sys_language_uid = 0&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# CSS&lt;br /&gt;
page.stylesheet = fileadmin/template/css/main.css&lt;br /&gt;
&lt;br /&gt;
### DEUTSCH ###&lt;br /&gt;
[globalVar = GP:L = 0]&lt;br /&gt;
config.sys_language_uid = 0&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# CSS&lt;br /&gt;
#page.stylesheet = fileadmin/template/main.css&lt;br /&gt;
&lt;br /&gt;
# Link to top&lt;br /&gt;
#content.linkToTop &amp;gt;&lt;br /&gt;
tt_content.stdWrap.innerWrap2 = |&amp;lt;br&amp;gt;&amp;lt;div class=&amp;quot;toTop&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;nach oben&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
### ENGLISCH ###&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
config.sys_language_uid = 1&lt;br /&gt;
config.language = en&lt;br /&gt;
config.locale_all = english&lt;br /&gt;
&lt;br /&gt;
# CSS&lt;br /&gt;
#page.stylesheet = fileadmin/template/main_en.css&lt;br /&gt;
&lt;br /&gt;
# Link to top&lt;br /&gt;
#content.linkToTop &amp;gt;&lt;br /&gt;
tt_content.stdWrap.innerWrap2 = &amp;lt;br&amp;gt;&amp;lt;div class=&amp;quot;toTop&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;to top&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#...&lt;br /&gt;
&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Übersetzung nur Anzeigen wenn sie vorhanden ist ===&lt;br /&gt;
Typo3 - Stuttgart Mailing List (Juli 2006)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;Hallo ihr alle,&lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;ich habe eine typo3 3.7.1 installation und möchte eine übersetzung nur dann anzeigen, wenn diese vorhanden ist.&lt;br /&gt;
&amp;gt; &amp;gt;Wenn sie nicht vorhanden ist soll der gesamte menüpunkt rausfliegen.&lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;Der untenstehende code sollte funktionieren - tut es aber nicht...&lt;br /&gt;
&amp;gt; &amp;gt;Weis da jemand bescheid?&lt;br /&gt;
&amp;gt; &amp;gt;...meine langwierige recherchen haben leider auch nichts ergeben ;-((&lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;config.linkVars = L&lt;br /&gt;
&amp;gt; &amp;gt;config.sys_language_uid = 0&lt;br /&gt;
&amp;gt; &amp;gt;config.language = de&lt;br /&gt;
&amp;gt; &amp;gt;config.sys_language_mode = strict&lt;br /&gt;
&amp;gt; &amp;gt;config.sys_language_overlay = hideNonTranslated&lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;lg niko&lt;br /&gt;
&amp;gt; &amp;gt;  &lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hallo Niko,&lt;br /&gt;
&lt;br /&gt;
vielleicht hilft dir dies weiter:&lt;br /&gt;
&lt;br /&gt;
http://www.datenwolken.de/index.php?id=221&lt;br /&gt;
&lt;br /&gt;
und ein Beispiel hier&lt;br /&gt;
&lt;br /&gt;
http://forum.typo3.fr/index.php?showtopic=4236&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 // User defined&lt;br /&gt;
 USERDEF1 = 1&lt;br /&gt;
 USERDEF1.doNotLinkIt = 1&lt;br /&gt;
 USERDEF1.linkWrap = &amp;lt;li class=&amp;quot;disabled&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
 USERDEF1.stdWrap.override = EN || FR || DE&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
li.disabled dann im stylesheet ausblenden ...&lt;br /&gt;
&lt;br /&gt;
Grüße&lt;br /&gt;
Ines&lt;br /&gt;
&lt;br /&gt;
_______________________________________________&lt;br /&gt;
TYPO3-stuttgart mailing list&lt;br /&gt;
TYPO3-stuttgart@lists.netfielders.de&lt;br /&gt;
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-stuttgart&lt;br /&gt;
&lt;br /&gt;
== Datum und Zeit ==&lt;br /&gt;
Oft ist es schwierig herauszufinden wo gerade die Ausgabe von Zeit und Datum konfiguriert wird.&lt;br /&gt;
&lt;br /&gt;
Wenn eine der Extensions ts_language_de oder ts_language_xx installiert ist wird dort der Standard einer andeen Extension (z.B. tt_news) überschrieben. Diese Einstellung kann wieder im eigenen TS überschrieben werden.&lt;br /&gt;
&lt;br /&gt;
Im Template Analyser kann man die Reihenfolge gut sehen.&lt;br /&gt;
&lt;br /&gt;
Beispiel zur Konfiguration:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Examples:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Your site is a &amp;quot;one-language-site&amp;quot;  and you configured the site-language as default language of TYPO3. If you have a ts_language_xx extension installed, to set some country specific settings for other extensions, I suggest to copy the part which refers to tt_news in your main template or an ext template which is included. Here an example for german settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set the TYPO3 language to german&lt;br /&gt;
config.language = de&lt;br /&gt;
# set the PHP locale to german&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# tt_news date &amp;amp; time formats&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  archiveTitleCObject {&lt;br /&gt;
    10.strftime = %B - %Y&lt;br /&gt;
  }&lt;br /&gt;
  getRelatedCObject {&lt;br /&gt;
      20.strftime = %d.%m.%Y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displaySingle {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displayLatest {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displayList {&lt;br /&gt;
    date_stdWrap.strftime= %A %d. %B %Y&lt;br /&gt;
    time_stdWrap.strftime= %d.%m.%y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hint: If the locale_all setting &amp;quot;de_DE&amp;quot; don&amp;#039;t work on your WAMP installation, try to set it to &amp;quot;german&amp;quot;. There are some differences in the handling of the php-locale on windows and linux.  &lt;br /&gt;
&lt;br /&gt;
If your site is a multilanguage site like the &amp;quot;one-tree-fits-all-languages&amp;quot; example from the &amp;quot;testsite&amp;quot; package (see: http://typo3.org/documentation/tips-tricks/multi-language-sites-in-typo3/ ) you can add the country specific settings to the language condition in your TS-setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting up the language variable &amp;quot;L&amp;quot; to be passed along with links&lt;br /&gt;
config.linkVars = L&lt;br /&gt;
&lt;br /&gt;
# German language, sys_language.uid = 2&lt;br /&gt;
[globalVar = GP:L = 2]&lt;br /&gt;
config.sys_language_uid = 2&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# set german date &amp;amp; time formats&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  archiveTitleCObject {&lt;br /&gt;
    10.strftime = %B - %Y&lt;br /&gt;
  }&lt;br /&gt;
  getRelatedCObject {&lt;br /&gt;
      20.strftime = %d.%m.%Y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displaySingle {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
    age_stdWrap.age =  Minuten | Stunden | Tage | Jahre&lt;br /&gt;
  }&lt;br /&gt;
  displayLatest {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displayList {&lt;br /&gt;
    date_stdWrap.strftime= %A %d. %B %Y&lt;br /&gt;
    time_stdWrap.strftime= %d.%m.%y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
# Danish language, sys_language.uid = 1&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
config.sys_language_uid = 1&lt;br /&gt;
config.language = dk&lt;br /&gt;
config.locale_all = danish&lt;br /&gt;
&lt;br /&gt;
# set danish date &amp;amp; time formats&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  # sorry, don&amp;#039;t know the danish date &amp;amp; time settings ;-)&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Felder im Backend für mehrere Sprachen benutzen ==&lt;br /&gt;
&lt;br /&gt;
michael schuhmacher wrote:&lt;br /&gt;
&amp;gt; Hallo,&lt;br /&gt;
&amp;gt; weiss jemand wie ich es anstelle, dass bei einer eigenen extension, im backend bestimmte felder grundsaetzlich fuer alle sprachen stehen sollen? so dass man nicht zb. die selben bilder in den uebersetzungen nochmal angeben muss.&lt;br /&gt;
&lt;br /&gt;
habs schon&lt;br /&gt;
&lt;br /&gt;
in meinem fall in ext_tables.php (oder auch in tca.php)&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;l10n_mode&amp;quot; =&amp;gt; &amp;#039;exclude&amp;#039;,&lt;br /&gt;
&lt;br /&gt;
== Sprachlabel für die Frontendausgabe anpassen ==&lt;br /&gt;
Stichwort Language Label, Sprachlabel, Mehrsprachigkeit&lt;br /&gt;
Bei Mehrsprachigen Extensions werden die Ausgaben für die verschiedenen Sprachen in der Regel in der Datei locallang.xml notiert. Oftmals möchte man diese Ausgaben anpassen, ohne diese Datei zu verändern. Denn nach einem Update würden die Änderungen wieder Rückgängig gemacht. Die Labels für die Sprache lassen sich aber auch über eigene Extensions oder über TypoScript anpassen. &lt;br /&gt;
&lt;br /&gt;
Mit TypoScript funktioniert das etwa so:&lt;br /&gt;
&lt;br /&gt;
 plugin.tt_news._LOCAL_LANG.de.more = mehr &amp;gt;&amp;gt;&lt;br /&gt;
also nach dem Schema:&lt;br /&gt;
 plugin.meinPlugin._LOCAL_LANG.sprachkürzel.labelnahme = meinLabel&lt;br /&gt;
&lt;br /&gt;
== Sprachlabel im Backend anpassen ==&lt;br /&gt;
Quelle: http://typo3-freelancer-berlin.de/typo3-blog/artikel/typo3-backendformulare-label-aendern-per-typoscript.html (Zugriff: 09/2011)&lt;br /&gt;
&lt;br /&gt;
Oftmals möchten Kunden die Bezeichnung einzelner Felder im backend anders benannt haben.&lt;br /&gt;
&lt;br /&gt;
pageTSconfig&lt;br /&gt;
&lt;br /&gt;
 // Label in eigener locallang_db.php überschreiben&lt;br /&gt;
 TCEFORM.table.column.label = LLL:typo3conf/override_locallang_db.php:table.column&lt;br /&gt;
&lt;br /&gt;
// Label direkt in pageTSconfig überschreiben&lt;br /&gt;
&lt;br /&gt;
 TCEFORM.table.column.label = My Title&lt;br /&gt;
 TCEFORM.table.column.label.de = Mein Titel&lt;br /&gt;
&lt;br /&gt;
== Weiterleitung in Abhängigkeit der Browsersprache ==&lt;br /&gt;
Damit der Benutzer gleich auf der richtigen Sprache landet kann man die Extension&lt;br /&gt;
rlmp_language_detection benutzen.&lt;br /&gt;
&lt;br /&gt;
Als Erweiterung gibt es noch die Extension Title Language Detection - Extended( sr_language_detect ) von Stanislas Rolland&lt;br /&gt;
=== Konfiguration für One-Tree Konzept ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_rlmplanguagedetection_pi1 {&lt;br /&gt;
  defaultLang = de #ISO-Code der Standardsprache anpasssen&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration für Multi-Tree Konzept ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
plugin.tx_rlmplanguagedetection_pi1 {&lt;br /&gt;
   useOneTreeMethod = 0&lt;br /&gt;
   multipleTreesRootPages&lt;br /&gt;
   {&lt;br /&gt;
      #PID&amp;#039;s der jeweiligen Sprachen anpassen, ggf. neue zufuegen&lt;br /&gt;
      de = 216&lt;br /&gt;
      en = 120&lt;br /&gt;
      es = 482&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
=== Problem mit Browserseitigem Cache bei Einsatz von rlmplanguagedetection ===&lt;br /&gt;
Um die richtigen Werte für das Caching auszugeben muß in der Konfiguration stehen:&lt;br /&gt;
&lt;br /&gt;
Typoscript:	Zeilennummerierung:  An / Aus&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      config.sendCacheHeaders = 1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Funktion bleibt aber unter anderem auf den Seiten wirkungslos, in denen USER_INT Objekte genutzt werden.&lt;br /&gt;
&lt;br /&gt;
Mit der Extention &amp;#039;rlmplanguagedetection&amp;#039; steckt dieses Object in jedem Seiten-Rendering. Das USER_INT Object braucht es aber für die Funktion der Extension.&lt;br /&gt;
&lt;br /&gt;
Da die Extension keine neuen Header mit &amp;#039;Location&amp;#039; und dem GetParameter ausgibt, wenn dieser Parameter bereits in der URL vorhanden ist, braucht es diese USER_INT funktion folglich auch nicht bei jedem Seitenaufruf. Um sie denn in diesem Falle aus den Seiten-Rendering auch auszuschließen habe ich mich für folgendes Konzept entschieden, in dem via TypoScript die Extension einfach ausgeschlossen wird, wenn der GetParameter bereits existiert:&lt;br /&gt;
&lt;br /&gt;
Typoscript:	Zeilennummerierung:  An / Aus&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      # send Cache Headers&lt;br /&gt;
   2.&lt;br /&gt;
      config.sendCacheHeaders = 1&lt;br /&gt;
   3.&lt;br /&gt;
      # disable USER_INT &amp;#039;rlmplanguagedetection&amp;#039; when GP:L exists&lt;br /&gt;
   4.&lt;br /&gt;
      [globalVar=GP:L=0,GP:L&amp;gt;0]&lt;br /&gt;
   5.&lt;br /&gt;
      plugin.tx_rlmplanguagedetection_pi1 &amp;gt;&lt;br /&gt;
   6.&lt;br /&gt;
      [global] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das funktioniert, und damit lässt sich die Extension auch wieder für Proxy- oder Clientseitiges Cachen nutzen.[/TS] &lt;br /&gt;
   3. Testen (Browsersprache ändern. Anleitung unten.)&lt;br /&gt;
   4. Falls es Probleme gibt und die Spracherkennung / -weiterleitung nicht funktioniert, kann folgendes im Setup des Root Templates hinzufügt werden. Hier wird die Erweiterung im Page-Element an Position 1000 inkludiert. Diese Einstellung muss ggf. angepasst werden.&lt;br /&gt;
&lt;br /&gt;
      page.1000 &amp;lt; plugin.tx_rlmplanguagedetection_pi1&lt;br /&gt;
&lt;br /&gt;
Tipps zum Testen&lt;br /&gt;
&lt;br /&gt;
Wie stellt man die Sprache des Browsers um? Das Umstellen der Browsersprache:&lt;br /&gt;
&lt;br /&gt;
Firefox&lt;br /&gt;
&lt;br /&gt;
    * Extras &amp;gt; Einstellungen &amp;gt; Reiter Erweitert &amp;gt; Reiter Allgemein (Windowsversion) oder&lt;br /&gt;
      Bearbeiten &amp;gt; Einstellungen &amp;gt; Reiter Erweitert &amp;gt; Reiter Allgemein (Linuxversion)&lt;br /&gt;
    * im Unteren Bereich befindet sich der Abschnitt Sprache, in dem man über den Button &amp;quot;wählen&amp;quot; ein oder mehrere neue Sprachen hinzufügen kann. Die Sprache in der getestet wird steht immer oben.&lt;br /&gt;
&lt;br /&gt;
Internet Explorer IE&lt;br /&gt;
&lt;br /&gt;
    * Extras &amp;gt; Internetoptionen&lt;br /&gt;
    * im Unteren Bereich befindet sich der Button Sprache, mit dem man ein oder mehrere neue Sprachen hinzufügen kann. Die Sprache in der getestet wird steht immer oben.&lt;br /&gt;
&lt;br /&gt;
Wenn es nicht funktioniert&lt;br /&gt;
&lt;br /&gt;
Wenn es nicht funktioniert hat man eventuell die Sprachen nicht richtig eingerichtet. Hier sollte man noch mal die Konfiguration überprüfen.&lt;br /&gt;
Anleitung von rainer-grundel Datum des Zugriffs 1.4.2008, http://www.rainer-grundel.de/wissensdb/typo3/empfohlene_extensions/artikel/article/anzeige_der_website_nach_browsersprache.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mehrsprachigkeit und TemplaVoila ==&lt;br /&gt;
Wenn man eine mehrsprachige Seite mit TemplaVoila nutzt. Kann man das Verhalten in der Datenstruktur der TemplaVoila Templates steuern.&lt;br /&gt;
&lt;br /&gt;
TemplaVoila nutzt zur Darstellung seiner Inhalte Flexforms. Die dazugehörigen Parameter für die Darstellung der Mehrsprachigen Datensätze im Backend steuert man daher mit der Flexform T3DataStructure. Konkret sind hier folgende XML-Tags von Bedeutung:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;meta type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;langDisable type=&amp;quot;integer&amp;quot;&amp;gt;[0|1]&amp;lt;/langDisable&amp;gt;&lt;br /&gt;
        &amp;lt;langChildren type=&amp;quot;integer&amp;quot;&amp;gt;[0|1]&amp;lt;/langChildren&amp;gt;&lt;br /&gt;
    &amp;lt;/meta&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wie gezeigt können diese also entweder den Wert 0 oder 1 enthalten&lt;br /&gt;
===langDisable===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; Sprachsteuerung durch das Flexform, technisch gesehen bedeutet das, daß die Übersetzungen im Flexform-Datensatz gespeichert werden. Siehe auch langChildren&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; Die Sprachsteuerung durch das Flexform ist abgeschaltet. D.h. Typo3 übernimmt das selbst. Dies ist die geeignete Einstellung für Flexible Content Elemente die zur Gliederung (z.B. 2Spalter) genutzt werden.&lt;br /&gt;
&lt;br /&gt;
===langChildren===&lt;br /&gt;
Hat nur Auswirkung wenn langDisable auf 0 steht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; Die Inhalte der Flexforms lassen sich Direkt übersetzen (Flagge klicken) und werden zusammengezoge im Backend dargestellt.&lt;br /&gt;
Im Frontend wird die Standardsprache verwendet wenn keine Übersetzung vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; Keine Direkte übersetzung. Das komplette Flexform wird übersetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Seiten ohne Übersetzung im Menü verstecken ==&lt;br /&gt;
Quelle:http://blog.undkonsorten.com/typo3-seite-uebersetzung-menue-verstecken&lt;br /&gt;
&lt;br /&gt;
Datum des Zugriffs: 29.4.2009&lt;br /&gt;
&lt;br /&gt;
16. Januar 2008&lt;br /&gt;
&lt;br /&gt;
Für mehrsprachige TYPO3-Webseiten im One-Tree-Konzept werden standardgemäß die immer alle Menüeintäge in der Standardsprache ausgegeben, insofern für diese keine Übersetzung angelegt wurde. In der Regel ist eine Navigation in zwei verschiedenen Sprachen nicht erwünscht und man möchte Seiten ohne Übersetzungen verstecken. Es gibt zwei Wege, dies umzusetzen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung über das TYPO3-Backend&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Am einfachsten lässen sich Seiten ohne Übersetzungen ausblenden, indem man unter Seiteneigenschaften &amp;gt; Spracheinstellungen das Verstecke Seiten wenn keine Übersetzung… mit einem kleinen Häckchen versieht.&lt;br /&gt;
&lt;br /&gt;
TYPO3: Sprache verstecken, wenn keine Übersetzung existiert&lt;br /&gt;
&lt;br /&gt;
Wenn für diese Seite - angenommen sie sei deutsche - keine Übersetzung angelegt wurde, man sich aber z.B. gerade im Frontend im englischen Bereich befindet, so wird diese Seite nicht angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung per Installtool bzw. localconf.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Im Install-Tool &amp;gt; All Configuration gibt es den Eintrag [hidePagesIfNotTranslatedByDefault] . Wenn man hier den Wert TRUE einträgt werden alle Seiten ohne Übersetzung per default versteckt. Dies entspricht folgendem Eintrag in der localconf:&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;FE&amp;#039;][&amp;#039;hidePagesIfNotTranslatedByDefault&amp;#039;] = ‘TRUE’;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Standard-Übersetzung im Menü einblenden per TypoScript&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Man kann per TypoScript-Setup umgekehrt für die Menükonfiguration angeben, dass Seiten generell in der default-Sprache ausgegeben werden, insofern keine Übersetzung vorliegt. Das sieht dann so aus:&lt;br /&gt;
&lt;br /&gt;
 temp.navigation = HMENU&lt;br /&gt;
 temp.navigation {&lt;br /&gt;
 …&lt;br /&gt;
 protectLvar = all&lt;br /&gt;
 …&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
protectLvar kennt die Werte 1 und all. Mit all wird der Wert des Kontrollkästchens überschrieben und Seiten ohne Übersetzungen werden immer ausgegegen.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Mehrsprachige_Seiten&amp;diff=19248</id>
		<title>Typo3 - Mehrsprachige Seiten</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Mehrsprachige_Seiten&amp;diff=19248"/>
		<updated>2012-09-25T10:00:41Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* TypoScript Anpassungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch: [[Typo3 - Standardeinstellungen]]&lt;br /&gt;
&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
=== One Tree Multilanguage Basic TS ===&lt;br /&gt;
Default Sprache wäre hier en (uid = 0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config{&lt;br /&gt;
	// more properties for multilanguage pages&lt;br /&gt;
	linkVars = L(1-10)&lt;br /&gt;
	uniqueLinkVars = 1&lt;br /&gt;
	sys_language_mode = content_fallback&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
	// Language Settings for second language&lt;br /&gt;
&lt;br /&gt;
[globalVar = GP:L=1]&lt;br /&gt;
config {&lt;br /&gt;
	language = de&lt;br /&gt;
	locale_all = de_DE&lt;br /&gt;
	htmlTag_langKey = de&lt;br /&gt;
	sys_language_uid = 1&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
[globalVar = GP:L=2]&lt;br /&gt;
config {&lt;br /&gt;
	language = es&lt;br /&gt;
	locale_all = es_ES&lt;br /&gt;
	htmlTag_langKey = es&lt;br /&gt;
	sys_language_uid = 2&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
[globalVar = GP:L=3]&lt;br /&gt;
config {&lt;br /&gt;
	language = fr&lt;br /&gt;
	locale_all = fr_FR&lt;br /&gt;
	htmlTag_langKey = fr&lt;br /&gt;
	sys_language_uid = 3&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
[globalVar = GP:L=4]&lt;br /&gt;
config {&lt;br /&gt;
	language = it&lt;br /&gt;
	locale_all = it_IT&lt;br /&gt;
	htmlTag_langKey = it&lt;br /&gt;
	sys_language_uid = 4&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Sprachmenü Textversion ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
########################################&lt;br /&gt;
### Standard Sprachmenu (TS Version) ###&lt;br /&gt;
########################################&lt;br /&gt;
&lt;br /&gt;
temp.langTextMenu = COA&lt;br /&gt;
temp.langTextMenu{&lt;br /&gt;
  10 = TEXT&lt;br /&gt;
  10 {&lt;br /&gt;
    		# Labels&lt;br /&gt;
    		#value = Language:&lt;br /&gt;
    		#lang.de = Sprache:&lt;br /&gt;
    		#lang.fr = Langue:&lt;br /&gt;
    		#wrap = &amp;lt;div id=&amp;quot;nav-lang-label&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
  }&lt;br /&gt;
  20 = HMENU&lt;br /&gt;
  20{&lt;br /&gt;
    wrap = &amp;lt;div id=&amp;quot;nav-lang&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
    special = language&lt;br /&gt;
    		# Liste der Sprach IDs (0 = Deutsch, 1 = Englisch, 2 = Franzoesisch)&lt;br /&gt;
    		//special.value = 0,1,2&lt;br /&gt;
    special.value = 0,1&lt;br /&gt;
    1 = TMENU&lt;br /&gt;
    1{&lt;br /&gt;
      wrap = &amp;lt;ul class=&amp;quot;nav&amp;quot;&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
      NO = 1&lt;br /&gt;
      NO {&lt;br /&gt;
        stdWrap.cObject = TEXT&lt;br /&gt;
        stdWrap.cObject{&lt;br /&gt;
          value = english || deutsch&lt;br /&gt;
          					# oder auf diese Weise:&lt;br /&gt;
          					#lang.de = Englisch || Deutsch || Franzoesich&lt;br /&gt;
          					#lang.fr = ...&lt;br /&gt;
        }&lt;br /&gt;
        allWrap = &amp;lt;li class = &amp;quot;no first&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;no&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;no last&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
      ACT &amp;lt; .NO&lt;br /&gt;
      ACT {&lt;br /&gt;
        doNotLinkIt = 1&lt;br /&gt;
        allWrap = &amp;lt;li class = &amp;quot;act first&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;act&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;act last&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
      			# Zustand NO wenn keine Uebersetzung vorliegt&lt;br /&gt;
      USERDEF1 &amp;lt; .NO&lt;br /&gt;
      USERDEF1 {&lt;br /&gt;
        doNotLinkIt = 1&lt;br /&gt;
        allWrap = &amp;lt;li class = &amp;quot;no empty first&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;no empty&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class = &amp;quot;no empty last&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
      			# Zustand ACT wenn keine Uebersetzung vorliegt&lt;br /&gt;
      USERDEF2 &amp;lt; .NO&lt;br /&gt;
      USERDEF2 {&lt;br /&gt;
        doNotLinkIt = 1&lt;br /&gt;
        allWrap = &amp;lt;li class=&amp;quot;act empty first&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class=&amp;quot;act empty&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class=&amp;quot;act empty last&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;#x007C;&amp;amp;nbsp; | &amp;lt;/li&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sprachmenü grafische Version ===&lt;br /&gt;
Möglichkeiten: &lt;br /&gt;
&lt;br /&gt;
1. obiges Menü anpassen&lt;br /&gt;
&lt;br /&gt;
2. siehe unten php Version&lt;br /&gt;
&lt;br /&gt;
3. sr_language_menu Extension&lt;br /&gt;
&lt;br /&gt;
siehe auch [[TYPO3 Sprachmenü mit sr_language_menu]]&lt;br /&gt;
&lt;br /&gt;
==== Komplettbeispiel grafische Navigation mit php-Skript ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Flaggen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Für die Flaggen nehmen wir im Beispiel eine aktive Version z.B. it.png und eine gedimmte (sw) Version z.B. it_d.png&lt;br /&gt;
&lt;br /&gt;
PHP&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
* languageMenu_d-e.php basiert auf example_languageMenu.php &lt;br /&gt;
*&lt;br /&gt;
* @author	Kasper Skårhøj &amp;lt;kasper@typo3.com&amp;gt;&lt;br /&gt;
* @modified by Stephan Schlegel www.geo-bit.de&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// All available pages_language_overlay records for the current page. &lt;br /&gt;
$query = &amp;quot;SELECT * FROM pages_language_overlay WHERE pid=&amp;quot;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_page-&amp;gt;enableFields(&amp;quot;pages_language_overlay&amp;quot;).&amp;quot; GROUP BY sys_language_uid&amp;quot;;&lt;br /&gt;
$res = mysql(TYPO3_db,$query);&lt;br /&gt;
$langArr=array();&lt;br /&gt;
while($row=mysql_fetch_assoc($res))	{&lt;br /&gt;
	$langArr[$row[&amp;quot;sys_language_uid&amp;quot;]]=$row[&amp;quot;title&amp;quot;];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// uids of table sys_language in this installation 0=en, 1=de, 2=es, 3=fr, 4=it  &lt;br /&gt;
&lt;br /&gt;
$pointer = &amp;quot;&amp;quot;;// use that if you want to mark current language&lt;br /&gt;
// Set each icon. If the language is the current, red arrow is printed to the left. &lt;br /&gt;
// If the language is NOT found (represented by a pages_language_overlay record on this page), the icon is dimmed.&lt;br /&gt;
$flags = array();&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li class=&amp;quot;first&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=0&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/gb.png&amp;quot; alt=&amp;quot;english&amp;quot; title=&amp;quot;english&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=1&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/de&amp;#039;.($langArr[1]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.png&amp;quot; alt=&amp;quot;deutsch&amp;quot; title=&amp;quot;deutsch&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=2&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/es&amp;#039;.($langArr[2]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.png&amp;quot; alt=&amp;quot;espagnol&amp;quot; title=&amp;quot;espagnol&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=3&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/fr&amp;#039;.($langArr[3]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.png&amp;quot; alt=&amp;quot;francais&amp;quot; title=&amp;quot;francais&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li class=&amp;quot;last&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=4&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/flags/it&amp;#039;.($langArr[4]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.png&amp;quot; alt=&amp;quot;italiano&amp;quot; title=&amp;quot;italiano&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$content = &amp;#039;&amp;lt;ul class=&amp;quot;nav&amp;quot; id=&amp;quot;nav-lang&amp;quot;&amp;gt;&amp;#039;.implode(&amp;quot;&amp;quot;,$flags).&amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TS (für Subpart oder Marker)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
page.10.subparts{&lt;br /&gt;
	NAV_LANG=PHP_SCRIPT&lt;br /&gt;
	NAV_LANG.file=fileadmin/templates/narda-ida/scripts/multilanguage-en-de-es-f-i.php&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CSS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Common navigation styles */&lt;br /&gt;
&lt;br /&gt;
.nav .divider{&lt;br /&gt;
    margin: 0 1.5em 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav {&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav li li {&lt;br /&gt;
font-size:90%;&lt;br /&gt;
padding:0 0 0 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav li li li {&lt;br /&gt;
padding-left:1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.nav a, .nav a:link, &lt;br /&gt;
.nav a:visited {&lt;br /&gt;
text-decoration:none !important;&lt;br /&gt;
border: none;&lt;br /&gt;
padding-left: 50px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#nav-lang .nav a,&lt;br /&gt;
#nav-lang .nav a:link, &lt;br /&gt;
#nav-lang .nav a:visited {&lt;br /&gt;
text-decoration:none !important;&lt;br /&gt;
border: none;&lt;br /&gt;
padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
ul.nav a:hover, ul.nav a:active, &lt;br /&gt;
li.act, li.act a, &lt;br /&gt;
li.cur, li.cur a {&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
ul.nav {&lt;br /&gt;
margin:0;&lt;br /&gt;
padding:0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul.nav li {&lt;br /&gt;
list-style:none outside none;&lt;br /&gt;
margin:0;&lt;br /&gt;
padding:0;&lt;br /&gt;
line-height: 23px;&lt;br /&gt;
}&lt;br /&gt;
/* grafische Sprachnavigation */&lt;br /&gt;
#nav-lang{&lt;br /&gt;
	padding-top: 4px;&lt;br /&gt;
	float: left;&lt;br /&gt;
}&lt;br /&gt;
#nav-lang a,&lt;br /&gt;
#nav-lang a:link,&lt;br /&gt;
#nav-lang a:visited,&lt;br /&gt;
#nav-lang a:hover,&lt;br /&gt;
#nav-lang a:active{&lt;br /&gt;
	padding:2px 3px;&lt;br /&gt;
}&lt;br /&gt;
#nav-lang .first a{&lt;br /&gt;
	padding-left: 0;&lt;br /&gt;
}&lt;br /&gt;
#nav-lang .last a{&lt;br /&gt;
	padding-right:0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
* HTML-Template: Marker einbinden &lt;br /&gt;
* TypoScript: Marker mit Sprachskript füllen (PHP-Objekt)&lt;br /&gt;
* Dateien: Notwendige Dateien hochspielen (Skript und Grafiken)&lt;br /&gt;
* CSS anpassen damit Flaggen schön aussehen&lt;br /&gt;
* Backend: Sprache anlegen (Weltkugel)&lt;br /&gt;
* Evt. Spracheinstellungen im TypoScript (das meiste im vorgefertigten Template)&lt;br /&gt;
Hinweis: alles im Baukasten (Common - Ordner) ToDo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2 Konzepte===&lt;br /&gt;
Um Mehrsprachigkeit zu realisieren gibt es zwei Ansätze:&lt;br /&gt;
# Multitree - Mehrere Navigationsbäume (für jede Sprache einen). In den Navigationsbäumen müssen die Templates entsprechend Variiert werden.&lt;br /&gt;
# One Tree Fits All - Mehrsprachigkeit mit den Typo3 Bordmitteln (der moderne Ansatz). Hierbei können im System mehrere Sprachen angelegt werden. Jede Sprache hat nachher in der Seitenansicht eine eigene Spalte. So hat man eine gute Übersicht welche Inhaltselemente bereits übersetzt sind.&lt;br /&gt;
&lt;br /&gt;
===Welcher Ansatz ist der Richtige ?===&lt;br /&gt;
Kommt drauf an. Wer soll damit klar kommen? Wieviele Seiten sind es? Werden alle Seiten übersetzt?&lt;br /&gt;
&lt;br /&gt;
===TypoScript Anpassungen===&lt;br /&gt;
Damit das System merkt in welcher Sprache es sich z.Zt. befindet wird der URL ein Parameter mitgegeben. Allgemein ist der Parameter L vereinbart. Das sollte auch eingehalten werden weil einige Extensions nur mit L als Variable arbeiten. &lt;br /&gt;
&lt;br /&gt;
Damit das ganze funktioniert müssen Anpassungen mit TypoScript gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Am besten ein Zusätzliches Basis Template anlegen. Für eine deutsch-englische Seite kann das Setup z.B. so aussehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Parameter L definieren 0 soll die default Sprache (deutsch) sein ###&lt;br /&gt;
config.linkVars = L(0-2)&lt;br /&gt;
config.sys_language_uid = 0&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
#config.sys_language_mode = content_fallback;0 //sucht in default Sprache falls nichts vorhanden&lt;br /&gt;
#config.sys_language_mode = content_fallback : 1,0 // sucht in lang1 ansonsten in 0&lt;br /&gt;
config.sys_language_mode = strict&lt;br /&gt;
config.sys_language_overlay = hideNonTranslated&lt;br /&gt;
 &lt;br /&gt;
 # Testen ob die Englische Seite gewünscht wird. In einem CASE Konstrukt wird dazu geprüft&lt;br /&gt;
 # ob die globale Variable L=1 ist&lt;br /&gt;
 [globalVar = GP:L = 1]&lt;br /&gt;
    config.sys_language_uid = 1&lt;br /&gt;
    config.language = en&lt;br /&gt;
    config.locale_all = en_EN&lt;br /&gt;
 [global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Erläuterung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Im ersten Teil wird die globale Variable L definiert und dann Deutsch als default-Sprache festgelegt und mit L=0 gleichgesetzt. Danach wird getestet ob der Parameter L mit dem Wert 1 übergeben wird. Ist das der Fall wird die Systemsprache auf englisch gesetzt. Das führt später auch dazu, daß die Inhalte aus der Englischen Spalte ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
Jetzt fehlt noch ein Auswahlmenü mit dem sich die Sprache auf der Webseite auswählen läßt.&lt;br /&gt;
&lt;br /&gt;
Hinweis für die Kürzel gelten die Locale Abkürzungen von PHP (eigentlich wäre hier ein Bindestrich statt eines Underscore, aber php behandelt das tolerant), bzw. der Language Code und die LCID (language code id).&lt;br /&gt;
&lt;br /&gt;
 http://www.science.co.il/language/Locale-Codes.asp#definitions&lt;br /&gt;
&lt;br /&gt;
===Sprachauswahlmenü programmieren===&lt;br /&gt;
In der Subpart definition (workOnSubparts) des Haupttemplates binden wir ein PHP-Skript ein, dass dafür sorgt, daß an der Stelle des Markers (hier LANGUAGE) das Menü eingebunden wird und das bei Klicks auf einen Link immer die richtige Nummer für die Sprache an die URL angehängt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TypoScript:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   #multilanguage-flags&lt;br /&gt;
   marks.LANGUAGE=TEXT&lt;br /&gt;
   marks.LANGUAGE=&amp;amp;nbsp;&lt;br /&gt;
   marks.LANGUAGE=PHP_SCRIPT&lt;br /&gt;
   marks.LANGUAGE.file=fileadmin/scripts/languageMenu_d-e.php&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;php-Skript:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 /**&lt;br /&gt;
 * languageMenu_d-e.php basiert auf example_languageMenu.php &lt;br /&gt;
 *&lt;br /&gt;
 * @author	Kasper Skårhøj &amp;lt;kasper@typo3.com&amp;gt;&lt;br /&gt;
 * @modified by Stephan Schlegel www.geo-bit.de&lt;br /&gt;
 */&lt;br /&gt;
 // First, select all pages_language_overlay records on the current page. Each represents a possibility for a language.&lt;br /&gt;
 $query = &amp;quot;SELECT * FROM pages_language_overlay WHERE pid=&amp;quot;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_page-&amp;gt;enableFields(&amp;quot;pages_language_overlay&amp;quot;).&amp;quot; GROUP BY sys_language_uid&amp;quot;;&lt;br /&gt;
 $res = mysql(TYPO3_db,$query);&lt;br /&gt;
 $langArr=array();&lt;br /&gt;
 while($row=mysql_fetch_assoc($res))	{&lt;br /&gt;
 $langArr[$row[&amp;quot;sys_language_uid&amp;quot;]]=$row[&amp;quot;title&amp;quot;];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // Little red arrow, which is inserted to the left of the flag-icon if the &lt;br /&gt;
 // TSFE-&amp;gt;sys_language_uid equals the language uid (notice that 0=deutsch, 1=englisch  &lt;br /&gt;
 // is SPECIFIC to this database, because these numbers refer to uid&amp;#039;s of the table sys_language)&lt;br /&gt;
 $pointer = &amp;#039;&amp;lt;img src=&amp;quot;fileadmin/scripts/pointer.gif&amp;quot; width=&amp;quot;7&amp;quot; height=&amp;quot;10&amp;quot; align=middle&amp;gt;&amp;#039;;&lt;br /&gt;
 // Set each icon. If the language is the current, red arrow is printed to the left. &lt;br /&gt;
 // If the language is NOT found (represented by a pages_language_overlay record on this page), the icon is dimmed.&lt;br /&gt;
 $flags = array();&lt;br /&gt;
 $flags[] = ($GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_language_uid==0?$pointer:&amp;quot;&amp;quot;).&amp;#039;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=0&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;media/uploads/flag_de.gif&amp;quot; alt=&amp;quot;deutsch&amp;quot; width=&amp;quot;21&amp;quot; height=&amp;quot;13&amp;quot; hspace=5 border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
 $flags[] = ($GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_language_uid==1?$pointer:&amp;quot;&amp;quot;).&amp;#039;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=1&amp;quot; target=_top&amp;gt;&amp;lt;img src=&amp;quot;media/uploads/flag_uk&amp;#039;.($langArr[1]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.gif&amp;quot; alt=&amp;quot;english&amp;quot; width=&amp;quot;21&amp;quot; height=&amp;quot;13&amp;quot; hspace=5 border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
 // Make the little menu. Notice, the menu does ONLY transfer the page-id and the &amp;quot;L&amp;quot; variable (which is also SPECIFIC for this website because &amp;quot;L&amp;quot; has been used in the extension template used to control the language setup)&lt;br /&gt;
 $content = &amp;#039;&amp;lt;span class=&amp;quot;language_selector&amp;quot;&amp;gt;&amp;#039;.implode(&amp;quot;&amp;quot;,$flags).&amp;#039;&amp;lt;/span&amp;gt;&amp;#039;;&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
===Rootline für mehrere Sprachen einrichten===&lt;br /&gt;
 temp.rootline = HMENU&lt;br /&gt;
 temp.rootline.special = rootline&lt;br /&gt;
 temp.rootline.special.range = 0|-1&lt;br /&gt;
 temp.rootline.wrap = Sie sind hier:&lt;br /&gt;
 temp.rootline.1 = TMENU&lt;br /&gt;
 temp.rootline.1 {&lt;br /&gt;
    target = _top&lt;br /&gt;
    NO.linkWrap = || /&lt;br /&gt;
 }&lt;br /&gt;
 # evt. bestimte Seiten ausblenden...&lt;br /&gt;
 temp.rootline.excludeUidList =&lt;br /&gt;
 &lt;br /&gt;
 # Sprache mit der ID 3&lt;br /&gt;
 [globalVar = GP:L = 3]&lt;br /&gt;
    temp.rootline.wrap = You are here:&lt;br /&gt;
 [global]&lt;br /&gt;
 &lt;br /&gt;
 # Sprache mit der ID 4&lt;br /&gt;
 [globalVar = GP:L = 4]&lt;br /&gt;
    temp.rootline.wrap = bla bla:&lt;br /&gt;
 [global]&lt;br /&gt;
 &lt;br /&gt;
 # Sprache mit der ID X (X = beliebige zahl)&lt;br /&gt;
 [globalVar = GP:L = X]&lt;br /&gt;
    temp.rootline.wrap = hierher haben sie sich verirrt:&lt;br /&gt;
 [global]&lt;br /&gt;
&lt;br /&gt;
=== Ein Beispiel für ein vollständiges (zweisprachiges) TypoScript ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Spracheinstellungen ###&lt;br /&gt;
config.linkVars = L&lt;br /&gt;
config.sys_language_mode = content_fallback;0&lt;br /&gt;
&lt;br /&gt;
[globalVar = GP:L = 0]&lt;br /&gt;
config.sys_language_uid = 0&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# Link to top&lt;br /&gt;
#content.linkToTop &amp;gt;&lt;br /&gt;
tt_content.stdWrap.innerWrap2 = |&amp;lt;br&amp;gt;&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;A href=&amp;quot;#top&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#AB3C4B&amp;quot; face=&amp;quot;Arial, Helvetica, sans-serif&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;B&amp;gt;nach oben&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Suchfunktion&lt;br /&gt;
tt_content.search{&lt;br /&gt;
   20.layout.10.value = Suchergebnis: ###RANGELOW###-###RANGEHIGH### von ###TOTAL###&lt;br /&gt;
   20.noResultObj.10.value = Keine Treffer.&lt;br /&gt;
   20.next.value=nächste&lt;br /&gt;
   20.prev.value=vorherige&lt;br /&gt;
   30.dataArray.10.label = Suche nach:&lt;br /&gt;
   30.dataArray.20.label = Suche in:&lt;br /&gt;
   30.dataArray.20.valueArray.10.label = Überschriften und Schlüsselworten&lt;br /&gt;
   30.dataArray.20.valueArray.20.label = Seiteninhalten&lt;br /&gt;
   30.dataArray.40.value = Suche starten&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
# English language, sys_language.uid = 1&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
config.sys_language_uid = 1&lt;br /&gt;
config.language = en&lt;br /&gt;
config.locale_all = english&lt;br /&gt;
&lt;br /&gt;
#  Link to top&lt;br /&gt;
#content.linkToTop &amp;gt;&lt;br /&gt;
tt_content.stdWrap.innerWrap2 = &amp;lt;br&amp;gt;&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;A href=&amp;quot;#top&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#AB3C4B&amp;quot; face=&amp;quot;Arial, Helvetica, sans-serif&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;B&amp;gt;to top&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Suchfunktion - englisch&lt;br /&gt;
tt_content.search{&lt;br /&gt;
   20.layout.10.value = Suchergebnis: ###RANGELOW###-###RANGEHIGH### von ###TOTAL###&lt;br /&gt;
   20.noResultObj.10.value = No hits.&lt;br /&gt;
   20.next.value=next&lt;br /&gt;
   20.prev.value=previous&lt;br /&gt;
   30.dataArray.10.label = Searchwords:&lt;br /&gt;
   30.dataArray.20.label = Search in:&lt;br /&gt;
   30.dataArray.20.valueArray.10.label = Headlines &amp;amp; Keywords&lt;br /&gt;
   30.dataArray.20.valueArray.20.label = Content&lt;br /&gt;
   30.dataArray.40.value = Start search&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Schritt für Schritt Anleitung ===&lt;br /&gt;
* Mindestens eine weitere Sprache anlegen (Listenansicht - Weltkugel)&lt;br /&gt;
* TypoScript Sprachvariable und Template anpassen:&lt;br /&gt;
* Benötigte Skripte und Bilder(Flaggen) Uploaden&amp;lt;br&amp;gt;z.B. mulitlan_d-e.php, flag_uk.gif...&lt;br /&gt;
* Marker im TypoScript Template anlegen:z.B.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Multilanguage-Navi ###&lt;br /&gt;
  marks.LANGUAGE=PHP_SCRIPT&lt;br /&gt;
  marks.LANGUAGE.file=fileadmin/scripts/languageMenu_e-d.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Marker im HTML-Template einbauen. Am besten in divs damit man es per CSS gestalten kann&lt;br /&gt;
 &amp;lt;div id=&amp;quot;languageSelector&amp;quot;&amp;gt;###LANGUAGE###&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme bei mehrsprachigen Seiten ===&lt;br /&gt;
Lösungen bei verschiedenen Problemen mit mehrsprachigen Seiten gibt es hier:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Probleme mit mehrsprachigen Seiten lösen]]&lt;br /&gt;
&lt;br /&gt;
=== Skriptsammlung ===&lt;br /&gt;
==== php-Sprachskript ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
/**&lt;br /&gt;
* languageMenu_d-e.php basiert auf example_languageMenu.php &lt;br /&gt;
*&lt;br /&gt;
* @author	Kasper Skårhøj &amp;lt;kasper@typo3.com&amp;gt;&lt;br /&gt;
* @modified by Stephan Schlegel www.geo-bit.de&lt;br /&gt;
*/&lt;br /&gt;
// First, select all pages_language_overlay records on the current page. &lt;br /&gt;
// Each represents a possibility for a language.&lt;br /&gt;
$query = &amp;quot;SELECT * FROM pages_language_overlay WHERE pid=&amp;quot;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;sys_page-&amp;gt;enableFields(&amp;quot;pages_language_overlay&amp;quot;).&amp;quot; GROUP BY sys_language_uid&amp;quot;;&lt;br /&gt;
$res = mysql(TYPO3_db,$query);&lt;br /&gt;
$langArr=array();&lt;br /&gt;
while($row=mysql_fetch_assoc($res))	{&lt;br /&gt;
$langArr[$row[&amp;quot;sys_language_uid&amp;quot;]]=$row[&amp;quot;title&amp;quot;];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Little red arrow, which is inserted to the left of the flag-icon if the &lt;br /&gt;
// TSFE-&amp;gt;sys_language_uid equals the language uid (notice that 0=deutsch, 1=englisch  &lt;br /&gt;
// is SPECIFIC to this database, because these numbers refer to uid&amp;#039;s of the table sys_language)&lt;br /&gt;
//$pointer = &amp;#039;&amp;lt;img src=&amp;quot;fileadmin/scripts/pointer.gif&amp;quot; width=&amp;quot;7&amp;quot; height=&amp;quot;10&amp;quot; align=middle&amp;gt;&amp;#039;;&lt;br /&gt;
$pointer = &amp;quot;&amp;quot;;&lt;br /&gt;
// Set each icon. If the language is the current, red arrow is printed to the left. &lt;br /&gt;
// If the language is NOT found (represented by a pages_language_overlay record on this page), the icon is dimmed.&lt;br /&gt;
$flags = array();&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=0&amp;quot; target=_top&amp;gt;&amp;lt;span class=&amp;quot;flag&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/template/images/flag_de.gif&amp;quot; alt=&amp;quot;deutsch&amp;quot; title=&amp;quot;deutsch&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
$flags[] = &amp;#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;index.php?id=&amp;#039;.$GLOBALS[&amp;quot;TSFE&amp;quot;]-&amp;gt;id.&amp;#039;&amp;amp;L=1&amp;quot; target=_top&amp;gt;&amp;lt;span class=&amp;quot;flag&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;fileadmin/template/images/flag_uk&amp;#039;.($langArr[1]?&amp;quot;&amp;quot;:&amp;quot;_d&amp;quot;).&amp;#039;.gif&amp;quot; alt=&amp;quot;english&amp;quot; title=&amp;quot;english&amp;quot; border=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
// Make the little menu. Notice, the menu does ONLY transfer the page-id and the &amp;quot;L&amp;quot; variable (which is also SPECIFIC for this website because &amp;quot;L&amp;quot; has been used in the extension template used to control the language setup)&lt;br /&gt;
$content = &amp;#039;&amp;lt;ul&amp;gt;&amp;#039;.implode(&amp;quot;&amp;quot;,$flags).&amp;#039;&amp;lt;/ul&amp;gt;&amp;#039;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TypoScript multilanguage Extension ====&lt;br /&gt;
ext_multilang_d-e.tmpl&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Spracheinstellungen ###&lt;br /&gt;
config.linkVars = L&lt;br /&gt;
config.sys_language_mode = content_fallback;0&lt;br /&gt;
&lt;br /&gt;
### ohne Sprachauswahl ###&lt;br /&gt;
&lt;br /&gt;
# Standardsprache deutsch wird festgelegt &lt;br /&gt;
config.sys_language_uid = 0&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# CSS&lt;br /&gt;
page.stylesheet = fileadmin/template/css/main.css&lt;br /&gt;
&lt;br /&gt;
### DEUTSCH ###&lt;br /&gt;
[globalVar = GP:L = 0]&lt;br /&gt;
config.sys_language_uid = 0&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# CSS&lt;br /&gt;
#page.stylesheet = fileadmin/template/main.css&lt;br /&gt;
&lt;br /&gt;
# Link to top&lt;br /&gt;
#content.linkToTop &amp;gt;&lt;br /&gt;
tt_content.stdWrap.innerWrap2 = |&amp;lt;br&amp;gt;&amp;lt;div class=&amp;quot;toTop&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;nach oben&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
### ENGLISCH ###&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
config.sys_language_uid = 1&lt;br /&gt;
config.language = en&lt;br /&gt;
config.locale_all = english&lt;br /&gt;
&lt;br /&gt;
# CSS&lt;br /&gt;
#page.stylesheet = fileadmin/template/main_en.css&lt;br /&gt;
&lt;br /&gt;
# Link to top&lt;br /&gt;
#content.linkToTop &amp;gt;&lt;br /&gt;
tt_content.stdWrap.innerWrap2 = &amp;lt;br&amp;gt;&amp;lt;div class=&amp;quot;toTop&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#top&amp;quot;&amp;gt;to top&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#...&lt;br /&gt;
&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Übersetzung nur Anzeigen wenn sie vorhanden ist ===&lt;br /&gt;
Typo3 - Stuttgart Mailing List (Juli 2006)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;Hallo ihr alle,&lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;ich habe eine typo3 3.7.1 installation und möchte eine übersetzung nur dann anzeigen, wenn diese vorhanden ist.&lt;br /&gt;
&amp;gt; &amp;gt;Wenn sie nicht vorhanden ist soll der gesamte menüpunkt rausfliegen.&lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;Der untenstehende code sollte funktionieren - tut es aber nicht...&lt;br /&gt;
&amp;gt; &amp;gt;Weis da jemand bescheid?&lt;br /&gt;
&amp;gt; &amp;gt;...meine langwierige recherchen haben leider auch nichts ergeben ;-((&lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;config.linkVars = L&lt;br /&gt;
&amp;gt; &amp;gt;config.sys_language_uid = 0&lt;br /&gt;
&amp;gt; &amp;gt;config.language = de&lt;br /&gt;
&amp;gt; &amp;gt;config.sys_language_mode = strict&lt;br /&gt;
&amp;gt; &amp;gt;config.sys_language_overlay = hideNonTranslated&lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;gt; &amp;gt;lg niko&lt;br /&gt;
&amp;gt; &amp;gt;  &lt;br /&gt;
&amp;gt; &amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hallo Niko,&lt;br /&gt;
&lt;br /&gt;
vielleicht hilft dir dies weiter:&lt;br /&gt;
&lt;br /&gt;
http://www.datenwolken.de/index.php?id=221&lt;br /&gt;
&lt;br /&gt;
und ein Beispiel hier&lt;br /&gt;
&lt;br /&gt;
http://forum.typo3.fr/index.php?showtopic=4236&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 // User defined&lt;br /&gt;
 USERDEF1 = 1&lt;br /&gt;
 USERDEF1.doNotLinkIt = 1&lt;br /&gt;
 USERDEF1.linkWrap = &amp;lt;li class=&amp;quot;disabled&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
 USERDEF1.stdWrap.override = EN || FR || DE&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
li.disabled dann im stylesheet ausblenden ...&lt;br /&gt;
&lt;br /&gt;
Grüße&lt;br /&gt;
Ines&lt;br /&gt;
&lt;br /&gt;
_______________________________________________&lt;br /&gt;
TYPO3-stuttgart mailing list&lt;br /&gt;
TYPO3-stuttgart@lists.netfielders.de&lt;br /&gt;
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-stuttgart&lt;br /&gt;
&lt;br /&gt;
== Datum und Zeit ==&lt;br /&gt;
Oft ist es schwierig herauszufinden wo gerade die Ausgabe von Zeit und Datum konfiguriert wird.&lt;br /&gt;
&lt;br /&gt;
Wenn eine der Extensions ts_language_de oder ts_language_xx installiert ist wird dort der Standard einer andeen Extension (z.B. tt_news) überschrieben. Diese Einstellung kann wieder im eigenen TS überschrieben werden.&lt;br /&gt;
&lt;br /&gt;
Im Template Analyser kann man die Reihenfolge gut sehen.&lt;br /&gt;
&lt;br /&gt;
Beispiel zur Konfiguration:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Examples:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Your site is a &amp;quot;one-language-site&amp;quot;  and you configured the site-language as default language of TYPO3. If you have a ts_language_xx extension installed, to set some country specific settings for other extensions, I suggest to copy the part which refers to tt_news in your main template or an ext template which is included. Here an example for german settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# set the TYPO3 language to german&lt;br /&gt;
config.language = de&lt;br /&gt;
# set the PHP locale to german&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# tt_news date &amp;amp; time formats&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  archiveTitleCObject {&lt;br /&gt;
    10.strftime = %B - %Y&lt;br /&gt;
  }&lt;br /&gt;
  getRelatedCObject {&lt;br /&gt;
      20.strftime = %d.%m.%Y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displaySingle {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displayLatest {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displayList {&lt;br /&gt;
    date_stdWrap.strftime= %A %d. %B %Y&lt;br /&gt;
    time_stdWrap.strftime= %d.%m.%y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hint: If the locale_all setting &amp;quot;de_DE&amp;quot; don&amp;#039;t work on your WAMP installation, try to set it to &amp;quot;german&amp;quot;. There are some differences in the handling of the php-locale on windows and linux.  &lt;br /&gt;
&lt;br /&gt;
If your site is a multilanguage site like the &amp;quot;one-tree-fits-all-languages&amp;quot; example from the &amp;quot;testsite&amp;quot; package (see: http://typo3.org/documentation/tips-tricks/multi-language-sites-in-typo3/ ) you can add the country specific settings to the language condition in your TS-setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Setting up the language variable &amp;quot;L&amp;quot; to be passed along with links&lt;br /&gt;
config.linkVars = L&lt;br /&gt;
&lt;br /&gt;
# German language, sys_language.uid = 2&lt;br /&gt;
[globalVar = GP:L = 2]&lt;br /&gt;
config.sys_language_uid = 2&lt;br /&gt;
config.language = de&lt;br /&gt;
config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
# set german date &amp;amp; time formats&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  archiveTitleCObject {&lt;br /&gt;
    10.strftime = %B - %Y&lt;br /&gt;
  }&lt;br /&gt;
  getRelatedCObject {&lt;br /&gt;
      20.strftime = %d.%m.%Y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displaySingle {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
    age_stdWrap.age =  Minuten | Stunden | Tage | Jahre&lt;br /&gt;
  }&lt;br /&gt;
  displayLatest {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displayList {&lt;br /&gt;
    date_stdWrap.strftime= %A %d. %B %Y&lt;br /&gt;
    time_stdWrap.strftime= %d.%m.%y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
# Danish language, sys_language.uid = 1&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
config.sys_language_uid = 1&lt;br /&gt;
config.language = dk&lt;br /&gt;
config.locale_all = danish&lt;br /&gt;
&lt;br /&gt;
# set danish date &amp;amp; time formats&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  # sorry, don&amp;#039;t know the danish date &amp;amp; time settings ;-)&lt;br /&gt;
}&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Felder im Backend für mehrere Sprachen benutzen ==&lt;br /&gt;
&lt;br /&gt;
michael schuhmacher wrote:&lt;br /&gt;
&amp;gt; Hallo,&lt;br /&gt;
&amp;gt; weiss jemand wie ich es anstelle, dass bei einer eigenen extension, im backend bestimmte felder grundsaetzlich fuer alle sprachen stehen sollen? so dass man nicht zb. die selben bilder in den uebersetzungen nochmal angeben muss.&lt;br /&gt;
&lt;br /&gt;
habs schon&lt;br /&gt;
&lt;br /&gt;
in meinem fall in ext_tables.php (oder auch in tca.php)&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;l10n_mode&amp;quot; =&amp;gt; &amp;#039;exclude&amp;#039;,&lt;br /&gt;
&lt;br /&gt;
== Sprachlabel für die Frontendausgabe anpassen ==&lt;br /&gt;
Stichwort Language Label, Sprachlabel, Mehrsprachigkeit&lt;br /&gt;
Bei Mehrsprachigen Extensions werden die Ausgaben für die verschiedenen Sprachen in der Regel in der Datei locallang.xml notiert. Oftmals möchte man diese Ausgaben anpassen, ohne diese Datei zu verändern. Denn nach einem Update würden die Änderungen wieder Rückgängig gemacht. Die Labels für die Sprache lassen sich aber auch über eigene Extensions oder über TypoScript anpassen. &lt;br /&gt;
&lt;br /&gt;
Mit TypoScript funktioniert das etwa so:&lt;br /&gt;
&lt;br /&gt;
 plugin.tt_news._LOCAL_LANG.de.more = mehr &amp;gt;&amp;gt;&lt;br /&gt;
also nach dem Schema:&lt;br /&gt;
 plugin.meinPlugin._LOCAL_LANG.sprachkürzel.labelnahme = meinLabel&lt;br /&gt;
&lt;br /&gt;
== Sprachlabel im Backend anpassen ==&lt;br /&gt;
Quelle: http://typo3-freelancer-berlin.de/typo3-blog/artikel/typo3-backendformulare-label-aendern-per-typoscript.html (Zugriff: 09/2011)&lt;br /&gt;
&lt;br /&gt;
Oftmals möchten Kunden die Bezeichnung einzelner Felder im backend anders benannt haben.&lt;br /&gt;
&lt;br /&gt;
pageTSconfig&lt;br /&gt;
&lt;br /&gt;
 // Label in eigener locallang_db.php überschreiben&lt;br /&gt;
 TCEFORM.table.column.label = LLL:typo3conf/override_locallang_db.php:table.column&lt;br /&gt;
&lt;br /&gt;
// Label direkt in pageTSconfig überschreiben&lt;br /&gt;
&lt;br /&gt;
 TCEFORM.table.column.label = My Title&lt;br /&gt;
 TCEFORM.table.column.label.de = Mein Titel&lt;br /&gt;
&lt;br /&gt;
== Weiterleitung in Abhängigkeit der Browsersprache ==&lt;br /&gt;
Damit der Benutzer gleich auf der richtigen Sprache landet kann man die Extension&lt;br /&gt;
rlmp_language_detection benutzen.&lt;br /&gt;
&lt;br /&gt;
Als Erweiterung gibt es noch die Extension Title Language Detection - Extended( sr_language_detect ) von Stanislas Rolland&lt;br /&gt;
=== Konfiguration für One-Tree Konzept ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_rlmplanguagedetection_pi1 {&lt;br /&gt;
  defaultLang = de #ISO-Code der Standardsprache anpasssen&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration für Multi-Tree Konzept ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
plugin.tx_rlmplanguagedetection_pi1 {&lt;br /&gt;
   useOneTreeMethod = 0&lt;br /&gt;
   multipleTreesRootPages&lt;br /&gt;
   {&lt;br /&gt;
      #PID&amp;#039;s der jeweiligen Sprachen anpassen, ggf. neue zufuegen&lt;br /&gt;
      de = 216&lt;br /&gt;
      en = 120&lt;br /&gt;
      es = 482&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
=== Problem mit Browserseitigem Cache bei Einsatz von rlmplanguagedetection ===&lt;br /&gt;
Um die richtigen Werte für das Caching auszugeben muß in der Konfiguration stehen:&lt;br /&gt;
&lt;br /&gt;
Typoscript:	Zeilennummerierung:  An / Aus&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      config.sendCacheHeaders = 1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Funktion bleibt aber unter anderem auf den Seiten wirkungslos, in denen USER_INT Objekte genutzt werden.&lt;br /&gt;
&lt;br /&gt;
Mit der Extention &amp;#039;rlmplanguagedetection&amp;#039; steckt dieses Object in jedem Seiten-Rendering. Das USER_INT Object braucht es aber für die Funktion der Extension.&lt;br /&gt;
&lt;br /&gt;
Da die Extension keine neuen Header mit &amp;#039;Location&amp;#039; und dem GetParameter ausgibt, wenn dieser Parameter bereits in der URL vorhanden ist, braucht es diese USER_INT funktion folglich auch nicht bei jedem Seitenaufruf. Um sie denn in diesem Falle aus den Seiten-Rendering auch auszuschließen habe ich mich für folgendes Konzept entschieden, in dem via TypoScript die Extension einfach ausgeschlossen wird, wenn der GetParameter bereits existiert:&lt;br /&gt;
&lt;br /&gt;
Typoscript:	Zeilennummerierung:  An / Aus&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      # send Cache Headers&lt;br /&gt;
   2.&lt;br /&gt;
      config.sendCacheHeaders = 1&lt;br /&gt;
   3.&lt;br /&gt;
      # disable USER_INT &amp;#039;rlmplanguagedetection&amp;#039; when GP:L exists&lt;br /&gt;
   4.&lt;br /&gt;
      [globalVar=GP:L=0,GP:L&amp;gt;0]&lt;br /&gt;
   5.&lt;br /&gt;
      plugin.tx_rlmplanguagedetection_pi1 &amp;gt;&lt;br /&gt;
   6.&lt;br /&gt;
      [global] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das funktioniert, und damit lässt sich die Extension auch wieder für Proxy- oder Clientseitiges Cachen nutzen.[/TS] &lt;br /&gt;
   3. Testen (Browsersprache ändern. Anleitung unten.)&lt;br /&gt;
   4. Falls es Probleme gibt und die Spracherkennung / -weiterleitung nicht funktioniert, kann folgendes im Setup des Root Templates hinzufügt werden. Hier wird die Erweiterung im Page-Element an Position 1000 inkludiert. Diese Einstellung muss ggf. angepasst werden.&lt;br /&gt;
&lt;br /&gt;
      page.1000 &amp;lt; plugin.tx_rlmplanguagedetection_pi1&lt;br /&gt;
&lt;br /&gt;
Tipps zum Testen&lt;br /&gt;
&lt;br /&gt;
Wie stellt man die Sprache des Browsers um? Das Umstellen der Browsersprache:&lt;br /&gt;
&lt;br /&gt;
Firefox&lt;br /&gt;
&lt;br /&gt;
    * Extras &amp;gt; Einstellungen &amp;gt; Reiter Erweitert &amp;gt; Reiter Allgemein (Windowsversion) oder&lt;br /&gt;
      Bearbeiten &amp;gt; Einstellungen &amp;gt; Reiter Erweitert &amp;gt; Reiter Allgemein (Linuxversion)&lt;br /&gt;
    * im Unteren Bereich befindet sich der Abschnitt Sprache, in dem man über den Button &amp;quot;wählen&amp;quot; ein oder mehrere neue Sprachen hinzufügen kann. Die Sprache in der getestet wird steht immer oben.&lt;br /&gt;
&lt;br /&gt;
Internet Explorer IE&lt;br /&gt;
&lt;br /&gt;
    * Extras &amp;gt; Internetoptionen&lt;br /&gt;
    * im Unteren Bereich befindet sich der Button Sprache, mit dem man ein oder mehrere neue Sprachen hinzufügen kann. Die Sprache in der getestet wird steht immer oben.&lt;br /&gt;
&lt;br /&gt;
Wenn es nicht funktioniert&lt;br /&gt;
&lt;br /&gt;
Wenn es nicht funktioniert hat man eventuell die Sprachen nicht richtig eingerichtet. Hier sollte man noch mal die Konfiguration überprüfen.&lt;br /&gt;
Anleitung von rainer-grundel Datum des Zugriffs 1.4.2008, http://www.rainer-grundel.de/wissensdb/typo3/empfohlene_extensions/artikel/article/anzeige_der_website_nach_browsersprache.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mehrsprachigkeit und TemplaVoila ==&lt;br /&gt;
Wenn man eine mehrsprachige Seite mit TemplaVoila nutzt. Kann man das Verhalten in der Datenstruktur der TemplaVoila Templates steuern.&lt;br /&gt;
&lt;br /&gt;
TemplaVoila nutzt zur Darstellung seiner Inhalte Flexforms. Die dazugehörigen Parameter für die Darstellung der Mehrsprachigen Datensätze im Backend steuert man daher mit der Flexform T3DataStructure. Konkret sind hier folgende XML-Tags von Bedeutung:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;meta type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;langDisable type=&amp;quot;integer&amp;quot;&amp;gt;[0|1]&amp;lt;/langDisable&amp;gt;&lt;br /&gt;
        &amp;lt;langChildren type=&amp;quot;integer&amp;quot;&amp;gt;[0|1]&amp;lt;/langChildren&amp;gt;&lt;br /&gt;
    &amp;lt;/meta&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wie gezeigt können diese also entweder den Wert 0 oder 1 enthalten&lt;br /&gt;
===langDisable===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; Sprachsteuerung durch das Flexform, technisch gesehen bedeutet das, daß die Übersetzungen im Flexform-Datensatz gespeichert werden. Siehe auch langChildren&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; Die Sprachsteuerung durch das Flexform ist abgeschaltet. D.h. Typo3 übernimmt das selbst. Dies ist die geeignete Einstellung für Flexible Content Elemente die zur Gliederung (z.B. 2Spalter) genutzt werden.&lt;br /&gt;
&lt;br /&gt;
===langChildren===&lt;br /&gt;
Hat nur Auswirkung wenn langDisable auf 0 steht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; Die Inhalte der Flexforms lassen sich Direkt übersetzen (Flagge klicken) und werden zusammengezoge im Backend dargestellt.&lt;br /&gt;
Im Frontend wird die Standardsprache verwendet wenn keine Übersetzung vorhanden ist.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; Keine Direkte übersetzung. Das komplette Flexform wird übersetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Seiten ohne Übersetzung im Menü verstecken ==&lt;br /&gt;
Quelle:http://blog.undkonsorten.com/typo3-seite-uebersetzung-menue-verstecken&lt;br /&gt;
&lt;br /&gt;
Datum des Zugriffs: 29.4.2009&lt;br /&gt;
&lt;br /&gt;
16. Januar 2008&lt;br /&gt;
&lt;br /&gt;
Für mehrsprachige TYPO3-Webseiten im One-Tree-Konzept werden standardgemäß die immer alle Menüeintäge in der Standardsprache ausgegeben, insofern für diese keine Übersetzung angelegt wurde. In der Regel ist eine Navigation in zwei verschiedenen Sprachen nicht erwünscht und man möchte Seiten ohne Übersetzungen verstecken. Es gibt zwei Wege, dies umzusetzen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung über das TYPO3-Backend&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Am einfachsten lässen sich Seiten ohne Übersetzungen ausblenden, indem man unter Seiteneigenschaften &amp;gt; Spracheinstellungen das Verstecke Seiten wenn keine Übersetzung… mit einem kleinen Häckchen versieht.&lt;br /&gt;
&lt;br /&gt;
TYPO3: Sprache verstecken, wenn keine Übersetzung existiert&lt;br /&gt;
&lt;br /&gt;
Wenn für diese Seite - angenommen sie sei deutsche - keine Übersetzung angelegt wurde, man sich aber z.B. gerade im Frontend im englischen Bereich befindet, so wird diese Seite nicht angezeigt.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lösung per Installtool bzw. localconf.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Im Install-Tool &amp;gt; All Configuration gibt es den Eintrag [hidePagesIfNotTranslatedByDefault] . Wenn man hier den Wert TRUE einträgt werden alle Seiten ohne Übersetzung per default versteckt. Dies entspricht folgendem Eintrag in der localconf:&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;FE&amp;#039;][&amp;#039;hidePagesIfNotTranslatedByDefault&amp;#039;] = ‘TRUE’;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Standard-Übersetzung im Menü einblenden per TypoScript&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Man kann per TypoScript-Setup umgekehrt für die Menükonfiguration angeben, dass Seiten generell in der default-Sprache ausgegeben werden, insofern keine Übersetzung vorliegt. Das sieht dann so aus:&lt;br /&gt;
&lt;br /&gt;
 temp.navigation = HMENU&lt;br /&gt;
 temp.navigation {&lt;br /&gt;
 …&lt;br /&gt;
 protectLvar = all&lt;br /&gt;
 …&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
protectLvar kennt die Werte 1 und all. Mit all wird der Wert des Kontrollkästchens überschrieben und Seiten ohne Übersetzungen werden immer ausgegegen.&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Domains_einrichten&amp;diff=19239</id>
		<title>TYPO3 - Domains einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Domains_einrichten&amp;diff=19239"/>
		<updated>2012-09-05T14:48:57Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Normales einrichten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
=== Normales einrichten ===&lt;br /&gt;
Domain: www.dekra-siegel.de&lt;br /&gt;
In Links immer diese Domain voranstellen: aktiviert&lt;br /&gt;
&lt;br /&gt;
Domain: dekra-siegel.de&lt;br /&gt;
In Links immer diese Domain voranstellen: deaktiviert&lt;br /&gt;
&lt;br /&gt;
=== Umleitung ===&lt;br /&gt;
Domain: www.dekra-seal.com&lt;br /&gt;
&lt;br /&gt;
Umleiten nach: http://www.dekra-siegel.de/index.php?id=10&amp;amp;L=1&lt;br /&gt;
&lt;br /&gt;
Art: moved permanently&lt;br /&gt;
&lt;br /&gt;
In Links immer diese Domain voranstellen: Deaktiviert&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Domains_einrichten&amp;diff=19238</id>
		<title>TYPO3 - Domains einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Domains_einrichten&amp;diff=19238"/>
		<updated>2012-09-05T14:48:15Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Umleitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
=== Normales einrichten ===&lt;br /&gt;
Domain: www.dekra-siegel.de&lt;br /&gt;
Domain: dekra-siegel.de&lt;br /&gt;
&lt;br /&gt;
=== Umleitung ===&lt;br /&gt;
Domain: www.dekra-seal.com&lt;br /&gt;
&lt;br /&gt;
Umleiten nach: http://www.dekra-siegel.de/index.php?id=10&amp;amp;L=1&lt;br /&gt;
&lt;br /&gt;
Art: moved permanently&lt;br /&gt;
&lt;br /&gt;
In Links immer diese Domain voranstellen: Deaktiviert&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Domains_einrichten&amp;diff=19237</id>
		<title>TYPO3 - Domains einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Domains_einrichten&amp;diff=19237"/>
		<updated>2012-09-05T14:46:23Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: Die Seite wurde neu angelegt: „ == Beispiele ==  === Normales einrichten === Domain: www.dekra-siegel.de Domain: dekra-siegel.de  === Umleitung === Domain: www.dekra-seal.com Umleiten nach: htt…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
=== Normales einrichten ===&lt;br /&gt;
Domain: www.dekra-siegel.de&lt;br /&gt;
Domain: dekra-siegel.de&lt;br /&gt;
&lt;br /&gt;
=== Umleitung ===&lt;br /&gt;
Domain: www.dekra-seal.com&lt;br /&gt;
Umleiten nach: http://www.dekra-siegel.de/index.php?id=10&amp;amp;L=1&lt;br /&gt;
Art: moved permanently&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Backend_anpassen&amp;diff=19236</id>
		<title>Typo3 - Backend anpassen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Backend_anpassen&amp;diff=19236"/>
		<updated>2012-09-05T07:40:20Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Spalten anpassen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemein ==&lt;br /&gt;
=== Übersicht ===&lt;br /&gt;
&lt;br /&gt;
Das Backend läßt sich in folgenden Bereichen anpassen:&lt;br /&gt;
* Welche Felder sieht ein Redakteur&lt;br /&gt;
* Bezeichnungen der Felder anpassen &lt;br /&gt;
* Welche Spalten sieht ein Redakteur und welche Bezeichnungen tragen diese&lt;br /&gt;
* Seit Verison 4.5 kann man auch sogenannte Backend Layouts erstellen. Dabei sind die Spalten nicht mehr zwingend von links nach rechts angeordnet, sonder es sind auch komplexere Strukturen möglich.&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
&lt;br /&gt;
 ------ HEADERSPALTE ------&lt;br /&gt;
 --- LINKS ---   ---RECHTS---&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Felder im Backend&amp;#039;&amp;#039;&amp;#039; einem Redakteur zur Verfügung stehen, läßt sich relativ genau mit den Allow Exclude Fields in der Benutzerkonfiguration und der folgenden Eigenschaft einstellen Allgemein: TCEFORM.tabellenname.feldname.disabled = 1&lt;br /&gt;
&lt;br /&gt;
 TCEFORM.tt_content.header_position.disabled = 1 &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Inhaltsspalten im Backend:&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
 mod.SHARED.colPos_list = 0,2&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Einträge in den Feldern&amp;#039;&amp;#039;&amp;#039; entfernen (z.B. in Select Boxen - Um die WErte herauszufinden das Element verwenden und in der DB nach den Einträgen suchen) &lt;br /&gt;
&lt;br /&gt;
 TCEFORM.tt_content.header_layout.removeItems = 4,5&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Beschriftungen&amp;#039;&amp;#039;&amp;#039; (Labels verändern)&lt;br /&gt;
 &lt;br /&gt;
 TCEFORM.tt_content.header_layout.altLabels{&lt;br /&gt;
    1 = Überschrift 1&lt;br /&gt;
    2 = Überschrift 2&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
Besser aber mit locallang Datei arbeiten.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Neues Label&amp;#039;&amp;#039;&amp;#039; hinzufügen&lt;br /&gt;
&lt;br /&gt;
 TCEFORM.pages.layout.addItem.4 = Layout 4&lt;br /&gt;
&lt;br /&gt;
=== Backend Layout erstellen ===&lt;br /&gt;
==== Links ====&lt;br /&gt;
http://blog.undkonsorten.com/typo3-4-5-tutorial-backend-layout-nutzen (Zugriff: 1/2012)&lt;br /&gt;
&lt;br /&gt;
==== Kurzbeschreibung ====&lt;br /&gt;
&lt;br /&gt;
1. Ordner für Backend Layout Datensatz erstellen&lt;br /&gt;
2. Datensatz Backend-Layout erstellen. Der Wizard hilft dabei. Im Ergebnis entsteht die Konfiguration die z.B. für ein 3-teiliges Layout mit Kopfspalte und darunter 2 Inhaltsspalten so aussehen könnte:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
backend_layout {&lt;br /&gt;
   colCount = 2&lt;br /&gt;
   rowCount = 2&lt;br /&gt;
   rows {&lt;br /&gt;
      1 {&lt;br /&gt;
         columns {&lt;br /&gt;
            1 {&lt;br /&gt;
               name = Top Wide&lt;br /&gt;
               colspan = 2&lt;br /&gt;
               colPos = 1&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
      2 {&lt;br /&gt;
         columns {&lt;br /&gt;
            1 {&lt;br /&gt;
               name = Bottom Left&lt;br /&gt;
               colPos = 0&lt;br /&gt;
            }&lt;br /&gt;
            2 {&lt;br /&gt;
               name = Bottom Right&lt;br /&gt;
               colPos = 2&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt kann man in den Seiteneigenschaften das Layout für die jeweilige Seite oder deren Unterseiten auswählen.&lt;br /&gt;
&lt;br /&gt;
===Erläuterungen===&lt;br /&gt;
Man kann hierbei verschiedene Kategorien unterscheiden:&lt;br /&gt;
# Einstellen welche Elemente (Dropdowns, Felder,...) überhaupt Zugänglich sein sollen.&lt;br /&gt;
# Welche Einträge sind in diesen möglich (z.B. Einträge im Dropdown) bzw. welche Voreinstellungen werden ausgeführt und wie lauten die Bezeichnungen der Einträge.&lt;br /&gt;
&lt;br /&gt;
=== Welche Elemente sollen sichtbar sein === &lt;br /&gt;
Das läßt sich in der Benutzereinstellung in der Abteilung Exclude Fields einstellen. In der Benutzereinstellung lassen sich auch die Module etc. die der Benutzer sehen soll einstellen.&lt;br /&gt;
&lt;br /&gt;
=== Feintuning - Voreinstellungen ===&lt;br /&gt;
Das meiste läßt sich über Einträge im TSConfig Feld bei den Seiteneinstellungen oder im TSConfig Feld bei den Benutzereinstellungen regeln (Page TSConfig bzw. User TSConfig).&lt;br /&gt;
&lt;br /&gt;
Über den Knopf rechts von diesen Feldern gibt es einige Infos zu den zur Verfügung stehenden Objekten.&lt;br /&gt;
&lt;br /&gt;
Eine wichtige Rolle kommt dabei TCEFORM zu, denn die meisten Einstellungen folgen der Syntax:&lt;br /&gt;
 TCEFORM.[tabelle].[feld].[...] = Wert&lt;br /&gt;
&lt;br /&gt;
Beispiel: jedes Content Element soll Standardmäßig versteckt sein:&lt;br /&gt;
&lt;br /&gt;
Page TSConfig&lt;br /&gt;
 TCAdefaults.tt_content.hidden = 1&lt;br /&gt;
&lt;br /&gt;
== Bezeichnungen der Felder im Backend ==&lt;br /&gt;
Das läßt sich in der Benutzerkonfiguration mittels UserTS im UserTS Field oder auch in der Seiteneinstellung im PageTS machen.&lt;br /&gt;
&lt;br /&gt;
Der Schlüssel für die Bezeichnungen ist das Objekt TCEFORM&lt;br /&gt;
&lt;br /&gt;
Allgemein:&lt;br /&gt;
 TCEFORM.tabellenname.feldname.typname.Nr. = neuer Wert&lt;br /&gt;
Diese Werte lassen sich über den HTML Code der Backendseite leicht herausfinden.&lt;br /&gt;
Beim Eintragen im UserTS oder PageTS tut man sich leichter, wenn man hier eine externe TypoScript Datei einbindet.:&lt;br /&gt;
 &amp;lt;INCLUDE TYPOSCRIPT: source=&amp;quot;FILE: fileadmin/templates/inc/myUserTS.txt&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In dieser Datei befindet sich dann das eigentliche TypoScript z.B:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TCEFORM{&lt;br /&gt;
   pages{&lt;br /&gt;
      # z.B. das Feld layout ganz ein oder ausschalten&lt;br /&gt;
      layout.disabled = 0&lt;br /&gt;
      # Einträge umbenennen...  &lt;br /&gt;
      layout.altLabels{&lt;br /&gt;
         1=rot&lt;br /&gt;
         2=blau&lt;br /&gt;
      }&lt;br /&gt;
      # der Eintrag 0 soll weg...&lt;br /&gt;
      layout.removeItems = 0&lt;br /&gt;
      layout.addItems.4 = New Layout Item&lt;br /&gt;
&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel: Überschriften&lt;br /&gt;
Diese Einstellungen werden im TSConfig Feld der &amp;#039;&amp;#039;&amp;#039;Benutzerkonfiguration&amp;#039;&amp;#039;&amp;#039; vorgenommen !&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Dropdown-Feld für die Überschrift (Header) anpassen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
So kann man die überflüssigen Menüeinträge im Feld Header löschen(100 steht für den Wert versteckt):&lt;br /&gt;
 TCEFORM.tt_content.header_layout.removeItems = 2,3,4,5,100&lt;br /&gt;
Trick: Wenn man nicht weiß welchen Wert ein eintrag hat, einfach diesen Wert verwenden und in der Datenbank nachgucken.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Überschreiben der Menüeinträge:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
User TSconfig&lt;br /&gt;
 TCEFORM.tt_content.header_layout.altLabels.0 = Überschrift Text&lt;br /&gt;
 TCEFORM.tt_content.header_layout.altLabels.1 = Überschrift Grafik&lt;br /&gt;
&lt;br /&gt;
=== Dem Layoutfeld sagen was es machen soll ===&lt;br /&gt;
In neueren Versionen wird in der Extension css_styled_content schon eine entsprechende Klasse um den Inhalt gewrapped, die man dann mit css Stylen kann. Man kann das aber auch selbst machen. Das funktioniert mit Conditions in der Form:&lt;br /&gt;
 page.5 = TEXT&lt;br /&gt;
 [globalVar TSREF:page|layout = 1]&lt;br /&gt;
 page.5.value = Layout 1&lt;br /&gt;
 [globalVar TSREF:page|layout = 2]&lt;br /&gt;
 page.5.value = Layout2&lt;br /&gt;
 [global]&lt;br /&gt;
== Module im Backend anpassen ==&lt;br /&gt;
Die Module lassen sich über die Access Listen in der Benutzergruppen-Konfiguration für alle Gruppen gezielt ein- und ausblenden. Weiterreichende Einstellungen kann man im PageTS Config oder im UserTS Config (besser) vornehmen. Die Einstellungen im UserTS Config überschreiben die mit PageTS&lt;br /&gt;
&lt;br /&gt;
=== Uploadfeld mit Durchsuchen Button ausblenden ===&lt;br /&gt;
Bei der Arbeit mit dem DAM macht der Durchsuchen Button keinen Sinn bei Text mit Bild funktioniert das so:&lt;br /&gt;
&lt;br /&gt;
 setup.edit_docModuleUpload = 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Einträge im Dropdownmenü der Module ausblendne ===&lt;br /&gt;
Einige Module haben ein Untermenü, dessen Einträge oben rechts in einem Dropdownfeld ausgewählt werden können. Das Modul Web &amp;gt; Seite enthält hier z.B. die Einträge Spalten, Schnelleingabe, Sprachen (wenn es welche gibt) und Seiteninformationen.&lt;br /&gt;
&lt;br /&gt;
Um die Einträge auszublenden, muß man Wissen ob dies das Modul überhaupt zulässt und was der Schlüssel des Menüeintrages ist.&lt;br /&gt;
&lt;br /&gt;
Beispiel - Ausblenden des Eintrags &amp;#039;&amp;#039;PageTSConfig&amp;#039;&amp;#039; im Modul Web&amp;gt;Info &lt;br /&gt;
&lt;br /&gt;
 mod.web_page.menu.function.tx_infopagetsconfig_webinfo = 0&lt;br /&gt;
&lt;br /&gt;
Beispiel - Ausblenden des Eintrags &amp;#039;&amp;#039;Schnellzugriff&amp;#039;&amp;#039; im Modul Web &amp;gt; Seite&lt;br /&gt;
&lt;br /&gt;
 mod.web_layout.menu.function.0 = 0&lt;br /&gt;
&lt;br /&gt;
== Frames (Rahmen) anpassen ==&lt;br /&gt;
&lt;br /&gt;
Infos gibt es hier: [[Typo3 - Rahmen (Frames)]]&lt;br /&gt;
&lt;br /&gt;
== Spalten anpassen ==&lt;br /&gt;
=== Welche Spalten sollen sichtbar sein ===&lt;br /&gt;
&lt;br /&gt;
Das muß an zwei Stellen eingestellt werden. &lt;br /&gt;
&lt;br /&gt;
1. für die &amp;#039;&amp;#039;&amp;#039;Ansicht im Spaltenmodus&amp;#039;&amp;#039;&amp;#039;. Das läßt sich im Seitenmodul im TSConfig-Feld der Root Seite (Page TSConfig)einstellen (Theoretisch auch für einen Benutzer im User TSConfig-Feld:&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
 mod.SHARED.colPos_list = 0,3&lt;br /&gt;
so werden nur noch die Spalten Normal und Rechts angezeigt (0 ist Spalte Normal dann von links nach rechts durchnummeriert)&lt;br /&gt;
&lt;br /&gt;
2. muß das &amp;#039;&amp;#039;&amp;#039;DropDown-Feld&amp;#039;&amp;#039;&amp;#039; wenn man Seiteninhalte erstellt angepasst werden. Dies funktioniert über TCEFORM:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 TCEFORM.tt_content.colPos.removeItems = 1,3&lt;br /&gt;
&lt;br /&gt;
== Spalten über typo3conf/extTables.php anpassen ==&lt;br /&gt;
http://www.sk-typo3.de/Spalten-aendern-und-umbenennen.155.0.html&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 typo3conf/extTables.php&lt;br /&gt;
&lt;br /&gt;
Der Inhalt bei z.B. 6 Spalten sieht dann so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
t3lib_extMgm::addPageTSConfig(&amp;#039;  &lt;br /&gt;
mod.SHARED.colPos_list = 0,1,2,3,4,5  &lt;br /&gt;
&amp;#039;);  &lt;br /&gt;
 &lt;br /&gt;
$TCA[&amp;quot;tt_content&amp;quot;][&amp;quot;columns&amp;quot;][&amp;quot;colPos&amp;quot;][&amp;quot;config&amp;quot;][&amp;quot;items&amp;quot;] = array (  &lt;br /&gt;
&amp;quot;1&amp;quot; =&amp;gt; array (&amp;quot;Links||Links||||||||&amp;quot;,&amp;quot;1&amp;quot;),  &lt;br /&gt;
&amp;quot;0&amp;quot; =&amp;gt; array (&amp;quot;Mitte||Mitte||||||||&amp;quot;,&amp;quot;0&amp;quot;),  &lt;br /&gt;
&amp;quot;3&amp;quot; =&amp;gt; array (&amp;quot;Rechts||Rechts||||||||&amp;quot;,&amp;quot;3&amp;quot;),  &lt;br /&gt;
&amp;quot;2&amp;quot; =&amp;gt; array (&amp;quot;Unten Links||Unten Links||||||||&amp;quot;,&amp;quot;2&amp;quot;),  &lt;br /&gt;
&amp;quot;4&amp;quot; =&amp;gt; array (&amp;quot;Unten Rechts||Unten Rechts||||||||&amp;quot;,&amp;quot;4&amp;quot;),  &lt;br /&gt;
&amp;quot;5&amp;quot; =&amp;gt; array (&amp;quot;Fusszeile||Fusszeile||||||||&amp;quot;,&amp;quot;5&amp;quot;)  &lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
im eigentlichen Array erkennt man, das 0 dem Hauptcontent zugeordntet ist, das entspricht dann auch der col im tt_content.&lt;br /&gt;
&lt;br /&gt;
Damit das ganze auch wirksam wird, muss noch die localconf.php editiert werden.&lt;br /&gt;
&lt;br /&gt;
Dort wird folgende Zeile eingefügt:&lt;br /&gt;
&lt;br /&gt;
 $typo_db_extTableDef_script = &amp;#039;extTables.php&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
Die Änderung wird sofort sichtbar &lt;br /&gt;
&lt;br /&gt;
Nachteil: Funktioniert nur Global nicht auf Seitenebene.&lt;br /&gt;
&lt;br /&gt;
== Weitere Infos ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - TSConfig]]&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Illustrator_-_Imagemap_erzeugen&amp;diff=19235</id>
		<title>Illustrator - Imagemap erzeugen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Illustrator_-_Imagemap_erzeugen&amp;diff=19235"/>
		<updated>2012-08-02T09:26:05Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Image Maps mit Adobe Illustrator erzeugen. ==&lt;br /&gt;
&lt;br /&gt;
Illustrator kann Polygone oder Rechtecke nutzen. Leider keine Kreise - zumindest habe ich diese Option nicht gefunden. Im Zweifel könnte man den Code von Hand modifizieren.&lt;br /&gt;
&lt;br /&gt;
# Vektor-Polygonform erzeugen und auswählen&lt;br /&gt;
# Palette &amp;quot;Attributes&amp;quot; aufrufen und dort bei Image Map Polygon oder Rectangle auswählen sowie eine URL angeben(oder auch nur etwas wie #myTarget).&lt;br /&gt;
# Save for Web and Devices mit Option Images and HTML oder HTML&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Illustrator_-_Imagemap_erzeugen&amp;diff=19234</id>
		<title>Illustrator - Imagemap erzeugen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Illustrator_-_Imagemap_erzeugen&amp;diff=19234"/>
		<updated>2012-08-02T09:25:49Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: Die Seite wurde neu angelegt: „Image Maps mit Adobe Illustrator erzeugen. Illustrator kann Polygone oder Rechtecke nutzen. Leider keine Kreise - zumindest habe ich diese Option nicht gefunden. …“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Image Maps mit Adobe Illustrator erzeugen.&lt;br /&gt;
Illustrator kann Polygone oder Rechtecke nutzen. Leider keine Kreise - zumindest habe ich diese Option nicht gefunden. Im Zweifel könnte man den Code von Hand modifizieren.&lt;br /&gt;
&lt;br /&gt;
# Vektor-Polygonform erzeugen und auswählen&lt;br /&gt;
&lt;br /&gt;
# Palette &amp;quot;Attributes&amp;quot; aufrufen und dort bei Image Map Polygon oder Rectangle auswählen sowie eine URL angeben(oder auch nur etwas wie #myTarget).&lt;br /&gt;
&lt;br /&gt;
# Save for Web and Devices mit Option Images and HTML oder HTML&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JQuery_Imagemap_mit_Maphilighter&amp;diff=19233</id>
		<title>JQuery Imagemap mit Maphilighter</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JQuery_Imagemap_mit_Maphilighter&amp;diff=19233"/>
		<updated>2012-08-02T09:16:34Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Komplettes Beispiel&lt;br /&gt;
&lt;br /&gt;
[[Media:Maphilight-sample01.zip]]&lt;br /&gt;
&lt;br /&gt;
Mit dem Maphilight Plugin für jQuery kann man schöne Imagemaps basteln.&lt;br /&gt;
&lt;br /&gt;
Zum Erstellen der Imagemap kann man Inkscape oder Adobe Illustrator benutzen. Diese können aus Vektorformen direkt die Polygone oder Rechtecke erzeugen. So kann man auch einfach mal etwas skalieren. Auch mit alten Versionen von Photoshop geht es oder mit Gimp. &lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Illustrator - Imagemap erzeugen]]&lt;br /&gt;
&lt;br /&gt;
Das Maphilight Plugin erzeugt einen Rollover Effekt mit einer Randfarbe, Füllfarbe, Schatten und Transparenzen. Es kann auch eine Fade in und Fade out Effekt beim Rollover erzeugen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;HTML Code Beispiel (ist im Komplettbeispiel enthalten):&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Print&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;js/jquery.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;js/jquery.maphilight.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
$(function() {&lt;br /&gt;
	$.fn.maphilight.defaults = {&lt;br /&gt;
		fill: true,&lt;br /&gt;
		fillColor: &amp;#039;ffffff&amp;#039;,&lt;br /&gt;
		fillOpacity: 0.3,&lt;br /&gt;
		stroke: true,&lt;br /&gt;
		strokeColor: &amp;#039;ffffff&amp;#039;,&lt;br /&gt;
		strokeOpacity: 1,&lt;br /&gt;
		strokeWidth: 1,&lt;br /&gt;
		fade: true,&lt;br /&gt;
		alwaysOn: false,&lt;br /&gt;
		neverOn: false,&lt;br /&gt;
		groupBy: false,&lt;br /&gt;
		wrapClass: true,&lt;br /&gt;
		shadow: false,&lt;br /&gt;
		shadowX: 0,&lt;br /&gt;
		shadowY: 0,&lt;br /&gt;
		shadowRadius: 6,&lt;br /&gt;
		shadowColor: &amp;#039;000000&amp;#039;,&lt;br /&gt;
		shadowOpacity: 0.8,&lt;br /&gt;
		shadowPosition: &amp;#039;outside&amp;#039;,&lt;br /&gt;
		shadowFrom: false&lt;br /&gt;
	}&lt;br /&gt;
	$(&amp;#039;.map&amp;#039;).maphilight();&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body bgcolor=&amp;quot;#FFFFFF&amp;quot; leftmargin=&amp;quot;0&amp;quot; topmargin=&amp;quot;0&amp;quot; marginwidth=&amp;quot;0&amp;quot; marginheight=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;map&amp;quot; style=&amp;quot;display: block; background: url(&amp;quot;images/dpetry-world.png&amp;quot;) repeat scroll 0% 0% transparent; position: relative; padding: 0px; width: 960px; height: 420px;&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;canvas width=&amp;quot;960&amp;quot; height=&amp;quot;420&amp;quot; style=&amp;quot;width: 960px; height: 420px; position: absolute; left: 0px; top: 0px; padding: 0px; border: 0px none;&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;&lt;br /&gt;
		&amp;lt;img class=&amp;quot;map maphilighted&amp;quot; src=&amp;quot;images/dpetry-world.png&amp;quot; width=&amp;quot;960&amp;quot; height=&amp;quot;420&amp;quot; border=&amp;quot;0&amp;quot; alt=&amp;quot;&amp;quot; usemap=&amp;quot;#dpetry_world_Map&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ImageReady Slices (dpetry-karte.ai) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;map name=&amp;quot;dpetry_world_Map&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;area shape=&amp;quot;rect&amp;quot; alt=&amp;quot;&amp;quot; coords=&amp;quot;619,183,735,239&amp;quot; href=&amp;quot;#asia&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;area shape=&amp;quot;rect&amp;quot; alt=&amp;quot;&amp;quot; coords=&amp;quot;432,123,548,179&amp;quot; href=&amp;quot;europe&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;area shape=&amp;quot;rect&amp;quot; alt=&amp;quot;&amp;quot; coords=&amp;quot;500,183,616,239&amp;quot; href=&amp;quot;#middleeast&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;area shape=&amp;quot;rect&amp;quot; alt=&amp;quot;&amp;quot; coords=&amp;quot;381,183,497,239&amp;quot; href=&amp;quot;#northafrica&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;area shape=&amp;quot;rect&amp;quot; alt=&amp;quot;&amp;quot; coords=&amp;quot;296,258,412,314&amp;quot; href=&amp;quot;#southamerica&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/map&amp;gt;&lt;br /&gt;
&amp;lt;!-- End ImageReady Slices --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=CSS_-_Snippets&amp;diff=19232</id>
		<title>CSS - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=CSS_-_Snippets&amp;diff=19232"/>
		<updated>2012-08-02T05:55:40Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Fixes Seitenlayout &amp;quot;springt&amp;quot; wegen Scrollbalken ==&lt;br /&gt;
Entweder minimale Höhe definieren oder den Scrollbalken immer anzeigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*not valid but works in all browsers exept Opera*/&lt;br /&gt;
&lt;br /&gt;
html {&lt;br /&gt;
       overflow-y: scroll;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* only Mozilla (IE has always Scrollbars)*/&lt;br /&gt;
overflow: -moz-scrollbars-vertical;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Radius ==&lt;br /&gt;
&lt;br /&gt;
Vorsicht bei Bildern. Diese werden nicht beschnitten (Stand 2011)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-webkit-border-radius: 40px;&lt;br /&gt;
-moz-border-radius: 40px;&lt;br /&gt;
border-radius: 40px;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schatten ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.schatten&lt;br /&gt;
{&lt;br /&gt;
box-shadow: 3px 3px 5px #888;&lt;br /&gt;
-webkit-box-shadow: 3px 3px 5px #888;&lt;br /&gt;
-moz-box-shadow: 3px 3px 5px #888;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Werte bezeichnen: Versatz in x-Richtung, y-Richtung, den Wert für das Weichzeichnen und natürlich die Schattenfarbe.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Schatten auf alten IE&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Mit Microsoft Filter Funktionen. Es gibt zwei unterschiedliche Schatten Filter. Beide liefern ein eher mäßiges Ergebnis.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.ie-schlagschatten&lt;br /&gt;
{&lt;br /&gt;
filter:progid:dxImageTransform.Microsoft.dropShadow(color=#8888,offX=3,offY=3 positive=true);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ie-schatten&lt;br /&gt;
{&lt;br /&gt;
filter:progid:DXImageTransform.Microsoft.Shadow(color=&amp;#039;#8888&amp;#039;,direction=&amp;#039;120&amp;#039;,strength=&amp;#039;3&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=CSS_-_Hacks&amp;diff=19231</id>
		<title>CSS - Hacks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=CSS_-_Hacks&amp;diff=19231"/>
		<updated>2012-08-01T16:31:14Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Sternchen Hack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== IE Hacks und IE Switches ==&lt;br /&gt;
&lt;br /&gt;
Wie man dem Internet Explorer Sonderregeln beibringt.&lt;br /&gt;
&lt;br /&gt;
===Internet Explorer Conditions===&lt;br /&gt;
&lt;br /&gt;
Generell ist die offizielle von MS empfohlene Methode eine Condition der Form:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;!--[if IE]&amp;gt;&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;iehacks.css&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;![endif]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--[if IE 5]&amp;gt;&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;iehacks-5.css&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;![endif]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!--[if lt IE 8]&amp;gt;&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;iehacks.css&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;![endif]--&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lt bedeutet less than. Die Regeln betreffen also aller Versionen unter IE 8 (die es im Moment noch nicht gibt;-) Außerdem gibts noch lte (lower than and equal) und gte (greater than and equal)&lt;br /&gt;
important Hack&lt;br /&gt;
&lt;br /&gt;
Unter Umständen kann auch die important- Klausel weiterhelfen, die der IE nicht kennt, wohl aber FF/ Opera/ Konqueror; zudem macht man sich dabei keines neuen Bugs zu Hilfe.&lt;br /&gt;
&lt;br /&gt;
Wichtig: Immer erst die important- Klausel!&lt;br /&gt;
&lt;br /&gt;
Die Klausel bewirkt bei entsprechend kompatiblen Browsern, dass diese Eigenschaft nachfolgend nicht mehr überschrieben werden kann.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. box { &lt;br /&gt;
    min-height: 300px; &lt;br /&gt;
    height: auto !important; &lt;br /&gt;
    height: 300px; &lt;br /&gt;
    ... &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Star-Plus-HTML-Hack (IE7) ===&lt;br /&gt;
Quelle: http://www.css-hack.de/Internet+Explorer/IE+7 (Zugriff: 08/2012)&lt;br /&gt;
&lt;br /&gt;
Dem Universal-Selektor * wird ein Plus-Zeichen hinzugefügt. Diese Schreibweise wird lediglich vom IE 7 interpretiert!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* + html div {&lt;br /&gt;
   width : 20em;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sternchen Hack (IE5,IE6) ===&lt;br /&gt;
&lt;br /&gt;
Anwendung: Anweisungen nur für IE 5 und 6 z.B.&lt;br /&gt;
&lt;br /&gt;
 * html {...} /*das sehen nur IEs*/&lt;br /&gt;
&lt;br /&gt;
Zukunftssicher: funktioniert nicht mehr bei IE 7&lt;br /&gt;
&lt;br /&gt;
=== Box Model Hack / Tantek Hack ===&lt;br /&gt;
&lt;br /&gt;
IE 5 und IE 5.5&lt;br /&gt;
&lt;br /&gt;
Anwendung: Box Model Fehler von IE 5/5.5 korrigieren&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#kasten{&lt;br /&gt;
    width: 360px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
* html #kasten{       /*Das beachten nur IEs*/&lt;br /&gt;
    width: 400px;       /* der &amp;#039;Falsche&amp;#039; Wert für alte IEs */&lt;br /&gt;
    w\idth: 360px;      /* das sieht nur der IE 6 */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Zukunftssicher: ja&lt;br /&gt;
&lt;br /&gt;
===Kind Selektor Hack===&lt;br /&gt;
&lt;br /&gt;
IE versteht den KindSelektor nicht. Z.B.&lt;br /&gt;
&lt;br /&gt;
 body &amp;gt; p &lt;br /&gt;
&lt;br /&gt;
Anwendung: Höhe nur für IE setzen (IE braucht Höhenangaben z.B. wg. Inline Padding Bug.)&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#inhalt {height: 100px;}  /*für IE*/&lt;br /&gt;
html&amp;gt;body #inhalt {       /*für andere Browser zurücksetzen*/&lt;br /&gt;
   height: auto&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Browser Bugs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IE:mac CSS overflow-Bug&lt;br /&gt;
&lt;br /&gt;
Der Internet Explorer für Mac stürzt ab, wenn man overflow: auto auf ein Input-Element des Typs Submit anwendet und auf die Schaltfläche klickt.&lt;br /&gt;
&lt;br /&gt;
Lösung/Fix: Statt overflow: auto muss overflow: visible zugewiesen werden.&lt;br /&gt;
&lt;br /&gt;
Weitere Info: http://www.bernd-lutz.de/css_overflow-bug_ie_mac-51.php&lt;br /&gt;
Box Model Bug&lt;br /&gt;
&lt;br /&gt;
IE 5 / 5.5&lt;br /&gt;
&lt;br /&gt;
Standard: Elementbreite = width + paddings + margins + borders IE: Elementbreite = width + margin&lt;br /&gt;
&lt;br /&gt;
Wenn also eine width und borders bzw. paddings angegeben sind werden die Boxen im IE 5 und 5.5 zu klein weil die paddings und borders nicht dazu gezählt werden. Lösung:&lt;br /&gt;
&lt;br /&gt;
   1. Wenn width angegeben kein padding oder border verwenden. Stattdessen Ränder auf die Kindelemente anwenden.&lt;br /&gt;
   2. Box Model Hack / Kind Hack &lt;br /&gt;
&lt;br /&gt;
=== Kommentar Hack ===&lt;br /&gt;
&lt;br /&gt;
Anwendung: vor IE/Mac verstecken z.B. bei 3px Bug der nur in Win Versionen auftaucht.&lt;br /&gt;
&lt;br /&gt;
Beispiel (in Kombination mit * Hack)&lt;br /&gt;
&lt;br /&gt;
/* Hide from IE5-mac. Only IE-win sees this. \*/&lt;br /&gt;
* html #floatbox {&lt;br /&gt;
margin-right: 10px;&lt;br /&gt;
}&lt;br /&gt;
* html p {&lt;br /&gt;
height: 1%;&lt;br /&gt;
margin-left: 0;&lt;br /&gt;
}&lt;br /&gt;
/* End hide from IE5/mac */&lt;br /&gt;
&lt;br /&gt;
=== Inline Padding Bug ===&lt;br /&gt;
&lt;br /&gt;
Horizontales Padding und Margin funktioniert bei Inline-Elementen im IE nur wenn eine Höhe angegeben ist. Dann kann es allerdings zu anderen Seiteneffekten kommen.&lt;br /&gt;
&lt;br /&gt;
Lösung Höhe mit Kind Selektor Hack setzen.&lt;br /&gt;
3px Bug bei Bildern&lt;br /&gt;
&lt;br /&gt;
Oft taucht beim IE im Zusammenhang mit floatenden Elementen eine Lücke unterhalb oder links rechts eines Bildes auf. Selbst eine Höhe für das Div hilft nichts.&lt;br /&gt;
&lt;br /&gt;
Lösungsansätze: negatives padding für (Win IEs) overflow: hidden;&lt;br /&gt;
Double Margin Bug&lt;br /&gt;
&lt;br /&gt;
IE6 und kleiner berechnen den Margin einer floatenden Box manchmal doppelt.&lt;br /&gt;
&lt;br /&gt;
This bug only occurs when the float margin goes in the same direction as the float and is trapped directly between the float and the inside edge of the container box. Any following floats with a similar margin won&amp;#039;t show the doubled margin. Only the first float in any given float row will suffer from the bug. Also, the doubled margin displays symmetry, working the same way to the right as it does to the left. (Position Is Everything)&lt;br /&gt;
&lt;br /&gt;
Lösung: Die floatende box bekommt den Wert:&lt;br /&gt;
&lt;br /&gt;
 display: inline;&lt;br /&gt;
&lt;br /&gt;
Der Bug ist damit behoben und die Box bleibt (nach W3C Definition trotzdem ein Block Element, weil floatende Boxen automatisch immer Block-Elemente werden.&lt;br /&gt;
&lt;br /&gt;
=== IE7 Update ===&lt;br /&gt;
&lt;br /&gt;
Aus: IE-Blog http://blogs.msdn.com/ie/archive/2006/08/22/712830.aspx&lt;br /&gt;
Korrigierte Bugs&lt;br /&gt;
Bugs we fixed&lt;br /&gt;
&lt;br /&gt;
    * All bugs on positioniseverything.net except the “escaping floats” bug (which is planned for the future)&lt;br /&gt;
          o Peekaboo Bug&lt;br /&gt;
          o Internet Explorer and Expanding Box Problem&lt;br /&gt;
          o Quirky Percentages&lt;br /&gt;
          o Line-height bug&lt;br /&gt;
          o Border Chaos&lt;br /&gt;
          o Disappearing List-Background bug&lt;br /&gt;
          o Guillotine Bug&lt;br /&gt;
          o Unscrollable Content bug&lt;br /&gt;
          o Duplicate Characters Bug&lt;br /&gt;
          o IE and Italics&lt;br /&gt;
          o Doubled Float-Margin bug&lt;br /&gt;
          o Duplicate Indent bug&lt;br /&gt;
          o Three pixel text jog&lt;br /&gt;
          o Creeping Text bug&lt;br /&gt;
          o Missing First letter bug&lt;br /&gt;
          o Phantom box bug &lt;br /&gt;
&lt;br /&gt;
Details on some of the other bugs (from sources other than the positioniseverything.net list) that we fixed:&lt;br /&gt;
&lt;br /&gt;
    * Overflow now works correctly! (That means boxes do not automatically grow any more.)&lt;br /&gt;
    * Parser bugs: * html, _property and /**/ comment bug&lt;br /&gt;
    * Select control: CSS style-able and not always on top&lt;br /&gt;
    * Auto-sizing of absolute positioned element with width:auto and right &amp;amp; left (great for 3 column layouts)&lt;br /&gt;
    * Addressed many relative positioning issues&lt;br /&gt;
    * Addressed many absolute positioned issues&lt;br /&gt;
    * % calculations for height/width for abs positioned elements http://channel9.msdn.com/ShowPost.aspx?PostID=191182&lt;br /&gt;
    * &amp;lt;?xml&amp;gt; prolog no longer causes quirks mode&lt;br /&gt;
    * HTML element truly independent of the Body (now gets its own width, height etc.)&lt;br /&gt;
    * 1 px dotted borders no longer render as dashed&lt;br /&gt;
    * Bottom margin bug on hover does not collapse margins&lt;br /&gt;
    * Several negative margin issues fixed&lt;br /&gt;
    * Recalc issues including relative positioning and/or negative margins are fixed now&lt;br /&gt;
    * CLSID attribute of &amp;lt;object&amp;gt; tag no longer limited to 128 characters&lt;br /&gt;
    *  :first-letter whitespace bug described in http://blogs.msdn.com/ie/archive/2005/09/02/460115.aspx fixed&lt;br /&gt;
    * Descendant selector now works properly for grand children when combined with other selectors&lt;br /&gt;
    * First-line and first-letter now applies when there is no space between word :first-line and opening brace {&lt;br /&gt;
    * Pseudo-classes now are working as expected if selector is excluded&lt;br /&gt;
    * The :link selector works now for anchor tag with href set to bookmark&lt;br /&gt;
    * Addressed !important issues&lt;br /&gt;
    * PositionIsEverything piefecta-rigid.htm now works&lt;br /&gt;
    * List-item whitespace bug fixed&lt;br /&gt;
    * Fixed Absolutely Buggy II&lt;br /&gt;
    * Absolute positioned elements now use always correct containing block for positioning and size information&lt;br /&gt;
    * Nested block elements now respect all overflow declarations (hidden, scroll, etc)&lt;br /&gt;
    * Fixed the opposing offset problem (absolute positioned element whit all four top, bottom left and right are present)&lt;br /&gt;
    * &amp;lt;a&amp;gt; tags nested within LI elements will no longer add extra bottom margin when hover occurs&lt;br /&gt;
    * We no longer lose the image aspect ratio on refresh&lt;br /&gt;
    * Cleaned up our ident parsing according to CSS2.1 rules&lt;br /&gt;
    * Fixed parsing bugs for multi- class selectors and class selectors that are combined with id selectors&lt;br /&gt;
    * And many more &lt;br /&gt;
&lt;br /&gt;
We also extended our existing implementations to comply with W3C specifications:&lt;br /&gt;
&lt;br /&gt;
    * Enable :hover on all elements not just on &amp;lt;a&amp;gt;&lt;br /&gt;
    * Background-attachment: fixed works on all elements – so Eric Meyer’s complexspiral demo works&lt;br /&gt;
    * Improved &amp;lt;object&amp;gt; fallback &lt;br /&gt;
&lt;br /&gt;
Finally, we added new features from CSS2.1:&lt;br /&gt;
&lt;br /&gt;
    * Min/max width/height support (also for images, which did not work in IE7b2)&lt;br /&gt;
    * Transparent borders&lt;br /&gt;
    * Fixed positioning support&lt;br /&gt;
    * Selectors: first-child, adjacent, attribute, child&lt;br /&gt;
          o A couple of CSS 3 attribute selectors: prefix, suffix and substring since we were working already in the code base (also the general sibling selector) &lt;br /&gt;
    * Alpha channel PNG support (Not a CSS feature but too important for designers to not call it out J) &lt;br /&gt;
&lt;br /&gt;
Links&lt;br /&gt;
&lt;br /&gt;
http://css.nu/pointers/bugs-ie.html 2006-06-29&lt;br /&gt;
&lt;br /&gt;
http://websemantics.co.uk/tutorials/useful_css_snippets/&lt;br /&gt;
Useful Snippets&lt;br /&gt;
&lt;br /&gt;
aus http://websemantics.co.uk/tutorials/useful_css_snippets/&lt;br /&gt;
Leveller&lt;br /&gt;
&lt;br /&gt;
Versuche alle Browser auf möglichts gleiche Werte &amp;#039;vorzukonfigurieren&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* {margin:0; padding:0}&lt;br /&gt;
&lt;br /&gt;
Removes margin and padding from every element.&lt;br /&gt;
&lt;br /&gt;
html {height:100%}&lt;br /&gt;
&lt;br /&gt;
Sets the window height.&lt;br /&gt;
&lt;br /&gt;
min-height:101%;&lt;br /&gt;
&lt;br /&gt;
Sets the minimum page height to greater than the window height to force Netscape &amp;amp; Firefox to display vertical scrollbars, thereby preventing content jumping on fixed width pages. IE doesn&amp;#039;t understand min-height and totally ignores this setting.&lt;br /&gt;
&lt;br /&gt;
font:100.01%/130% Verdana, Helvetica, sans-serif;&lt;br /&gt;
&lt;br /&gt;
Set font-size to a percentage preventing a Windows IE &amp;quot;extreme font re-sizing&amp;quot; bug. Set font-size slightly larger than 100% to repair Opera rounding errors. Set less than 101% to prevent Safari errors. The line-height setting gives nice, clear and easy-read spacing. Verdana is the most readable, and readily available screen font in Windows. Helvetica most readable, and readily available screen font on Macintosh computers. Sans-serif is the most readable to the widest audience for body text.&lt;br /&gt;
&lt;br /&gt;
color:#000; background:#fff;&lt;br /&gt;
&lt;br /&gt;
Set general colour &amp;amp; background.&lt;br /&gt;
&lt;br /&gt;
width:760px;&lt;br /&gt;
&lt;br /&gt;
Fixed width set for 800 pixel wide browser displays.&lt;br /&gt;
&lt;br /&gt;
margin:0 auto&lt;br /&gt;
&lt;br /&gt;
Margins are set for centring the content. This works for IE6, Firefox, Opera, Safari and Netscape but IE5 and IE5.5 require further treatment.&lt;br /&gt;
&lt;br /&gt;
text-align:center&lt;br /&gt;
&lt;br /&gt;
Added to the body element to force IE to centre all content&lt;br /&gt;
&lt;br /&gt;
body * {text-align:left}&lt;br /&gt;
&lt;br /&gt;
Resets all text aligns to the left&lt;br /&gt;
&lt;br /&gt;
#wrapper {width:760px}&lt;br /&gt;
&lt;br /&gt;
States the wrapper width. All centred content goes inside a div with an id=&amp;quot;wrapper.&lt;br /&gt;
&lt;br /&gt;
* {&lt;br /&gt;
  margin:0;&lt;br /&gt;
  padding:0} &lt;br /&gt;
html {&lt;br /&gt;
  height:100%; &lt;br /&gt;
  font-size:100.01%&lt;br /&gt;
} &lt;br /&gt;
body {&lt;br /&gt;
  text-align:center;&lt;br /&gt;
  min-height:101%;&lt;br /&gt;
  font:100.01%/130% Verdana, Helvetica, sans-serif;&lt;br /&gt;
  color:#000; background:#fff;&lt;br /&gt;
  width:760px;&lt;br /&gt;
  margin:0 auto &lt;br /&gt;
} &lt;br /&gt;
body * {text-align:left;} &lt;br /&gt;
#wrapper {width:760px}&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Mac_als_Proxy_Server&amp;diff=19230</id>
		<title>Mac als Proxy Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Mac_als_Proxy_Server&amp;diff=19230"/>
		<updated>2012-07-30T12:43:34Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Squidman */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Squidman ==&lt;br /&gt;
===Links===&lt;br /&gt;
==== iPhone / iPad über Squidman loopen ==== &lt;br /&gt;
Damit ist es möglich mit Wireshark den Netzwerkverkehr zu beobachten.&lt;br /&gt;
&lt;br /&gt;
http://tinnedfruit.com/2011/03/10/using-squidman-to-snoop-ios-requests.html&lt;br /&gt;
&lt;br /&gt;
Uninstall&lt;br /&gt;
&lt;br /&gt;
How do I uninstall Squid and SquidMan?&lt;br /&gt;
If you are using SquidMan 3.0 or greater, use the &amp;quot;Uninstall Squid&amp;quot; command in the SquidMan menu. After confirming your selection, Squid will be shutdown, removed, and SquidMan will quit. If you no longer want to use SquidMan, you can drag it to the trash.&lt;br /&gt;
&lt;br /&gt;
If you&amp;#039;re using an earlier version of SquidMan than 3.0, you&amp;#039;ll need to uninstall Squid and SquidMan manually. To uninstall squid, in the Finder, select the Go to Folder... command from the Go menu, and in the text field that is presented enter /usr/local and click Go. In the window that opens, select the folder named squid and drag it to the trash. You&amp;#039;ll be prompted to enter an administrator username and password to continue.&lt;br /&gt;
&lt;br /&gt;
To delete SquidMan, just drag the application to the trash - it does not install any other files in the system.&lt;br /&gt;
&lt;br /&gt;
SquidMan configures squid to store logs and cache files in your home directory. You may also want to delete these files and folders:&lt;br /&gt;
&lt;br /&gt;
~/Library/Caches/squid&lt;br /&gt;
~/Library/Logs/squid*&lt;br /&gt;
~/Library/Preferences/squid.conf&lt;br /&gt;
~/Library/Preferences/SquidMan.plist&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Mac_als_Proxy_Server&amp;diff=19229</id>
		<title>Mac als Proxy Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Mac_als_Proxy_Server&amp;diff=19229"/>
		<updated>2012-07-30T12:40:42Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: Die Seite wurde neu angelegt: „ == Squidman == Installieren  Systemeinstellungen auf Mac: Netzwerk &amp;gt; Weitere Optionen &amp;gt; Proxy  Uninstall  How do I uninstall Squid and SquidMan? If you are using…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Squidman ==&lt;br /&gt;
Installieren&lt;br /&gt;
&lt;br /&gt;
Systemeinstellungen auf Mac:&lt;br /&gt;
Netzwerk &amp;gt; Weitere Optionen &amp;gt; Proxy&lt;br /&gt;
&lt;br /&gt;
Uninstall&lt;br /&gt;
&lt;br /&gt;
How do I uninstall Squid and SquidMan?&lt;br /&gt;
If you are using SquidMan 3.0 or greater, use the &amp;quot;Uninstall Squid&amp;quot; command in the SquidMan menu. After confirming your selection, Squid will be shutdown, removed, and SquidMan will quit. If you no longer want to use SquidMan, you can drag it to the trash.&lt;br /&gt;
&lt;br /&gt;
If you&amp;#039;re using an earlier version of SquidMan than 3.0, you&amp;#039;ll need to uninstall Squid and SquidMan manually. To uninstall squid, in the Finder, select the Go to Folder... command from the Go menu, and in the text field that is presented enter /usr/local and click Go. In the window that opens, select the folder named squid and drag it to the trash. You&amp;#039;ll be prompted to enter an administrator username and password to continue.&lt;br /&gt;
&lt;br /&gt;
To delete SquidMan, just drag the application to the trash - it does not install any other files in the system.&lt;br /&gt;
&lt;br /&gt;
SquidMan configures squid to store logs and cache files in your home directory. You may also want to delete these files and folders:&lt;br /&gt;
&lt;br /&gt;
~/Library/Caches/squid&lt;br /&gt;
~/Library/Logs/squid*&lt;br /&gt;
~/Library/Preferences/squid.conf&lt;br /&gt;
~/Library/Preferences/SquidMan.plist&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Mac&amp;diff=19228</id>
		<title>Mac</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Mac&amp;diff=19228"/>
		<updated>2012-07-30T11:45:07Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Weitere Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier finden sich einige nützliche Infos zum Apple Mac&lt;br /&gt;
== Weitere Links ==&lt;br /&gt;
[[Terminal und Konsole auf dem Mac]] Einige Hinweise für LINUX Leute die auf dem Mac unterwegs sind&lt;br /&gt;
&lt;br /&gt;
http://www.macports.org/index.php Einfaches Kompilieren und Installieren von Konsolen X11 und Aqua OpenSource Programmen What is MacPorts?&lt;br /&gt;
&lt;br /&gt;
MacPorts provides an infrastructure for building, installing, and packaging open source software. It is designed to match the functionality of the FreeBSD Ports system and to be extensible for future enhancements.&lt;br /&gt;
&lt;br /&gt;
[[MacPorts]]&lt;br /&gt;
&lt;br /&gt;
[[Networksniffer - Netzwerkverkehr kontrollieren mit Wireshark]]&lt;br /&gt;
&lt;br /&gt;
[[Mac als Proxy Server]]&lt;br /&gt;
&lt;br /&gt;
== Mac, Apache, PHP, MySQL (MAMPP) ==&lt;br /&gt;
Hinweis: auch XAMPP gibts jetzt für Mac. Ist eigentlich einfacher: In den Applications Ordner packen fertig. &lt;br /&gt;
&lt;br /&gt;
Weiterführender schon etwas älterer aber ordentlicher Artikel: http://oreilly.com/pub/ct/49&lt;br /&gt;
&lt;br /&gt;
Artikel über die Aktivierung von mySQL, PHP, fehlende PHP Module etc.: http://www.viames.it/mac-os-x.html&lt;br /&gt;
&lt;br /&gt;
=== Lösung 1 : MAMPP-Paket installieren ===&lt;br /&gt;
Oder alternativ die Sachen einzeln draufspielen...&lt;br /&gt;
&lt;br /&gt;
Standardmäßig erreichbar unter &lt;br /&gt;
&lt;br /&gt;
http://localhost:8888/&lt;br /&gt;
&lt;br /&gt;
=== Apache ===&lt;br /&gt;
Ist beim Mac schon dabei und kann unter Systemeinstellungen &amp;gt; Sharing &amp;gt; Personal Web Sharing aktiviert werden&lt;br /&gt;
Die Seiten sind dann unter&lt;br /&gt;
localhost (Root Benutzer)&lt;br /&gt;
oder&lt;br /&gt;
localhost/~benutzername&lt;br /&gt;
erreichbar außerdem kann man auch benutzer.local eingeben dann wird ein Apple-Interner Dienst benutzt um die Adressen umzuwandeln.&lt;br /&gt;
&lt;br /&gt;
Ansonsten gelten weitgehend die gleichen Regeln für die Konfiguration wie unter Linux.&lt;br /&gt;
&lt;br /&gt;
=== Wichtige Daten für den Mac als Webserver ===&lt;br /&gt;
Stand April 2009&lt;br /&gt;
Apache Config:  /etc/apache2/httpd.conf&lt;br /&gt;
PHP als Modul aktivieren (muß installiert und kompiliert sein): &lt;br /&gt;
in Apache Config:&lt;br /&gt;
 LoadModule php5_module libexec/apache2/libphp5.so&lt;br /&gt;
Der Ordner für php Extension ist hier angegeben:&lt;br /&gt;
 /etc/php.ini&lt;br /&gt;
z.B.:&lt;br /&gt;
 ; Directory in which the loadable extensions (modules) reside.&lt;br /&gt;
 extension_dir = &amp;quot;/usr/lib/php/extensions/no-debug-non-zts-20060613&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
Hinweis: Bei Apache2 hat sich einiges geändert.&lt;br /&gt;
Konfiguration des Apache ist in&lt;br /&gt;
 etc/apache2&lt;br /&gt;
Ist auch schon dabei muß aber noch aktiviert werden und bei der Gelegenheit auch gleich die Ausführung von CGI Skripten:&lt;br /&gt;
Zuerst mal ins Terminal wechseln (suche einfach mit Spotlite nach terminal)&lt;br /&gt;
Dann Sysadmin werden:&lt;br /&gt;
&lt;br /&gt;
 sudo -s&lt;br /&gt;
&lt;br /&gt;
mit&lt;br /&gt;
&lt;br /&gt;
 cd /etc/httpd&lt;br /&gt;
&lt;br /&gt;
wechselt man ins Apache Konfigurationsverzeichnis. Jetzt legen wir eine sicherheitskopie der Konfigdatei an:&lt;br /&gt;
&lt;br /&gt;
 sudo cp httpd.conf httpd.BAK  &lt;br /&gt;
&lt;br /&gt;
Nun verwenden wir den Editor vi um die entsprechenden Zeilen in der httpd.conf auszukommentieren. Mittels &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; wird in &amp;#039;&amp;#039;&amp;#039;vi&amp;#039;&amp;#039;&amp;#039; ein Zeichen gelöscht, mittels &amp;#039;&amp;#039;&amp;#039;:wp&amp;#039;&amp;#039;&amp;#039; werden die Änderungen geschrieben und vi beendet. In unserem Falle wird jeweils das # vor der entsprechenden Zeile entfernt.&lt;br /&gt;
&lt;br /&gt;
 sudo vi /etc/httpd/httpd.conf&lt;br /&gt;
&lt;br /&gt;
Ein alternativer Editor unter Mac/Linux ist Pico. In Pico speichert man mit CTRL+o (write out) und kann Suchen mit CTRL+w (where is)&lt;br /&gt;
&lt;br /&gt;
 sudo pico httpd.conf&lt;br /&gt;
&lt;br /&gt;
Für die Bedienung von Vim und Pico, gibt es eine Hilfefunktion mit F1 &lt;br /&gt;
&lt;br /&gt;
Nun nach unten Scrollen, die folgenden Variablen suchen und das # löschen.&lt;br /&gt;
&lt;br /&gt;
 #AddHandler cgi-script .cgi&lt;br /&gt;
 #LoadModule php4_module&lt;br /&gt;
 #AddModule mod_php4.c&lt;br /&gt;
&lt;br /&gt;
Nun speichern und Apache neu starten:&lt;br /&gt;
&lt;br /&gt;
 :wq (mit vim)&lt;br /&gt;
 ctrl+o (pico)&lt;br /&gt;
 sudo apachectl graceful&lt;br /&gt;
&lt;br /&gt;
Zum Testen ob php funktioniert schreiben wir ein kleines php-Programm, daß uns die aktuelle php-konfiguration ausgibt und speichern es unter&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;info.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  &amp;lt;?php&lt;br /&gt;
    phpinfo();&lt;br /&gt;
  ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Browser geben wir ein:&lt;br /&gt;
 http://localhost/~benutzername/phpinfo.php&lt;br /&gt;
&lt;br /&gt;
Und wenn alles klappt sehen wir eine Lange Liste mit allen möglichen php und Servereinstellungen.&lt;br /&gt;
&lt;br /&gt;
===MySQL installieren===&lt;br /&gt;
==== Neues Tutorial ====&lt;br /&gt;
MySQL DBMS isn’t installed by default on Mac OS X Leopard. If you need it, it’s quietly easy to install on Leopard: download MySQL 5.1 for Mac OS X 10.5 (x86_64), launch its setup wizard and edit php.ini to connect through the right mysql socket:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 [MySQL]&lt;br /&gt;
 ; Default socket name for local MySQL connects.  If empty, uses the built-in&lt;br /&gt;
 ; MySQL defaults.&lt;br /&gt;
 mysql.default_socket = /tmp/mysql.sock&lt;br /&gt;
 &lt;br /&gt;
 [MySQLi]&lt;br /&gt;
 ; Default socket name for local MySQL connects.  If empty, uses the built-in&lt;br /&gt;
 ; MySQL defaults.&lt;br /&gt;
 mysqli.default_socket = /tmp/mysql.sock&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
A web-server restart is required in order to apply any httpd.conf or php.ini changes. All extension files need to be executable by apache&amp;#039;s user.&lt;br /&gt;
&lt;br /&gt;
==== Alte Version ====&lt;br /&gt;
Herunterladen der Datenbank 4 oder neuer unter&lt;br /&gt;
http://dev.mysql.com/downloads/mysql/4.1.html &lt;br /&gt;
Doppelklick mounted das disk image. Dann Doppelklick auf das Package File und Die Datenbank wird installiert. Wenn eine alte Version läuft dann vorher abschalten (das ReadMe File gibt Tipps)&lt;br /&gt;
&lt;br /&gt;
Die Datenbank wird hier installiert:&lt;br /&gt;
 /usr/local/mysql-VERSION&lt;br /&gt;
&lt;br /&gt;
Als nächstes speichern wir den Pfad zu MySQL in den Umgebungsvariablen der Shell, auf diese Weise muß man nicht jedesmal den Pfad eingeben oder in das Verzeichnis wechseln.&lt;br /&gt;
Das Terminalfenster muss nach Eingabe des Codes neu gestartet werden, damit die Änderung aktiv wird.&lt;br /&gt;
  &amp;#039;setenv PATH /usr/local/mysql/bin:$PATH&amp;#039; &amp;gt;&amp;gt; ~/.tcshrc&lt;br /&gt;
Für tcsh (Mac OS X 10.2)&lt;br /&gt;
&lt;br /&gt;
  echo &amp;#039;export PATH=/usr/local/mysql/bin:$PATH&amp;#039; &amp;gt;&amp;gt; ~/.bash_profile  &lt;br /&gt;
Für bash (Mac OS X 10.3, 10.4)&lt;br /&gt;
&lt;br /&gt;
Jetzt wechseln wir in das MySQL Verzeichnis und ändern die Rechte für das Verzeichnis data (dort sind die Datenbanken gespeichert)&lt;br /&gt;
 cd /usr/local/mysql&lt;br /&gt;
 sudo chown -R mysql data/&lt;br /&gt;
&lt;br /&gt;
Nun testen wir ob die Datenbank erreichbar ist&lt;br /&gt;
 sudo echo&lt;br /&gt;
 sudo ./bin/mysqld_safe &amp;amp;&lt;br /&gt;
 /usr/local/mysql/bin/mysql test&lt;br /&gt;
&lt;br /&gt;
Nicht vergessen das Root Passwort zu setzen:&lt;br /&gt;
/usr/local/mysql/bin/mysqladmin -u root password new_password_here&lt;br /&gt;
&lt;br /&gt;
==== Tabellen und Datenbanken ====&lt;br /&gt;
Jetzt wird es Zeit eine neue Datenbank anzulegen. Dazu loggen wir uns in den mySQL Server ein legen eine neue Datenbank an und erlauben vollen Zugriff für Herrn benutzername. benutzername wir durch den eigenen MacOsX Benutzernamen ersetzt.&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 create database mein_DB_Name;&lt;br /&gt;
 grant all on mein_DB_Name.* to benutzername@localhost identified by &amp;quot;passwort&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Hinweis: in der ersten Zeile haben wir uns den langen Pfad erspart weil wir ja in der bash einen neue Pfad-Variable gesetzt haben.&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick ===&lt;br /&gt;
Ist in den Macport Tools enthalten. Macports installieren falls nicht vorhanden (siehe Macports), danach sind die Tools in /opt/local/bin/ enthalten. Dies ist auch der Pfad der in der TYPO3 Installation angegeben werden muß.&lt;br /&gt;
&lt;br /&gt;
==== Vorkompilierte Datei (bei Benutzung von Macports nicht notwendig)====&lt;br /&gt;
http://www2.entropy.ch/download/imagemagick-6.1.7.pkg.tar.gz&lt;br /&gt;
1) Mit boomArchivHelper aus dem System auspacken (Rechte Maustaste &amp;quot;Öffnen mit&amp;quot; / nicht stuffit-expander, da sonst eine Fehlermeldung, daß das Archiv kaputt ist)&lt;br /&gt;
2) Mit dem Installer installieren&lt;br /&gt;
3) typo3 localconf.php updaten&lt;br /&gt;
&lt;br /&gt;
== Software Grundausstattung ==&lt;br /&gt;
&lt;br /&gt;
=== Freeware ===&lt;br /&gt;
Tools&lt;br /&gt;
* Filezilla (FTP)&lt;br /&gt;
&lt;br /&gt;
Editor:&lt;br /&gt;
* NetBeans IDE von Sun (wenns etwas größer Sein darf)&lt;br /&gt;
* Alternativ Eclipse (Geschmacksache)&lt;br /&gt;
* Textwrangler (Freeware kann nicht besonders viel)&lt;br /&gt;
&lt;br /&gt;
Thumbnail Viewer:&lt;br /&gt;
&lt;br /&gt;
Office&lt;br /&gt;
&lt;br /&gt;
* OpenOffice &amp;gt; Version 3.1&lt;br /&gt;
* Freemind OpenSource Mindmapper (einfach und effektiv)&lt;br /&gt;
* Baralga (OpenSource Tool zur Zeiterfassung in Java geschrieben)&lt;br /&gt;
&lt;br /&gt;
Projektverwaltung&lt;br /&gt;
&lt;br /&gt;
=== Kostenpflichtig ===&lt;br /&gt;
TextMate Editor&lt;br /&gt;
&lt;br /&gt;
== Windows auf dem Mac ==&lt;br /&gt;
Auf den Intel Macs ist es möglich Windows zu installieren.&lt;br /&gt;
&lt;br /&gt;
1. Lösung BootCamp von Apple&lt;br /&gt;
&lt;br /&gt;
Vorteil - pure Windowsinstallation mit allen Features, kostenlos&lt;br /&gt;
&lt;br /&gt;
Nachteil - Der Rechner muß zum Wechsel runtergefahren werden&lt;br /&gt;
&lt;br /&gt;
2. Lösung Parallels&lt;br /&gt;
&lt;br /&gt;
Vorteil - Wird im Fenster Parallel zu MacOS ausgeführt, auch andere OS verfügbar&lt;br /&gt;
&lt;br /&gt;
Nachteil - im Moment kein DirectX, kostenpflichtig (ca. 80 Euro)&lt;br /&gt;
&lt;br /&gt;
[[Tutorial: Windows auf dem Mac]]&lt;br /&gt;
&lt;br /&gt;
== Sonderzeichen und Spezialtasten auf dem Mac ==&lt;br /&gt;
Tilde ~  :  ALT + n&lt;br /&gt;
&lt;br /&gt;
Pipe | : ALT + 7&lt;br /&gt;
&lt;br /&gt;
Backslash \ : ALT + SHIFT + 7&lt;br /&gt;
&lt;br /&gt;
Funktionstasten sind oft mit Systemfuktionen (Dashboard etc. vorbelegt) ESC + Zahl gehts aber (nacheinander drücken). Andere Möglichkeite ist Apfel + Funktionstaste (hier gleichzeitig) damit wird der Tastendruck an die Anwendung durchgereicht.&lt;br /&gt;
&lt;br /&gt;
Laptops, Powerbooks, etc. haben oft keine Entf Taste. Mit fn+ Backspace geht&amp;#039;s&lt;br /&gt;
&lt;br /&gt;
Apfel + Backspace löscht Dateien direkt&lt;br /&gt;
&lt;br /&gt;
== JAVA ==&lt;br /&gt;
Ist auf dem Mac schon installiert. Schwierig wird es wenn die Version zu alt ist. Dann ist man nämlich auf Apples Update Politik angewiesen und wenn das iPhone gerade wichtiger ist... kann es dauern.&lt;br /&gt;
&lt;br /&gt;
=== JAVA Einstellungen ===&lt;br /&gt;
In den Dienstprogrammen kann man z.B. die Default Version einstellen. Getrennt für Web Applets und Java Anwendungen (Programme/Dienstprogramme/Java). Wenn beim Starten von Java Applications ein Fehler auftritt hilft es manchmal hier die Default Java Version zu verändern. Einfach in der Liste die gewünschte Version nach oben ziehen.&lt;br /&gt;
&lt;br /&gt;
== Mac Ärgernisse ==&lt;br /&gt;
Trotz aller schönen Dinge bietet der Mac doch einige Ärgernisse. Interessanterweise zeigt der geneigte, sonst so kritische Mac User sich diesen gegenüber erstaunlich resistent. Zumindest wenn man den Forenbeiträgen glauben schenkt. Der Gerechtigkeit wegen hier einige der kleinen Haken im Mac-Leben.&lt;br /&gt;
&lt;br /&gt;
Fehlermeldung: Auf das drahtlose &amp;#039;&amp;#039;&amp;#039;netzwerk&amp;#039;&amp;#039;&amp;#039; wurde möglicherweise unerlaubt zugegriffen... daraufhin wird das Netzwerk für kurze Zeit zurückgesetzt.&lt;br /&gt;
&lt;br /&gt;
Der Fehler tritt scheinbar auf wenn andere Rechner im Drahtlosen Netzwerk aktiv sind. Abhilfe bringt wenn das Netzwerk auf WPA2 AES upgedatet wird.&lt;br /&gt;
&lt;br /&gt;
Fehlermeldung: Sinngemäß: Nix geht mehr schalten Sie den Rechner aus...&lt;br /&gt;
Kommt zum Beispiel bei vielen offenen Flash-Filmen im Browser vor.&lt;br /&gt;
&lt;br /&gt;
Fenster auf allen Seiten vergrößern&lt;br /&gt;
&lt;br /&gt;
Schriften werden auf einmal in verschiedenen Programmen nicht mehr richtig dargestellt.&lt;br /&gt;
Lösung: Font Cache löschen: http://adminday.de/tutorials-und-tipps/fontcache-unter-mac-os-x-10-6-loschen/&lt;br /&gt;
&lt;br /&gt;
Time Machine geht nicht über Netzlaufwerke (zumindest nicht ohne weiteres&lt;br /&gt;
&lt;br /&gt;
=== Video und Audio-Dateien auf dem Mac ===&lt;br /&gt;
Oft gibt es das Problem, daß man Audio und Video Dateien auf dem Mac nicht abspielen kann. Es gibt einige Tools die Helfen können.&lt;br /&gt;
&lt;br /&gt;
Zum Thema Video gibt es hier einige Infos: [[Video]]&lt;br /&gt;
&lt;br /&gt;
== Time Machine über Netzlaufwerke nutzen ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lösung 1 ===&lt;br /&gt;
&lt;br /&gt;
Link: http://www.ratschlag24.com/index.php/mac-os-x-time-machine-auch-mit-netzlaufwerken-nas-laufwerken-und-wlan-festp/&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Rechnername des Mac-Rechners rausfinden.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Terminal&lt;br /&gt;
 scutil --get ComputerName&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MAC Adresse der Netzwerkkarte rausfinden&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 ifconfig en0 | grep ether &lt;br /&gt;
(Pipe Zeichen mit ALT+7)&lt;br /&gt;
&lt;br /&gt;
Die MAC-Adresse besteht aus zwölf Zahlen-/Buchstaben-Paaren. Merken Sie sich auch diese Adresse.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sparsbundle Diskimage mit ausreichender Größe erzeugen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
3. Timemachine speichert seine Daten in einem sog. Sparsebundle. Im nächsten Schritt müssen Sie ein Disk-Image nach einem ganz bestimmten Namensmuster anlegen. Hierzu geben Sie in das Terminalfenster einen Befehl nach folgendem Muster ein:&lt;br /&gt;
&lt;br /&gt;
 hdiutil create -size 100g -fs HFS+J -volname TM-Backup &amp;quot;&amp;lt;Computename&amp;gt;_&amp;lt;MAC-Adresse&amp;gt;.sparsebundle&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Computername&amp;gt; s.o. &amp;lt;MAC Adresse&amp;gt; s.o. ohne Doppelpunkte eingeben&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
 hdiutil create -size 100g -fs HFS+J -volname TM-Backup &amp;quot;Mirko Müllers MacBook_001ff3d0b9c8.sparsebundle&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Damit wird eine Backupdatei mit einer Maximalgröße von 100 GB angelegt. Sie finden die so erzeugte Datei in Ihrem Dokument-Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
Schalter “100g” entsprechend anpassen, etwa “200g” für eine maximal 200 GigaByte große Time-Machine-Datei. Die Datei wird nicht sofort 100 GB, sondern nur knapp 80 MB groß. Erst durch die Sicherheitskopien wächst die Datei später auf die Maximalgröße.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Datei auf die Netzwerkfestplatte kopieren&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Danach die Lokale Datei löschen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Konfigurationsänderung&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Mit einer Konfigurationsänderung akzeptiert Time Machine auch Netzwerkordner als Backupmedien.&lt;br /&gt;
&lt;br /&gt;
 defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1&lt;br /&gt;
&lt;br /&gt;
Das war’s. Wenn Sie jetzt die Systemeinstellung “Time Machine” öffnen, können Sie über die Schaltfläche “Volume wechseln” auch das Netzlaufwerk auswählen. Ganz wichtig: Wählen Sie den Netzwerkordner, in den Sie in Schritt 4 die “sparsebundle&amp;quot;-Datei kopiert haben.&lt;br /&gt;
&lt;br /&gt;
[Update]: Einige Leser berichten von Problemen bei der Anmeldung in der TimeMachine. Mitunter tritt zum Beispiel der FEhler “OSStatus-Fehler -6602” auf. Die Lösung: Richten Sie auf dem Netzlaufwerk einen neuen Ordner “backup” ein, und legen Sie dort die sparsebundle-Datei ab. Dann klappt’s auch ohne Fehlermeldung. &lt;br /&gt;
&lt;br /&gt;
Quelle s.o. Verfasst 2008 Zugriff 06/2011&lt;br /&gt;
&lt;br /&gt;
Problem unter 10.6 hdiutils der Vorgang wird nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
=== Time Maschine Backups auf NAS übers Netzwerk wiederherstellen ===&lt;br /&gt;
&lt;br /&gt;
Genauso wichtig wie das Erstellen von Backups ist natürlich das Wiederherstellen der Sicherungen. Da NAS-Server nicht offiziell unterstütze Laufwerke sind, muss man sich hier auch einiger „Handgriffe“ bedienen. Dazu geht man wie folgt vor:&lt;br /&gt;
&lt;br /&gt;
* Den Mac mit einer Leopard-Installations-DVD und angeschlossenem Netzwerkkabel booten.&lt;br /&gt;
* Nach dem Booten unter Dienstprogramme das Terminal starten.&lt;br /&gt;
* Über einen &amp;quot;PING&amp;quot; testen, ob das NAS über Netzwerk erreichbar ist. Dazu den Befehl ping 192.168.1.10 ins Terminal eingeben, wobei die IP abhängig vom Netzwerk zu wählen ist.&lt;br /&gt;
* Einen Mount-Point für das NAS erstellen, indem man ein Verzeichnis mit nachfolgenden Befehl im Terminal erzeugt: &lt;br /&gt;
&lt;br /&gt;
 mkdir /Volumes/backup&lt;br /&gt;
&lt;br /&gt;
* Jetzt muss das Verzeichnis in dem das Time Maschine Backup liegt als Volume gemountet werden. Dazu gibt man im Terminal ein: &lt;br /&gt;
 mount_afp afp://$USERNAME:$PASSWORT@$NAS_IP_ADDRESSE/$VERZEICHNIS /Volumes/backup&lt;br /&gt;
Als $NAS_IP_ADDRESSE steht bei mir die 192.168.1.10 und bei $VERZEICHNIS das von mir erstelle Verzeichnis andreas&lt;br /&gt;
Mit dem Befehl &lt;br /&gt;
 ls /Volumes/backup &lt;br /&gt;
kann überprüft werden, ob sich das Sparseimage im Verzeichnis befindet&lt;br /&gt;
Jetzt kann im Menü Dienstprogramme &amp;gt; Systemwiederherstellung auf das Time Maschine Backup auf dem NAS zugegriffen werden.&lt;br /&gt;
&lt;br /&gt;
== Mac Terminal Tipps ==&lt;br /&gt;
[[Mac Terminal Tipps]]&lt;br /&gt;
&lt;br /&gt;
== Mac Probleme lösen ==&lt;br /&gt;
[[Mac - Probleme beheben]]&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=After_Effects&amp;diff=19227</id>
		<title>After Effects</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=After_Effects&amp;diff=19227"/>
		<updated>2012-07-24T12:31:49Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* After Effects - Otimizing Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[After Effects - Snippets (Expressions)]]&lt;br /&gt;
&lt;br /&gt;
== After Effects - Keyboard Shortcuts ==&lt;br /&gt;
http://help.adobe.com/en_US/AfterEffects/9.0/WS3878526689cb91655866c1103a9d3c597-7987a.html&lt;br /&gt;
== After Effects - Precomposing ==&lt;br /&gt;
http://library.creativecow.net/articles/preston_bryan/precomp.php&lt;br /&gt;
== After Effects - Optimizing Projects ==&lt;br /&gt;
http://www.adobepress.com/articles/article.asp?p=1648576&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=After_Effects&amp;diff=19226</id>
		<title>After Effects</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=After_Effects&amp;diff=19226"/>
		<updated>2012-07-24T12:31:38Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[After Effects - Snippets (Expressions)]]&lt;br /&gt;
&lt;br /&gt;
== After Effects - Keyboard Shortcuts ==&lt;br /&gt;
http://help.adobe.com/en_US/AfterEffects/9.0/WS3878526689cb91655866c1103a9d3c597-7987a.html&lt;br /&gt;
== After Effects - Precomposing ==&lt;br /&gt;
http://library.creativecow.net/articles/preston_bryan/precomp.php&lt;br /&gt;
== After Effects - Otimizing Projects ==&lt;br /&gt;
http://www.adobepress.com/articles/article.asp?p=1648576&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Witze&amp;diff=19225</id>
		<title>Witze</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Witze&amp;diff=19225"/>
		<updated>2012-07-21T05:34:08Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Witzfragen==&lt;br /&gt;
&lt;br /&gt;
Es gibt auch Witzsprüche! Auf die Seite [[Sprüche]].&lt;br /&gt;
&lt;br /&gt;
Und weitere Sprüche auf [[Tages sprüche]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Welcher Satz hat keine Wörter?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
der Kaffeesatz.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In welchem Fall ist 4 + 4 = 9?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In keinem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Was kann mann nicht mit Worten ausdrücken?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Den Schwamm.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Welche Bildung macht nicht intelligenter?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Einbildung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wer kann alle Sprachen sprechen?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Echo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warum gibt es in jedem schottischen&lt;br /&gt;
&lt;br /&gt;
Schloss ein Schlossgespenst?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Weil Schlossgespenster billiger sind als Alarmanlagen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Was ist eine Blondine hinter einem Lenkrad?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein Airbag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Was sind drei Blondinen im Ehebett?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Artgerechte Haltung.&lt;br /&gt;
&lt;br /&gt;
==Verschidene Witze==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Treffen sich zwei Blondinen kurz vor Weihnachten.&lt;br /&gt;
- Bald ist schon wieder Heilig Abend.&lt;br /&gt;
- Soll dieses Jahr auf einen Freitag fallen.&lt;br /&gt;
- Na Hoffentlich nicht auf den 13ten!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Blondine in der Drogerie: &amp;quot;Bitte eine Packung Mottenkugeln!&amp;quot; Meint der Drogist verwundert: &amp;quot;Seit einer Woche kaufen sie jeden Tag eine Packung Mottenkugeln. Es geht mich ja nichts an, aber was machen Sie denn damit?&amp;quot; - &amp;quot;Nun ja...&amp;quot; antwortet die Blondine, &amp;quot;es ist so schwierig, die Motten mit diesen Kugeln zu treffen!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warum können&lt;br /&gt;
Blondinen nicht Brustschwimmen? Weil sie, wenn sie feucht zwischen den Beinen&lt;br /&gt;
werden, diese breit machen. Und weil sie, wenn sie feucht zwischen den Beinen&lt;br /&gt;
werden, sie sich auf den Rücken drehen. Und warum kann das kein echter&lt;br /&gt;
Blondinenwitz sein? Weil sie immer feucht zwischen den Beinen sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine&lt;br /&gt;
Rothaarige, eine Brünette und eine Blondine veranstalten ein Wettschwimmen, 200&lt;br /&gt;
Meter Brust. Die Rothaarige und die Brünette schlagen fast gleichzeitig an,&lt;br /&gt;
die Blondine kommt ein paar Sekunden später ans Ziel. Beschwert sie sich:&lt;br /&gt;
&amp;quot;Das gilt nicht, ihr habt geschummelt! Ihr habt ja auch die Arme benutzt...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Eine Brünette, eine Rothaarige und eine Blondine gehen in eine Bar. Brünette: &amp;quot;Ich will B und C.&amp;quot; Barkeeper: &amp;quot;Was ist das?&amp;quot; Brünette: &amp;quot;Bourbone und Cola.&amp;quot; Rothaarige: &amp;quot;Und ich will ein G und T.&amp;quot; Barkeeper: &amp;quot;Was ist ein G und T?&amp;quot; Rothaarige: &amp;quot;Gin und Tonic.&amp;quot; Blondine: &amp;quot;Ich will ein 15.&amp;quot; Barkeeper: &amp;quot;Was ist ein 15?&amp;quot; Blondine: &amp;quot;7 und 7!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sherlock Holmes und Dr. Watson sind am Zelten. Mitten in der Nacht wird Dr. Watson von Sherlock Holmes geweckt. Er wird von ihm gefragt, was er sieht. &amp;quot;Ich sehe Sterne am Himmel.&amp;quot; &amp;quot;Und was hat dieses zu bedeuten?&amp;quot; Darauf hin antwortet Dr. Watson. &amp;quot;Das es im Universum sicherlich intelligentes Leben gibt. Und sehr viele Planeten.&amp;quot; &amp;quot;Quatsch. Man hat uns gerade das Zelt geklaut.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die ostfriesischen&lt;br /&gt;
Wissenschaftler haben jetzt herausgefunden, dass Huehneraugen auch am Kopf&lt;br /&gt;
vorkommen - und zwar bei Huehnern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kommt ein&lt;br /&gt;
Ostfriese in einen Elektroladen: &amp;quot;Bitte fuenf kaputte Gluehbirnen !&amp;quot; &amp;quot;Kaputte&lt;br /&gt;
?&amp;quot; &amp;quot;Ja, ich will mir eine Dunkelkammer einrichten! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wer hat das Zahnradgetriebe erfunden? Ein Ostfriese&lt;br /&gt;
! Wer hat das Jodeln erfunden? Der gleiche Ostfriese, als er mit dem&lt;br /&gt;
Finger ins das Getriebe hineinkam.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zwei Ostfriesen ueberpruefen ihr Auto. &amp;quot;&lt;br /&gt;
Scheinwerfer? &amp;quot; &amp;quot; Geht! &amp;quot; &amp;quot; Ruecklicht? &amp;quot; &amp;quot; Geht ! &amp;quot; &amp;quot; Blinklicht?&lt;br /&gt;
&amp;quot; &amp;quot; Geht, geht nicht, geht, geht nicht, geht... &amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Dame an der Kinokasse fragt: &amp;quot;Haben Sie&lt;br /&gt;
nicht schon dreimal eine Karte gekauft?&amp;quot; Antwortet der Ostfriese: &amp;quot;Ja, aber&lt;br /&gt;
der Mann am Eingang zerreisst sie mir immer.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warum tragen die Ostfriesinnen Kopftuecher und die Ostfriesen&lt;br /&gt;
immer Muetzen ? Damit sich die Laeuse nicht erkaelten, denn wenn diese&lt;br /&gt;
husten, koennen die Ostfriesen nicht schlafen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein Ostfriese&lt;br /&gt;
zu seinem Nachbarn: &amp;quot;Ich habe jetzt ein Zahlenschloß an meinen Schweinestall&lt;br /&gt;
machen lassen. Alle Ziffern sind Fünfen, aber ich sage nicht, in welcher&lt;br /&gt;
Reihenfolge.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wie viele Ostfriesen werden&lt;br /&gt;
benoetigt, um einen Nagel in die Wand einzuschlagen? Zweiundzwanzig - einer&lt;br /&gt;
haelt den Nagel, einer den Hammer und zwanzig schieben die Wand vor und&lt;br /&gt;
zurueck.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Noch etwas aus einem ostfriesischen&lt;br /&gt;
Gerichtssaal. &amp;quot;Angeklagter, warum kommen Sie mit einem Knueppel zur&lt;br /&gt;
Verhandlung?&amp;quot; &amp;quot;In der Vorladung stand doch, fuer meine Verteidigung haette&lt;br /&gt;
ich selbst zu sorgen!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Und da war dann noch der&lt;br /&gt;
Mann, der auf der Suche nach dem ostfriesischen Nachtleben gluecklich in&lt;br /&gt;
einer Oben-Ohne-Bar landete. Warum sie so hiess, merkte er erst, als es ihm&lt;br /&gt;
in sein Bier reinregnete.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Witz Bilder ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=After_Effects_-_Snippets_(Expressions)&amp;diff=19224</id>
		<title>After Effects - Snippets (Expressions)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=After_Effects_-_Snippets_(Expressions)&amp;diff=19224"/>
		<updated>2012-07-20T05:49:08Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
&lt;br /&gt;
Zum automatisieren bieten sich in After Effects die sogenannten Expressions an. Damit lassen sich Vorgänge die mit mehreren Keyframes realisiert werden automatisieren. Man wendet eine Expression z.B. auf die Opacity Eigenschaft eines Clips an um ihn automatisch ohne Keyframes zu setzen Ein- und Auszublenden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Einige der Expressions sind von folgenden Seiten&lt;br /&gt;
&lt;br /&gt;
http://www.graymachine.com/2010/04/my-top-expressions/ (Zugriff 7/2012)&lt;br /&gt;
&lt;br /&gt;
Hat auch schöne Tutorials unter&lt;br /&gt;
&lt;br /&gt;
http://www.graymachine.com/tutorials/&lt;br /&gt;
&lt;br /&gt;
== Expression Snippets ==&lt;br /&gt;
&lt;br /&gt;
=== Autofade (Clip Fade In - Fade Out) ===&lt;br /&gt;
Blendet einen Clip mit einer bestimmten Anzahl von Frames ein und aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fadeTime = 12;&lt;br /&gt;
opacityMin = 0;&lt;br /&gt;
opacityMax = 100;&lt;br /&gt;
layerDuration = outPoint - inPoint;&lt;br /&gt;
singleFrame = thisComp.frameDuration;&lt;br /&gt;
&lt;br /&gt;
animateIn = linear(time, inPoint, (inPoint + framesToTime(fadeTime)), opacityMin, opacityMax);&lt;br /&gt;
animateOut = linear(time, (outPoint - framesToTime(fadeTime+1)), (outPoint-singleFrame), opacityMax, opacityMin);&lt;br /&gt;
&lt;br /&gt;
if(time &amp;lt; (layerDuration/2+inPoint)){&lt;br /&gt;
    animateIn;&lt;br /&gt;
}else{&lt;br /&gt;
animateOut;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Autofade 2 (Marker Version) ===&lt;br /&gt;
Diese Version kann Markers nutzen um den Fade In und Fade Out Punkt zu bestimmen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Autofade: Add to opacity&lt;br /&gt;
&lt;br /&gt;
transition = 20;       // transition time in frames&lt;br /&gt;
if (marker.numKeys&amp;lt;2){&lt;br /&gt;
tSecs = transition / ( 1 / thisComp.frameDuration); // convert to seconds&lt;br /&gt;
linear(time, inPoint, inPoint + tSecs, 0, 100) - linear(time, outPoint - tSecs, outPoint, 0, 100)&lt;br /&gt;
}else{&lt;br /&gt;
linear(time, inPoint, marker.key(1).time, 0, 100) - linear(time, marker.key(2).time, outPoint, 0, 100)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Intertial Bounce ===&lt;br /&gt;
Bouncing Bewegung auf alle möglichen Bewegungen anwendbar. Passt gut zu Text&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amp = .1;&lt;br /&gt;
freq = 2.0;&lt;br /&gt;
decay = 2.0;&lt;br /&gt;
&lt;br /&gt;
n = 0;&lt;br /&gt;
if (numKeys &amp;gt; 0){&lt;br /&gt;
n = nearestKey(time).index;&lt;br /&gt;
if (key(n).time &amp;gt; time){&lt;br /&gt;
n--;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
if (n == 0){ t = 0;&lt;br /&gt;
}else{&lt;br /&gt;
t = time - key(n).time;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (n &amp;gt; 0){&lt;br /&gt;
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);&lt;br /&gt;
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);&lt;br /&gt;
}else{value}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Snap Zoom In/Out ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Snap zoom in and out: apply to scale&lt;br /&gt;
snapScale = 300; //percent of scale to zoom&lt;br /&gt;
&lt;br /&gt;
trans = 4; //  transition time in frames&lt;br /&gt;
trans = trans * thisComp.frameDuration;&lt;br /&gt;
inTrans  = easeOut(time, inPoint, inPoint + trans, [snapScale,snapScale], [0,0]);&lt;br /&gt;
outTrans = easeIn(time, outPoint, outPoint - trans, [0,0], [snapScale, snapScale]);&lt;br /&gt;
value+ inTrans + outTrans&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Snap Zoom z-position ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zoom = 5000; //distance to zoom&lt;br /&gt;
trans = 4; //  transition time in frames&lt;br /&gt;
trans = trans * thisComp.frameDuration;&lt;br /&gt;
&lt;br /&gt;
inTrans  = easeIn(time, inPoint, inPoint + trans, [0,0,zoom], [0,0,0]);&lt;br /&gt;
outTrans = easeOut(time, outPoint, outPoint - trans*2, [0,0,0], [0,0,zoom]);&lt;br /&gt;
value+ inTrans - outTrans&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Y Axis Jitter ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Y Axis Jitter&lt;br /&gt;
probability = 8 ;  //higher is less likely&lt;br /&gt;
pos = 50;&lt;br /&gt;
&lt;br /&gt;
val  = random(-probability-2, 1);&lt;br /&gt;
m = clamp(val, 0, 1);&lt;br /&gt;
y = wiggle(10, pos*m)-position;&lt;br /&gt;
value + [0, y[1]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=After_Effects_-_Snippets_(Expressions)&amp;diff=19223</id>
		<title>After Effects - Snippets (Expressions)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=After_Effects_-_Snippets_(Expressions)&amp;diff=19223"/>
		<updated>2012-07-20T05:48:40Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Intertial Bounce */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
&lt;br /&gt;
Zum automatisieren bieten sich in After Effects die sogenannten Expressions an. Damit lassen sich Vorgänge die mit mehreren Keyframes realisiert werden automatisieren. Man wendet eine Expression z.B. auf die Opacity Eigenschaft eines Clips an um ihn automatisch ohne Keyframes zu setzen Ein- und Auszublenden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Einige der Expressions sind von folgenden Seiten&lt;br /&gt;
&lt;br /&gt;
http://www.graymachine.com/2010/04/my-top-expressions/ (Zugriff 7/2012)&lt;br /&gt;
== Expression Snippets ==&lt;br /&gt;
&lt;br /&gt;
=== Autofade (Clip Fade In - Fade Out) ===&lt;br /&gt;
Blendet einen Clip mit einer bestimmten Anzahl von Frames ein und aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fadeTime = 12;&lt;br /&gt;
opacityMin = 0;&lt;br /&gt;
opacityMax = 100;&lt;br /&gt;
layerDuration = outPoint - inPoint;&lt;br /&gt;
singleFrame = thisComp.frameDuration;&lt;br /&gt;
&lt;br /&gt;
animateIn = linear(time, inPoint, (inPoint + framesToTime(fadeTime)), opacityMin, opacityMax);&lt;br /&gt;
animateOut = linear(time, (outPoint - framesToTime(fadeTime+1)), (outPoint-singleFrame), opacityMax, opacityMin);&lt;br /&gt;
&lt;br /&gt;
if(time &amp;lt; (layerDuration/2+inPoint)){&lt;br /&gt;
    animateIn;&lt;br /&gt;
}else{&lt;br /&gt;
animateOut;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Autofade 2 (Marker Version) ===&lt;br /&gt;
Diese Version kann Markers nutzen um den Fade In und Fade Out Punkt zu bestimmen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Autofade: Add to opacity&lt;br /&gt;
&lt;br /&gt;
transition = 20;       // transition time in frames&lt;br /&gt;
if (marker.numKeys&amp;lt;2){&lt;br /&gt;
tSecs = transition / ( 1 / thisComp.frameDuration); // convert to seconds&lt;br /&gt;
linear(time, inPoint, inPoint + tSecs, 0, 100) - linear(time, outPoint - tSecs, outPoint, 0, 100)&lt;br /&gt;
}else{&lt;br /&gt;
linear(time, inPoint, marker.key(1).time, 0, 100) - linear(time, marker.key(2).time, outPoint, 0, 100)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Intertial Bounce ===&lt;br /&gt;
Bouncing Bewegung auf alle möglichen Bewegungen anwendbar. Passt gut zu Text&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amp = .1;&lt;br /&gt;
freq = 2.0;&lt;br /&gt;
decay = 2.0;&lt;br /&gt;
&lt;br /&gt;
n = 0;&lt;br /&gt;
if (numKeys &amp;gt; 0){&lt;br /&gt;
n = nearestKey(time).index;&lt;br /&gt;
if (key(n).time &amp;gt; time){&lt;br /&gt;
n--;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
if (n == 0){ t = 0;&lt;br /&gt;
}else{&lt;br /&gt;
t = time - key(n).time;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (n &amp;gt; 0){&lt;br /&gt;
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);&lt;br /&gt;
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);&lt;br /&gt;
}else{value}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Snap Zoom In/Out ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Snap zoom in and out: apply to scale&lt;br /&gt;
snapScale = 300; //percent of scale to zoom&lt;br /&gt;
&lt;br /&gt;
trans = 4; //  transition time in frames&lt;br /&gt;
trans = trans * thisComp.frameDuration;&lt;br /&gt;
inTrans  = easeOut(time, inPoint, inPoint + trans, [snapScale,snapScale], [0,0]);&lt;br /&gt;
outTrans = easeIn(time, outPoint, outPoint - trans, [0,0], [snapScale, snapScale]);&lt;br /&gt;
value+ inTrans + outTrans&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Snap Zoom z-position ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zoom = 5000; //distance to zoom&lt;br /&gt;
trans = 4; //  transition time in frames&lt;br /&gt;
trans = trans * thisComp.frameDuration;&lt;br /&gt;
&lt;br /&gt;
inTrans  = easeIn(time, inPoint, inPoint + trans, [0,0,zoom], [0,0,0]);&lt;br /&gt;
outTrans = easeOut(time, outPoint, outPoint - trans*2, [0,0,0], [0,0,zoom]);&lt;br /&gt;
value+ inTrans - outTrans&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Y Axis Jitter ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Y Axis Jitter&lt;br /&gt;
probability = 8 ;  //higher is less likely&lt;br /&gt;
pos = 50;&lt;br /&gt;
&lt;br /&gt;
val  = random(-probability-2, 1);&lt;br /&gt;
m = clamp(val, 0, 1);&lt;br /&gt;
y = wiggle(10, pos*m)-position;&lt;br /&gt;
value + [0, y[1]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=After_Effects_-_Snippets_(Expressions)&amp;diff=19222</id>
		<title>After Effects - Snippets (Expressions)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=After_Effects_-_Snippets_(Expressions)&amp;diff=19222"/>
		<updated>2012-07-20T05:45:20Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Autofade (Clip Fade In - Fade Out) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
&lt;br /&gt;
Zum automatisieren bieten sich in After Effects die sogenannten Expressions an. Damit lassen sich Vorgänge die mit mehreren Keyframes realisiert werden automatisieren. Man wendet eine Expression z.B. auf die Opacity Eigenschaft eines Clips an um ihn automatisch ohne Keyframes zu setzen Ein- und Auszublenden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Einige der Expressions sind von folgenden Seiten&lt;br /&gt;
&lt;br /&gt;
http://www.graymachine.com/2010/04/my-top-expressions/ (Zugriff 7/2012)&lt;br /&gt;
== Expression Snippets ==&lt;br /&gt;
&lt;br /&gt;
=== Autofade (Clip Fade In - Fade Out) ===&lt;br /&gt;
Blendet einen Clip mit einer bestimmten Anzahl von Frames ein und aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fadeTime = 12;&lt;br /&gt;
opacityMin = 0;&lt;br /&gt;
opacityMax = 100;&lt;br /&gt;
layerDuration = outPoint - inPoint;&lt;br /&gt;
singleFrame = thisComp.frameDuration;&lt;br /&gt;
&lt;br /&gt;
animateIn = linear(time, inPoint, (inPoint + framesToTime(fadeTime)), opacityMin, opacityMax);&lt;br /&gt;
animateOut = linear(time, (outPoint - framesToTime(fadeTime+1)), (outPoint-singleFrame), opacityMax, opacityMin);&lt;br /&gt;
&lt;br /&gt;
if(time &amp;lt; (layerDuration/2+inPoint)){&lt;br /&gt;
    animateIn;&lt;br /&gt;
}else{&lt;br /&gt;
animateOut;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Autofade 2 (Marker Version) ===&lt;br /&gt;
Diese Version kann Markers nutzen um den Fade In und Fade Out Punkt zu bestimmen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Autofade: Add to opacity&lt;br /&gt;
&lt;br /&gt;
transition = 20;       // transition time in frames&lt;br /&gt;
if (marker.numKeys&amp;lt;2){&lt;br /&gt;
tSecs = transition / ( 1 / thisComp.frameDuration); // convert to seconds&lt;br /&gt;
linear(time, inPoint, inPoint + tSecs, 0, 100) - linear(time, outPoint - tSecs, outPoint, 0, 100)&lt;br /&gt;
}else{&lt;br /&gt;
linear(time, inPoint, marker.key(1).time, 0, 100) - linear(time, marker.key(2).time, outPoint, 0, 100)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Intertial Bounce ===&lt;br /&gt;
Bouncing Bewegung auf alle möglichen Bewegungen anwendbar. Passt gut zu Text&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amp = .1;&lt;br /&gt;
freq = 2.0;&lt;br /&gt;
decay = 2.0;&lt;br /&gt;
&lt;br /&gt;
n = 0;&lt;br /&gt;
if (numKeys &amp;gt; 0){&lt;br /&gt;
n = nearestKey(time).index;&lt;br /&gt;
if (key(n).time &amp;gt; time){&lt;br /&gt;
n--;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
if (n == 0){ t = 0;&lt;br /&gt;
}else{&lt;br /&gt;
t = time - key(n).time;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (n &amp;gt; 0){&lt;br /&gt;
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);&lt;br /&gt;
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);&lt;br /&gt;
}else{value}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=After_Effects_-_Snippets_(Expressions)&amp;diff=19221</id>
		<title>After Effects - Snippets (Expressions)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=After_Effects_-_Snippets_(Expressions)&amp;diff=19221"/>
		<updated>2012-07-20T05:44:21Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: Die Seite wurde neu angelegt: „ == Quickstart ==  Zum automatisieren bieten sich in After Effects die sogenannten Expressions an. Damit lassen sich Vorgänge die mit mehreren Keyframes realisie…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Quickstart ==&lt;br /&gt;
&lt;br /&gt;
Zum automatisieren bieten sich in After Effects die sogenannten Expressions an. Damit lassen sich Vorgänge die mit mehreren Keyframes realisiert werden automatisieren. Man wendet eine Expression z.B. auf die Opacity Eigenschaft eines Clips an um ihn automatisch ohne Keyframes zu setzen Ein- und Auszublenden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Einige der Expressions sind von folgenden Seiten&lt;br /&gt;
&lt;br /&gt;
http://www.graymachine.com/2010/04/my-top-expressions/ (Zugriff 7/2012)&lt;br /&gt;
== Expression Snippets ==&lt;br /&gt;
&lt;br /&gt;
=== Autofade (Clip Fade In - Fade Out) ===&lt;br /&gt;
Blendet einen Clip mit einer bestimmten Anzahl von Frames ein und aus&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fadeTime = 12;&lt;br /&gt;
opacityMin = 0;&lt;br /&gt;
opacityMax = 100;&lt;br /&gt;
layerDuration = outPoint - inPoint;&lt;br /&gt;
singleFrame = thisComp.frameDuration;&lt;br /&gt;
&lt;br /&gt;
animateIn = linear(time, inPoint, (inPoint + framesToTime(fadeTime)), opacityMin, opacityMax);&lt;br /&gt;
animateOut = linear(time, (outPoint - framesToTime(fadeTime+1)), (outPoint-singleFrame), opacityMax, opacityMin);&lt;br /&gt;
&lt;br /&gt;
if(time &amp;lt; (layerDuration/2+inPoint)){&lt;br /&gt;
    animateIn;&lt;br /&gt;
}else{&lt;br /&gt;
animateOut;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Intertial Bounce ===&lt;br /&gt;
Bouncing Bewegung auf alle möglichen Bewegungen anwendbar. Passt gut zu Text&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
amp = .1;&lt;br /&gt;
freq = 2.0;&lt;br /&gt;
decay = 2.0;&lt;br /&gt;
&lt;br /&gt;
n = 0;&lt;br /&gt;
if (numKeys &amp;gt; 0){&lt;br /&gt;
n = nearestKey(time).index;&lt;br /&gt;
if (key(n).time &amp;gt; time){&lt;br /&gt;
n--;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
if (n == 0){ t = 0;&lt;br /&gt;
}else{&lt;br /&gt;
t = time - key(n).time;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (n &amp;gt; 0){&lt;br /&gt;
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);&lt;br /&gt;
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);&lt;br /&gt;
}else{value}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=After_Effects&amp;diff=19220</id>
		<title>After Effects</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=After_Effects&amp;diff=19220"/>
		<updated>2012-07-20T05:36:59Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: Die Seite wurde neu angelegt: „After Effects - Snippets (Expressions)“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[After Effects - Snippets (Expressions)]]&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JQuery_-_Snippets&amp;diff=19219</id>
		<title>JQuery - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JQuery_-_Snippets&amp;diff=19219"/>
		<updated>2012-07-18T13:55:21Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Werte von Formularen auslesen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nützliche jQuery Schnipsel&lt;br /&gt;
== Grundgerüst zum testen ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta content=&amp;quot;text/html; charset=ISO-8859-1&amp;quot; http-equiv=&amp;quot;content-type&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Test&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;	&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function newFunc(myParam){&lt;br /&gt;
	alert(&amp;#039;hello world&amp;#039;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Testpage&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Links ==&lt;br /&gt;
[[JavaScript - Snippets]]&lt;br /&gt;
&lt;br /&gt;
http://css-tricks.com/snippets/jquery/&lt;br /&gt;
&lt;br /&gt;
=== jQuery Countdown Scripts ===&lt;br /&gt;
http://www.tripwiremagazine.com/2012/01/jquery-countdown-scripts.html&lt;br /&gt;
&lt;br /&gt;
== Formulare ==&lt;br /&gt;
=== Fokus auf erstes Input-Feld im Formular setzen ===&lt;br /&gt;
 // focus on the first text input field on the page&lt;br /&gt;
 $(&amp;quot;input[type=&amp;#039;text&amp;#039;]:first&amp;quot;, document.forms[0]).focus();&lt;br /&gt;
&lt;br /&gt;
=== Werte von Formularen auslesen ===&lt;br /&gt;
http://www.beier-christian.eu/blog/weblog/jquery-ausgewahlte-option-aus-select-box-auslesen/&lt;br /&gt;
&lt;br /&gt;
==== Select Boxen ====&lt;br /&gt;
Hinweis, vieles ist natürlich auch mit anderen Elementen möglich.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;label for=&amp;quot;obst&amp;quot;&amp;gt;Obst&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;select name=&amp;quot;obst&amp;quot; id=&amp;quot;obst&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;Orange&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Apfel&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;3&amp;quot;&amp;gt;Banane&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wert auslesen&lt;br /&gt;
 $(&amp;#039;select#obst&amp;#039;).val();&lt;br /&gt;
&lt;br /&gt;
Text des Wertes auslesen&lt;br /&gt;
 $(&amp;#039;select#obst :selected&amp;#039;).text();&lt;br /&gt;
&lt;br /&gt;
Text mehrerer gewählter Optionen ausgeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;#039;select#obst :selected&amp;#039;).each(function(i, option) {&lt;br /&gt;
  // Verarbeitung der Optionen&lt;br /&gt;
  alert(option.value + &amp;#039; &amp;#039; + option.text);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Beispiel: Alle gewählten Werte bei Veränderung in ein div (id=message) schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;quot;select&amp;quot;).change(function () {&lt;br /&gt;
  var str = &amp;quot;&amp;quot;;&lt;br /&gt;
  $(&amp;quot;select option:selected&amp;quot;).each(function () {&lt;br /&gt;
    str += $(this).text();&lt;br /&gt;
  });&lt;br /&gt;
  $(&amp;quot;div#message&amp;quot;).text(str);&lt;br /&gt;
}).change(); &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Checkboxen ====&lt;br /&gt;
Links:&lt;br /&gt;
http://technosophos.com/node/223 (Zugriff 07-2012)&lt;br /&gt;
&lt;br /&gt;
Beispiele&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Checked ? Returns a boolean, true if checked, false otherwise&lt;br /&gt;
jQuery(&amp;#039;#my-checkbox&amp;#039;).is(&amp;#039;:checked&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
// Check checkbox - this sets the attribute checked=&amp;quot;checked&amp;quot;&lt;br /&gt;
jQuery(&amp;#039;#my-checkbox&amp;#039;).attr(&amp;#039;checked&amp;#039;,&amp;#039;checked&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
// Uncheck checkbox (right way)&lt;br /&gt;
jQuery(&amp;#039;#my-checkbox&amp;#039;).removeAttr(&amp;#039;checked&amp;#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Check / Uncheck everything&lt;br /&gt;
&lt;br /&gt;
// Check anything that is not already checked:&lt;br /&gt;
jQuery(&amp;#039;:checkbox:not(:checked)&amp;#039;).attr(&amp;#039;checked&amp;#039;, &amp;#039;checked&amp;#039;);&lt;br /&gt;
 &lt;br /&gt;
// Remove the checkbox&lt;br /&gt;
jQuery(&amp;#039;:checkbox:checked&amp;#039;).removeAttr(&amp;#039;checked&amp;#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Browser ==&lt;br /&gt;
=== Resize des Browserfensters feststellen ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
$(document).ready(function(){&lt;br /&gt;
 &lt;br /&gt;
//If the User resizes the window, adjust the #container height&lt;br /&gt;
$(window).bind(&amp;quot;resize&amp;quot;, resizeWindow);&lt;br /&gt;
function resizeWindow( e ) {&lt;br /&gt;
	var newWindowHeight = $(window).height();&lt;br /&gt;
	$(&amp;quot;#container&amp;quot;).css(&amp;quot;min-height&amp;quot;, newWindowHeight );&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
});			&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Templates - Vorlagen ==&lt;br /&gt;
=== XHTML 1.0 Template mit jQuery ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Title goes here &amp;amp;raquo; Site title here&amp;lt;/title&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Meta Tags --&amp;gt;&lt;br /&gt;
	&amp;lt;base href=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;author&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;copyright&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;generator&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;expires&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;cache-control&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- Fav icon --&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;shortcut icon&amp;quot; href=&amp;quot;/favicon.ico&amp;quot; type=&amp;quot;image/x-icon&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- JavaScript setup --&amp;gt;&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	/*&amp;lt;![CDATA[*/&lt;br /&gt;
	// add &amp;#039;js&amp;#039; class to root element to nicely allow css that degrades gracefully if js is disabled&lt;br /&gt;
	document.getElementsByTagName(&amp;#039;html&amp;#039;)[0].className = &amp;#039;js&amp;#039;;&lt;br /&gt;
	/*]]&amp;gt;*/&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- CSS --&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/screen.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen, projection&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/print.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;print&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!--[if IE]&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/ie-all.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen, projection&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;![endif]--&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
		&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;h1&amp;gt;Title of page goes here&amp;lt;/h1&amp;gt;&lt;br /&gt;
			&amp;lt;h2&amp;gt;Subtitle of page goes here&amp;lt;/h2&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end header div --&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;div id=&amp;quot;nav&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;breadcrumbs&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sub directory&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Current page&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end nav div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;sidebar&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sidebar link #1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sidebar link #2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;div id=&amp;quot;sub1&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h3&amp;gt;Title of content&amp;lt;/h3&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Begin content here&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
			&amp;lt;div id=&amp;quot;sub2&amp;quot; class=&amp;quot;hide&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h3&amp;gt;Title of content&amp;lt;/h3&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Begin content here&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end main div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;p&amp;gt;&amp;amp;copy;2XXX company name here. Creative Commons link, your own link, validation, etc.&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end footer div --&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
	&amp;lt;/div&amp;gt;&amp;lt;!-- end container div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;/scripts/app.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;!-- place Google Analytics code here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== JavaScript nachladen während die Seite schon angezeigt wird ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Add this onDocumentReady function to the end of the jQuery.js file. &lt;br /&gt;
// It MUST be in the jquery file to work correctly.&lt;br /&gt;
$(function(){&lt;br /&gt;
	var scripts = /\?(.*)/, files = [], path = /^.*\//, loaded = 0, count = 0;&lt;br /&gt;
 &lt;br /&gt;
	$(&amp;#039;script&amp;#039;).each(function(){&lt;br /&gt;
		var src = $(this).attr(&amp;#039;src&amp;#039;);&lt;br /&gt;
		if (!scripts.test(src)) return;&lt;br /&gt;
		var pathto = src.match(path);&lt;br /&gt;
		files = files.concat($.map(src.match(scripts).pop().split(&amp;#039;,&amp;#039;), function(e,i){&lt;br /&gt;
			return pathto+e+&amp;#039;.js&amp;#039;&lt;br /&gt;
		}));&lt;br /&gt;
	})&lt;br /&gt;
 &lt;br /&gt;
	count = files.length;&lt;br /&gt;
 &lt;br /&gt;
	$.each(files, function(){&lt;br /&gt;
		$.getScript(this, function(){&lt;br /&gt;
			loaded++;&lt;br /&gt;
			if(loaded == count &amp;amp;&amp;amp; typeof onBackload == &amp;#039;function&amp;#039;)&lt;br /&gt;
				onBackload(loaded)&lt;br /&gt;
		})&lt;br /&gt;
	})&lt;br /&gt;
});&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * If you have the following script tags:&lt;br /&gt;
 * 	&amp;lt;script src=&amp;quot;/path/to/jquery.min.js?somefile,otherfile.min,thirdfile&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 * 	&amp;lt;script src=&amp;quot;/other/path/foo.js?different.file,final.file&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 * This script will &amp;quot;backload&amp;quot; the following files:&lt;br /&gt;
 * 	/path/to/somefile.js&lt;br /&gt;
 *	/path/to/otherfile.min.js&lt;br /&gt;
 * 	/path/to/thirdfile.js&lt;br /&gt;
 * 	/other/path/different.file.js&lt;br /&gt;
 *	/other/path/final.file.js&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// And if you declare a function named &amp;quot;onBackload&amp;quot;, it will be fired when all the scripts are loaded&lt;br /&gt;
// This is handy for getting things going once you&amp;#039;re confident your scripts have all been included.&lt;br /&gt;
function onBackload(loaded){&lt;br /&gt;
	alert(&amp;#039;All &amp;#039; + loaded + &amp;#039; files backloaded!&amp;#039;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DOM Manipulation ==&lt;br /&gt;
=== Einfaches Rollover Hide Show Skript ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	/*&amp;lt;![CDATA[*/&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
//var j = jQuery.noConflict();&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    hideAllItems();	&lt;br /&gt;
&lt;br /&gt;
    $(&amp;quot;h5&amp;quot;).hover( &lt;br /&gt;
      function () {&lt;br /&gt;
         showItem($(this));&lt;br /&gt;
      }, &lt;br /&gt;
      function () {&lt;br /&gt;
        hideItem($(this));&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    );&lt;br /&gt;
 &lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function hideAllItems(){&lt;br /&gt;
    $(&amp;quot;.bodytext&amp;quot;).hide();	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function showItem(myItem){&lt;br /&gt;
      myItem.next().fadeIn(250);&lt;br /&gt;
      myItem.parent().addClass(&amp;quot;topLine&amp;quot;);&lt;br /&gt;
    //myItem.parents().append($(&amp;quot;&amp;lt;span&amp;gt; ***&amp;lt;/span&amp;gt;&amp;quot;));&lt;br /&gt;
    //myItem.parents().(&amp;quot;p&amp;quot;).fadeIn(250);&lt;br /&gt;
    //myItem.parents().append($(&amp;quot;&amp;lt;span&amp;gt; ***&amp;lt;/span&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function hideItem(myItem){&lt;br /&gt;
    myItem.next().fadeOut(250);&lt;br /&gt;
    myItem.parent().removeClass(&amp;quot;topLine&amp;quot;);&lt;br /&gt;
    //hideAllItems();&lt;br /&gt;
    //myItem.find(&amp;quot;span:last&amp;quot;).remove();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// --&amp;gt;&lt;br /&gt;
	/*]]&amp;gt;*/&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Media:Maphilight-sample01.zip]]‎&lt;br /&gt;
&lt;br /&gt;
===Append Site Overlay DIV===&lt;br /&gt;
&lt;br /&gt;
Quelle: http://css-tricks.com/snippets/jquery/append-site-overlay-div/ (11/2011)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(function() {&lt;br /&gt;
&lt;br /&gt;
   var docHeight = $(document).height();&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;body&amp;quot;).append(&amp;quot;&amp;lt;div id=&amp;#039;overlay&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;#overlay&amp;quot;)&lt;br /&gt;
      .height(docHeight)&lt;br /&gt;
      .css({&lt;br /&gt;
         &amp;#039;opacity&amp;#039; : 0.4,&lt;br /&gt;
         &amp;#039;position&amp;#039;: &amp;#039;absolute&amp;#039;,&lt;br /&gt;
         &amp;#039;top&amp;#039;: 0,&lt;br /&gt;
         &amp;#039;left&amp;#039;: 0,&lt;br /&gt;
         &amp;#039;background-color&amp;#039;: &amp;#039;black&amp;#039;,&lt;br /&gt;
         &amp;#039;width&amp;#039;: &amp;#039;100%&amp;#039;,&lt;br /&gt;
         &amp;#039;z-index&amp;#039;: 5000&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== jQuery - overlay, modal box, lightbox, tooltips ===&lt;br /&gt;
Infos über die verschiedenen Möglichkeiten und die Unterschiede (Todo)&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
=== Position eines Elements auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// get Pos of act Item&lt;br /&gt;
var position = $(&amp;quot;#myElement&amp;quot;).offset();&lt;br /&gt;
//console.log(position);&lt;br /&gt;
&lt;br /&gt;
//set positon to other elements...&lt;br /&gt;
$(&amp;quot;#otherElement&amp;quot;).css(position);&lt;br /&gt;
$(&amp;quot;#anotherElement&amp;quot;).css(&amp;quot;top&amp;quot;,(position.top+5));&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usability ==&lt;br /&gt;
=== Loading Icon bis Seite komplett geladen ist ===&lt;br /&gt;
Quelle: siehe Links&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta charset=&amp;#039;UTF-8&amp;#039;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Simple Loader&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;style&amp;gt;&lt;br /&gt;
		/* This only works with JavaScript,&lt;br /&gt;
		   if it&amp;#039;s not present, don&amp;#039;t show loader */&lt;br /&gt;
		.no-js #loader { display: none;  }&lt;br /&gt;
		.js #loader { display: block; position: absolute; left: 100px; top: 0; }&lt;br /&gt;
	&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;script src=&amp;quot;https://github.com/Modernizr/Modernizr/raw/master/modernizr.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;script&amp;gt;&lt;br /&gt;
		// Wait for window load&lt;br /&gt;
		$(window).load(function() {&lt;br /&gt;
			// Animate loader off screen&lt;br /&gt;
			$(&amp;quot;#loader&amp;quot;).animate({&lt;br /&gt;
				top: -200&lt;br /&gt;
			}, 1500);&lt;br /&gt;
		});&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;img src=&amp;quot;download.png&amp;quot; id=&amp;quot;loader&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;img src=&amp;quot;http://farm6.static.flickr.com/5299/5400751421_55d49b2786_o.jpg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JQuery_-_Snippets&amp;diff=19218</id>
		<title>JQuery - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JQuery_-_Snippets&amp;diff=19218"/>
		<updated>2012-07-18T13:45:35Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Werte von Formularen auslesen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nützliche jQuery Schnipsel&lt;br /&gt;
== Grundgerüst zum testen ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta content=&amp;quot;text/html; charset=ISO-8859-1&amp;quot; http-equiv=&amp;quot;content-type&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Test&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;	&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function newFunc(myParam){&lt;br /&gt;
	alert(&amp;#039;hello world&amp;#039;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Testpage&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Links ==&lt;br /&gt;
[[JavaScript - Snippets]]&lt;br /&gt;
&lt;br /&gt;
http://css-tricks.com/snippets/jquery/&lt;br /&gt;
&lt;br /&gt;
=== jQuery Countdown Scripts ===&lt;br /&gt;
http://www.tripwiremagazine.com/2012/01/jquery-countdown-scripts.html&lt;br /&gt;
&lt;br /&gt;
== Formulare ==&lt;br /&gt;
=== Fokus auf erstes Input-Feld im Formular setzen ===&lt;br /&gt;
 // focus on the first text input field on the page&lt;br /&gt;
 $(&amp;quot;input[type=&amp;#039;text&amp;#039;]:first&amp;quot;, document.forms[0]).focus();&lt;br /&gt;
&lt;br /&gt;
=== Werte von Formularen auslesen ===&lt;br /&gt;
http://www.beier-christian.eu/blog/weblog/jquery-ausgewahlte-option-aus-select-box-auslesen/&lt;br /&gt;
&lt;br /&gt;
Beispiel Select Feld:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;label for=&amp;quot;obst&amp;quot;&amp;gt;Obst&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;select name=&amp;quot;obst&amp;quot; id=&amp;quot;obst&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;Orange&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Apfel&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;3&amp;quot;&amp;gt;Banane&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wert auslesen&lt;br /&gt;
 $(&amp;#039;select#obst&amp;#039;).val();&lt;br /&gt;
&lt;br /&gt;
Text des Wertes auslesen&lt;br /&gt;
 $(&amp;#039;select#obst :selected&amp;#039;).text();&lt;br /&gt;
&lt;br /&gt;
Text mehrerer gewählter Optionen ausgeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;#039;select#obst :selected&amp;#039;).each(function(i, option) {&lt;br /&gt;
  // Verarbeitung der Optionen&lt;br /&gt;
  alert(option.value + &amp;#039; &amp;#039; + option.text);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Beispiel: Alle gewählten Werte bei Veränderung in ein div (id=message) schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;quot;select&amp;quot;).change(function () {&lt;br /&gt;
  var str = &amp;quot;&amp;quot;;&lt;br /&gt;
  $(&amp;quot;select option:selected&amp;quot;).each(function () {&lt;br /&gt;
    str += $(this).text();&lt;br /&gt;
  });&lt;br /&gt;
  $(&amp;quot;div#message&amp;quot;).text(str);&lt;br /&gt;
}).change(); &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Browser ==&lt;br /&gt;
=== Resize des Browserfensters feststellen ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
$(document).ready(function(){&lt;br /&gt;
 &lt;br /&gt;
//If the User resizes the window, adjust the #container height&lt;br /&gt;
$(window).bind(&amp;quot;resize&amp;quot;, resizeWindow);&lt;br /&gt;
function resizeWindow( e ) {&lt;br /&gt;
	var newWindowHeight = $(window).height();&lt;br /&gt;
	$(&amp;quot;#container&amp;quot;).css(&amp;quot;min-height&amp;quot;, newWindowHeight );&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
});			&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Templates - Vorlagen ==&lt;br /&gt;
=== XHTML 1.0 Template mit jQuery ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Title goes here &amp;amp;raquo; Site title here&amp;lt;/title&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Meta Tags --&amp;gt;&lt;br /&gt;
	&amp;lt;base href=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;author&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;copyright&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;generator&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;expires&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;cache-control&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- Fav icon --&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;shortcut icon&amp;quot; href=&amp;quot;/favicon.ico&amp;quot; type=&amp;quot;image/x-icon&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- JavaScript setup --&amp;gt;&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	/*&amp;lt;![CDATA[*/&lt;br /&gt;
	// add &amp;#039;js&amp;#039; class to root element to nicely allow css that degrades gracefully if js is disabled&lt;br /&gt;
	document.getElementsByTagName(&amp;#039;html&amp;#039;)[0].className = &amp;#039;js&amp;#039;;&lt;br /&gt;
	/*]]&amp;gt;*/&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- CSS --&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/screen.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen, projection&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/print.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;print&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!--[if IE]&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/ie-all.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen, projection&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;![endif]--&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
		&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;h1&amp;gt;Title of page goes here&amp;lt;/h1&amp;gt;&lt;br /&gt;
			&amp;lt;h2&amp;gt;Subtitle of page goes here&amp;lt;/h2&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end header div --&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;div id=&amp;quot;nav&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;breadcrumbs&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sub directory&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Current page&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end nav div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;sidebar&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sidebar link #1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sidebar link #2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;div id=&amp;quot;sub1&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h3&amp;gt;Title of content&amp;lt;/h3&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Begin content here&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
			&amp;lt;div id=&amp;quot;sub2&amp;quot; class=&amp;quot;hide&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h3&amp;gt;Title of content&amp;lt;/h3&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Begin content here&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end main div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;p&amp;gt;&amp;amp;copy;2XXX company name here. Creative Commons link, your own link, validation, etc.&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end footer div --&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
	&amp;lt;/div&amp;gt;&amp;lt;!-- end container div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;/scripts/app.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;!-- place Google Analytics code here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== JavaScript nachladen während die Seite schon angezeigt wird ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Add this onDocumentReady function to the end of the jQuery.js file. &lt;br /&gt;
// It MUST be in the jquery file to work correctly.&lt;br /&gt;
$(function(){&lt;br /&gt;
	var scripts = /\?(.*)/, files = [], path = /^.*\//, loaded = 0, count = 0;&lt;br /&gt;
 &lt;br /&gt;
	$(&amp;#039;script&amp;#039;).each(function(){&lt;br /&gt;
		var src = $(this).attr(&amp;#039;src&amp;#039;);&lt;br /&gt;
		if (!scripts.test(src)) return;&lt;br /&gt;
		var pathto = src.match(path);&lt;br /&gt;
		files = files.concat($.map(src.match(scripts).pop().split(&amp;#039;,&amp;#039;), function(e,i){&lt;br /&gt;
			return pathto+e+&amp;#039;.js&amp;#039;&lt;br /&gt;
		}));&lt;br /&gt;
	})&lt;br /&gt;
 &lt;br /&gt;
	count = files.length;&lt;br /&gt;
 &lt;br /&gt;
	$.each(files, function(){&lt;br /&gt;
		$.getScript(this, function(){&lt;br /&gt;
			loaded++;&lt;br /&gt;
			if(loaded == count &amp;amp;&amp;amp; typeof onBackload == &amp;#039;function&amp;#039;)&lt;br /&gt;
				onBackload(loaded)&lt;br /&gt;
		})&lt;br /&gt;
	})&lt;br /&gt;
});&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * If you have the following script tags:&lt;br /&gt;
 * 	&amp;lt;script src=&amp;quot;/path/to/jquery.min.js?somefile,otherfile.min,thirdfile&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 * 	&amp;lt;script src=&amp;quot;/other/path/foo.js?different.file,final.file&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 * This script will &amp;quot;backload&amp;quot; the following files:&lt;br /&gt;
 * 	/path/to/somefile.js&lt;br /&gt;
 *	/path/to/otherfile.min.js&lt;br /&gt;
 * 	/path/to/thirdfile.js&lt;br /&gt;
 * 	/other/path/different.file.js&lt;br /&gt;
 *	/other/path/final.file.js&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// And if you declare a function named &amp;quot;onBackload&amp;quot;, it will be fired when all the scripts are loaded&lt;br /&gt;
// This is handy for getting things going once you&amp;#039;re confident your scripts have all been included.&lt;br /&gt;
function onBackload(loaded){&lt;br /&gt;
	alert(&amp;#039;All &amp;#039; + loaded + &amp;#039; files backloaded!&amp;#039;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DOM Manipulation ==&lt;br /&gt;
=== Einfaches Rollover Hide Show Skript ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	/*&amp;lt;![CDATA[*/&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
//var j = jQuery.noConflict();&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    hideAllItems();	&lt;br /&gt;
&lt;br /&gt;
    $(&amp;quot;h5&amp;quot;).hover( &lt;br /&gt;
      function () {&lt;br /&gt;
         showItem($(this));&lt;br /&gt;
      }, &lt;br /&gt;
      function () {&lt;br /&gt;
        hideItem($(this));&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    );&lt;br /&gt;
 &lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function hideAllItems(){&lt;br /&gt;
    $(&amp;quot;.bodytext&amp;quot;).hide();	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function showItem(myItem){&lt;br /&gt;
      myItem.next().fadeIn(250);&lt;br /&gt;
      myItem.parent().addClass(&amp;quot;topLine&amp;quot;);&lt;br /&gt;
    //myItem.parents().append($(&amp;quot;&amp;lt;span&amp;gt; ***&amp;lt;/span&amp;gt;&amp;quot;));&lt;br /&gt;
    //myItem.parents().(&amp;quot;p&amp;quot;).fadeIn(250);&lt;br /&gt;
    //myItem.parents().append($(&amp;quot;&amp;lt;span&amp;gt; ***&amp;lt;/span&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function hideItem(myItem){&lt;br /&gt;
    myItem.next().fadeOut(250);&lt;br /&gt;
    myItem.parent().removeClass(&amp;quot;topLine&amp;quot;);&lt;br /&gt;
    //hideAllItems();&lt;br /&gt;
    //myItem.find(&amp;quot;span:last&amp;quot;).remove();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// --&amp;gt;&lt;br /&gt;
	/*]]&amp;gt;*/&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Media:Maphilight-sample01.zip]]‎&lt;br /&gt;
&lt;br /&gt;
===Append Site Overlay DIV===&lt;br /&gt;
&lt;br /&gt;
Quelle: http://css-tricks.com/snippets/jquery/append-site-overlay-div/ (11/2011)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(function() {&lt;br /&gt;
&lt;br /&gt;
   var docHeight = $(document).height();&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;body&amp;quot;).append(&amp;quot;&amp;lt;div id=&amp;#039;overlay&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;#overlay&amp;quot;)&lt;br /&gt;
      .height(docHeight)&lt;br /&gt;
      .css({&lt;br /&gt;
         &amp;#039;opacity&amp;#039; : 0.4,&lt;br /&gt;
         &amp;#039;position&amp;#039;: &amp;#039;absolute&amp;#039;,&lt;br /&gt;
         &amp;#039;top&amp;#039;: 0,&lt;br /&gt;
         &amp;#039;left&amp;#039;: 0,&lt;br /&gt;
         &amp;#039;background-color&amp;#039;: &amp;#039;black&amp;#039;,&lt;br /&gt;
         &amp;#039;width&amp;#039;: &amp;#039;100%&amp;#039;,&lt;br /&gt;
         &amp;#039;z-index&amp;#039;: 5000&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== jQuery - overlay, modal box, lightbox, tooltips ===&lt;br /&gt;
Infos über die verschiedenen Möglichkeiten und die Unterschiede (Todo)&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
=== Position eines Elements auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// get Pos of act Item&lt;br /&gt;
var position = $(&amp;quot;#myElement&amp;quot;).offset();&lt;br /&gt;
//console.log(position);&lt;br /&gt;
&lt;br /&gt;
//set positon to other elements...&lt;br /&gt;
$(&amp;quot;#otherElement&amp;quot;).css(position);&lt;br /&gt;
$(&amp;quot;#anotherElement&amp;quot;).css(&amp;quot;top&amp;quot;,(position.top+5));&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usability ==&lt;br /&gt;
=== Loading Icon bis Seite komplett geladen ist ===&lt;br /&gt;
Quelle: siehe Links&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta charset=&amp;#039;UTF-8&amp;#039;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Simple Loader&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;style&amp;gt;&lt;br /&gt;
		/* This only works with JavaScript,&lt;br /&gt;
		   if it&amp;#039;s not present, don&amp;#039;t show loader */&lt;br /&gt;
		.no-js #loader { display: none;  }&lt;br /&gt;
		.js #loader { display: block; position: absolute; left: 100px; top: 0; }&lt;br /&gt;
	&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;script src=&amp;quot;https://github.com/Modernizr/Modernizr/raw/master/modernizr.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;script&amp;gt;&lt;br /&gt;
		// Wait for window load&lt;br /&gt;
		$(window).load(function() {&lt;br /&gt;
			// Animate loader off screen&lt;br /&gt;
			$(&amp;quot;#loader&amp;quot;).animate({&lt;br /&gt;
				top: -200&lt;br /&gt;
			}, 1500);&lt;br /&gt;
		});&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;img src=&amp;quot;download.png&amp;quot; id=&amp;quot;loader&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;img src=&amp;quot;http://farm6.static.flickr.com/5299/5400751421_55d49b2786_o.jpg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JQuery_-_Snippets&amp;diff=19217</id>
		<title>JQuery - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JQuery_-_Snippets&amp;diff=19217"/>
		<updated>2012-07-18T13:45:16Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: /* Fokus auf erstes Input-Feld im Formular setzen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nützliche jQuery Schnipsel&lt;br /&gt;
== Grundgerüst zum testen ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta content=&amp;quot;text/html; charset=ISO-8859-1&amp;quot; http-equiv=&amp;quot;content-type&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Test&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;	&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function newFunc(myParam){&lt;br /&gt;
	alert(&amp;#039;hello world&amp;#039;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Testpage&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Links ==&lt;br /&gt;
[[JavaScript - Snippets]]&lt;br /&gt;
&lt;br /&gt;
http://css-tricks.com/snippets/jquery/&lt;br /&gt;
&lt;br /&gt;
=== jQuery Countdown Scripts ===&lt;br /&gt;
http://www.tripwiremagazine.com/2012/01/jquery-countdown-scripts.html&lt;br /&gt;
&lt;br /&gt;
== Formulare ==&lt;br /&gt;
=== Fokus auf erstes Input-Feld im Formular setzen ===&lt;br /&gt;
 // focus on the first text input field on the page&lt;br /&gt;
 $(&amp;quot;input[type=&amp;#039;text&amp;#039;]:first&amp;quot;, document.forms[0]).focus();&lt;br /&gt;
&lt;br /&gt;
=== Werte von Formularen auslesen ===&lt;br /&gt;
http://www.beier-christian.eu/blog/weblog/jquery-ausgewahlte-option-aus-select-box-auslesen/&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;label for=&amp;quot;obst&amp;quot;&amp;gt;Obst&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;select name=&amp;quot;obst&amp;quot; id=&amp;quot;obst&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;Orange&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Apfel&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;option value=&amp;quot;3&amp;quot;&amp;gt;Banane&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wert auslesen&lt;br /&gt;
 $(&amp;#039;select#obst&amp;#039;).val();&lt;br /&gt;
&lt;br /&gt;
Text des Wertes auslesen&lt;br /&gt;
 $(&amp;#039;select#obst :selected&amp;#039;).text();&lt;br /&gt;
&lt;br /&gt;
Text mehrerer gewählter Optionen ausgeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;#039;select#obst :selected&amp;#039;).each(function(i, option) {&lt;br /&gt;
  // Verarbeitung der Optionen&lt;br /&gt;
  alert(option.value + &amp;#039; &amp;#039; + option.text);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Beispiel: Alle gewählten Werte bei Veränderung in ein div (id=message) schreiben:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(&amp;quot;select&amp;quot;).change(function () {&lt;br /&gt;
  var str = &amp;quot;&amp;quot;;&lt;br /&gt;
  $(&amp;quot;select option:selected&amp;quot;).each(function () {&lt;br /&gt;
    str += $(this).text();&lt;br /&gt;
  });&lt;br /&gt;
  $(&amp;quot;div#message&amp;quot;).text(str);&lt;br /&gt;
}).change(); &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Browser ==&lt;br /&gt;
=== Resize des Browserfensters feststellen ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
$(document).ready(function(){&lt;br /&gt;
 &lt;br /&gt;
//If the User resizes the window, adjust the #container height&lt;br /&gt;
$(window).bind(&amp;quot;resize&amp;quot;, resizeWindow);&lt;br /&gt;
function resizeWindow( e ) {&lt;br /&gt;
	var newWindowHeight = $(window).height();&lt;br /&gt;
	$(&amp;quot;#container&amp;quot;).css(&amp;quot;min-height&amp;quot;, newWindowHeight );&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
});			&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Templates - Vorlagen ==&lt;br /&gt;
=== XHTML 1.0 Template mit jQuery ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Title goes here &amp;amp;raquo; Site title here&amp;lt;/title&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Meta Tags --&amp;gt;&lt;br /&gt;
	&amp;lt;base href=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;author&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;copyright&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;generator&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;expires&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;cache-control&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- Fav icon --&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;shortcut icon&amp;quot; href=&amp;quot;/favicon.ico&amp;quot; type=&amp;quot;image/x-icon&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- JavaScript setup --&amp;gt;&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	/*&amp;lt;![CDATA[*/&lt;br /&gt;
	// add &amp;#039;js&amp;#039; class to root element to nicely allow css that degrades gracefully if js is disabled&lt;br /&gt;
	document.getElementsByTagName(&amp;#039;html&amp;#039;)[0].className = &amp;#039;js&amp;#039;;&lt;br /&gt;
	/*]]&amp;gt;*/&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- CSS --&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/screen.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen, projection&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/print.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;print&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!--[if IE]&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/ie-all.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen, projection&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;![endif]--&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
		&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;h1&amp;gt;Title of page goes here&amp;lt;/h1&amp;gt;&lt;br /&gt;
			&amp;lt;h2&amp;gt;Subtitle of page goes here&amp;lt;/h2&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end header div --&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;div id=&amp;quot;nav&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;breadcrumbs&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sub directory&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Current page&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end nav div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;sidebar&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sidebar link #1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sidebar link #2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;div id=&amp;quot;sub1&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h3&amp;gt;Title of content&amp;lt;/h3&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Begin content here&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
			&amp;lt;div id=&amp;quot;sub2&amp;quot; class=&amp;quot;hide&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h3&amp;gt;Title of content&amp;lt;/h3&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Begin content here&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end main div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;p&amp;gt;&amp;amp;copy;2XXX company name here. Creative Commons link, your own link, validation, etc.&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end footer div --&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
	&amp;lt;/div&amp;gt;&amp;lt;!-- end container div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;/scripts/app.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;!-- place Google Analytics code here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== JavaScript nachladen während die Seite schon angezeigt wird ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Add this onDocumentReady function to the end of the jQuery.js file. &lt;br /&gt;
// It MUST be in the jquery file to work correctly.&lt;br /&gt;
$(function(){&lt;br /&gt;
	var scripts = /\?(.*)/, files = [], path = /^.*\//, loaded = 0, count = 0;&lt;br /&gt;
 &lt;br /&gt;
	$(&amp;#039;script&amp;#039;).each(function(){&lt;br /&gt;
		var src = $(this).attr(&amp;#039;src&amp;#039;);&lt;br /&gt;
		if (!scripts.test(src)) return;&lt;br /&gt;
		var pathto = src.match(path);&lt;br /&gt;
		files = files.concat($.map(src.match(scripts).pop().split(&amp;#039;,&amp;#039;), function(e,i){&lt;br /&gt;
			return pathto+e+&amp;#039;.js&amp;#039;&lt;br /&gt;
		}));&lt;br /&gt;
	})&lt;br /&gt;
 &lt;br /&gt;
	count = files.length;&lt;br /&gt;
 &lt;br /&gt;
	$.each(files, function(){&lt;br /&gt;
		$.getScript(this, function(){&lt;br /&gt;
			loaded++;&lt;br /&gt;
			if(loaded == count &amp;amp;&amp;amp; typeof onBackload == &amp;#039;function&amp;#039;)&lt;br /&gt;
				onBackload(loaded)&lt;br /&gt;
		})&lt;br /&gt;
	})&lt;br /&gt;
});&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * If you have the following script tags:&lt;br /&gt;
 * 	&amp;lt;script src=&amp;quot;/path/to/jquery.min.js?somefile,otherfile.min,thirdfile&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 * 	&amp;lt;script src=&amp;quot;/other/path/foo.js?different.file,final.file&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 * This script will &amp;quot;backload&amp;quot; the following files:&lt;br /&gt;
 * 	/path/to/somefile.js&lt;br /&gt;
 *	/path/to/otherfile.min.js&lt;br /&gt;
 * 	/path/to/thirdfile.js&lt;br /&gt;
 * 	/other/path/different.file.js&lt;br /&gt;
 *	/other/path/final.file.js&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// And if you declare a function named &amp;quot;onBackload&amp;quot;, it will be fired when all the scripts are loaded&lt;br /&gt;
// This is handy for getting things going once you&amp;#039;re confident your scripts have all been included.&lt;br /&gt;
function onBackload(loaded){&lt;br /&gt;
	alert(&amp;#039;All &amp;#039; + loaded + &amp;#039; files backloaded!&amp;#039;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DOM Manipulation ==&lt;br /&gt;
=== Einfaches Rollover Hide Show Skript ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	/*&amp;lt;![CDATA[*/&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
//var j = jQuery.noConflict();&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    hideAllItems();	&lt;br /&gt;
&lt;br /&gt;
    $(&amp;quot;h5&amp;quot;).hover( &lt;br /&gt;
      function () {&lt;br /&gt;
         showItem($(this));&lt;br /&gt;
      }, &lt;br /&gt;
      function () {&lt;br /&gt;
        hideItem($(this));&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    );&lt;br /&gt;
 &lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function hideAllItems(){&lt;br /&gt;
    $(&amp;quot;.bodytext&amp;quot;).hide();	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function showItem(myItem){&lt;br /&gt;
      myItem.next().fadeIn(250);&lt;br /&gt;
      myItem.parent().addClass(&amp;quot;topLine&amp;quot;);&lt;br /&gt;
    //myItem.parents().append($(&amp;quot;&amp;lt;span&amp;gt; ***&amp;lt;/span&amp;gt;&amp;quot;));&lt;br /&gt;
    //myItem.parents().(&amp;quot;p&amp;quot;).fadeIn(250);&lt;br /&gt;
    //myItem.parents().append($(&amp;quot;&amp;lt;span&amp;gt; ***&amp;lt;/span&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function hideItem(myItem){&lt;br /&gt;
    myItem.next().fadeOut(250);&lt;br /&gt;
    myItem.parent().removeClass(&amp;quot;topLine&amp;quot;);&lt;br /&gt;
    //hideAllItems();&lt;br /&gt;
    //myItem.find(&amp;quot;span:last&amp;quot;).remove();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// --&amp;gt;&lt;br /&gt;
	/*]]&amp;gt;*/&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Media:Maphilight-sample01.zip]]‎&lt;br /&gt;
&lt;br /&gt;
===Append Site Overlay DIV===&lt;br /&gt;
&lt;br /&gt;
Quelle: http://css-tricks.com/snippets/jquery/append-site-overlay-div/ (11/2011)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(function() {&lt;br /&gt;
&lt;br /&gt;
   var docHeight = $(document).height();&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;body&amp;quot;).append(&amp;quot;&amp;lt;div id=&amp;#039;overlay&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;#overlay&amp;quot;)&lt;br /&gt;
      .height(docHeight)&lt;br /&gt;
      .css({&lt;br /&gt;
         &amp;#039;opacity&amp;#039; : 0.4,&lt;br /&gt;
         &amp;#039;position&amp;#039;: &amp;#039;absolute&amp;#039;,&lt;br /&gt;
         &amp;#039;top&amp;#039;: 0,&lt;br /&gt;
         &amp;#039;left&amp;#039;: 0,&lt;br /&gt;
         &amp;#039;background-color&amp;#039;: &amp;#039;black&amp;#039;,&lt;br /&gt;
         &amp;#039;width&amp;#039;: &amp;#039;100%&amp;#039;,&lt;br /&gt;
         &amp;#039;z-index&amp;#039;: 5000&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== jQuery - overlay, modal box, lightbox, tooltips ===&lt;br /&gt;
Infos über die verschiedenen Möglichkeiten und die Unterschiede (Todo)&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
=== Position eines Elements auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// get Pos of act Item&lt;br /&gt;
var position = $(&amp;quot;#myElement&amp;quot;).offset();&lt;br /&gt;
//console.log(position);&lt;br /&gt;
&lt;br /&gt;
//set positon to other elements...&lt;br /&gt;
$(&amp;quot;#otherElement&amp;quot;).css(position);&lt;br /&gt;
$(&amp;quot;#anotherElement&amp;quot;).css(&amp;quot;top&amp;quot;,(position.top+5));&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usability ==&lt;br /&gt;
=== Loading Icon bis Seite komplett geladen ist ===&lt;br /&gt;
Quelle: siehe Links&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta charset=&amp;#039;UTF-8&amp;#039;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Simple Loader&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;style&amp;gt;&lt;br /&gt;
		/* This only works with JavaScript,&lt;br /&gt;
		   if it&amp;#039;s not present, don&amp;#039;t show loader */&lt;br /&gt;
		.no-js #loader { display: none;  }&lt;br /&gt;
		.js #loader { display: block; position: absolute; left: 100px; top: 0; }&lt;br /&gt;
	&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;script src=&amp;quot;https://github.com/Modernizr/Modernizr/raw/master/modernizr.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;script&amp;gt;&lt;br /&gt;
		// Wait for window load&lt;br /&gt;
		$(window).load(function() {&lt;br /&gt;
			// Animate loader off screen&lt;br /&gt;
			$(&amp;quot;#loader&amp;quot;).animate({&lt;br /&gt;
				top: -200&lt;br /&gt;
			}, 1500);&lt;br /&gt;
		});&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;img src=&amp;quot;download.png&amp;quot; id=&amp;quot;loader&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;img src=&amp;quot;http://farm6.static.flickr.com/5299/5400751421_55d49b2786_o.jpg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=JQuery_-_Snippets&amp;diff=19216</id>
		<title>JQuery - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=JQuery_-_Snippets&amp;diff=19216"/>
		<updated>2012-07-18T09:00:19Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.49: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nützliche jQuery Schnipsel&lt;br /&gt;
== Grundgerüst zum testen ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta content=&amp;quot;text/html; charset=ISO-8859-1&amp;quot; http-equiv=&amp;quot;content-type&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Test&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;	&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function newFunc(myParam){&lt;br /&gt;
	alert(&amp;#039;hello world&amp;#039;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;Testpage&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Links ==&lt;br /&gt;
[[JavaScript - Snippets]]&lt;br /&gt;
&lt;br /&gt;
http://css-tricks.com/snippets/jquery/&lt;br /&gt;
&lt;br /&gt;
=== jQuery Countdown Scripts ===&lt;br /&gt;
http://www.tripwiremagazine.com/2012/01/jquery-countdown-scripts.html&lt;br /&gt;
&lt;br /&gt;
== Formulare ==&lt;br /&gt;
=== Fokus auf erstes Input-Feld im Formular setzen ===&lt;br /&gt;
 // focus on the first text input field on the page&lt;br /&gt;
 $(&amp;quot;input[type=&amp;#039;text&amp;#039;]:first&amp;quot;, document.forms[0]).focus();&lt;br /&gt;
&lt;br /&gt;
== Browser ==&lt;br /&gt;
=== Resize des Browserfensters feststellen ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot; src=&amp;quot;https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
$(document).ready(function(){&lt;br /&gt;
 &lt;br /&gt;
//If the User resizes the window, adjust the #container height&lt;br /&gt;
$(window).bind(&amp;quot;resize&amp;quot;, resizeWindow);&lt;br /&gt;
function resizeWindow( e ) {&lt;br /&gt;
	var newWindowHeight = $(window).height();&lt;br /&gt;
	$(&amp;quot;#container&amp;quot;).css(&amp;quot;min-height&amp;quot;, newWindowHeight );&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
});			&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Templates - Vorlagen ==&lt;br /&gt;
=== XHTML 1.0 Template mit jQuery ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Strict//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Title goes here &amp;amp;raquo; Site title here&amp;lt;/title&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Meta Tags --&amp;gt;&lt;br /&gt;
	&amp;lt;base href=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;author&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;description&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;copyright&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;generator&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta name=&amp;quot;keywords&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;expires&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;cache-control&amp;quot; content=&amp;quot;#&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- Fav icon --&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;shortcut icon&amp;quot; href=&amp;quot;/favicon.ico&amp;quot; type=&amp;quot;image/x-icon&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- JavaScript setup --&amp;gt;&lt;br /&gt;
	&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	/*&amp;lt;![CDATA[*/&lt;br /&gt;
	// add &amp;#039;js&amp;#039; class to root element to nicely allow css that degrades gracefully if js is disabled&lt;br /&gt;
	document.getElementsByTagName(&amp;#039;html&amp;#039;)[0].className = &amp;#039;js&amp;#039;;&lt;br /&gt;
	/*]]&amp;gt;*/&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- CSS --&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/screen.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen, projection&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/print.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;print&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!--[if IE]&amp;gt;&lt;br /&gt;
	&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/stylesheets/ie-all.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen, projection&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;![endif]--&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
		&amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;h1&amp;gt;Title of page goes here&amp;lt;/h1&amp;gt;&lt;br /&gt;
			&amp;lt;h2&amp;gt;Subtitle of page goes here&amp;lt;/h2&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end header div --&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;div id=&amp;quot;nav&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Link #3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;breadcrumbs&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sub directory&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Current page&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end nav div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;ul class=&amp;quot;sidebar&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sidebar link #1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;#&amp;quot;&amp;gt;Sidebar link #2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;div id=&amp;quot;sub1&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h3&amp;gt;Title of content&amp;lt;/h3&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Begin content here&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
			&amp;lt;div id=&amp;quot;sub2&amp;quot; class=&amp;quot;hide&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;h3&amp;gt;Title of content&amp;lt;/h3&amp;gt;&lt;br /&gt;
				&amp;lt;p&amp;gt;Begin content here&amp;lt;/p&amp;gt;&lt;br /&gt;
			&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end main div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;div id=&amp;quot;footer&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;p&amp;gt;&amp;amp;copy;2XXX company name here. Creative Commons link, your own link, validation, etc.&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&amp;lt;!-- end footer div --&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
	&amp;lt;/div&amp;gt;&amp;lt;!-- end container div --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;/scripts/app.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;!-- place Google Analytics code here --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== JavaScript nachladen während die Seite schon angezeigt wird ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Add this onDocumentReady function to the end of the jQuery.js file. &lt;br /&gt;
// It MUST be in the jquery file to work correctly.&lt;br /&gt;
$(function(){&lt;br /&gt;
	var scripts = /\?(.*)/, files = [], path = /^.*\//, loaded = 0, count = 0;&lt;br /&gt;
 &lt;br /&gt;
	$(&amp;#039;script&amp;#039;).each(function(){&lt;br /&gt;
		var src = $(this).attr(&amp;#039;src&amp;#039;);&lt;br /&gt;
		if (!scripts.test(src)) return;&lt;br /&gt;
		var pathto = src.match(path);&lt;br /&gt;
		files = files.concat($.map(src.match(scripts).pop().split(&amp;#039;,&amp;#039;), function(e,i){&lt;br /&gt;
			return pathto+e+&amp;#039;.js&amp;#039;&lt;br /&gt;
		}));&lt;br /&gt;
	})&lt;br /&gt;
 &lt;br /&gt;
	count = files.length;&lt;br /&gt;
 &lt;br /&gt;
	$.each(files, function(){&lt;br /&gt;
		$.getScript(this, function(){&lt;br /&gt;
			loaded++;&lt;br /&gt;
			if(loaded == count &amp;amp;&amp;amp; typeof onBackload == &amp;#039;function&amp;#039;)&lt;br /&gt;
				onBackload(loaded)&lt;br /&gt;
		})&lt;br /&gt;
	})&lt;br /&gt;
});&lt;br /&gt;
 &lt;br /&gt;
/**&lt;br /&gt;
 * If you have the following script tags:&lt;br /&gt;
 * 	&amp;lt;script src=&amp;quot;/path/to/jquery.min.js?somefile,otherfile.min,thirdfile&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 * 	&amp;lt;script src=&amp;quot;/other/path/foo.js?different.file,final.file&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 * This script will &amp;quot;backload&amp;quot; the following files:&lt;br /&gt;
 * 	/path/to/somefile.js&lt;br /&gt;
 *	/path/to/otherfile.min.js&lt;br /&gt;
 * 	/path/to/thirdfile.js&lt;br /&gt;
 * 	/other/path/different.file.js&lt;br /&gt;
 *	/other/path/final.file.js&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
// And if you declare a function named &amp;quot;onBackload&amp;quot;, it will be fired when all the scripts are loaded&lt;br /&gt;
// This is handy for getting things going once you&amp;#039;re confident your scripts have all been included.&lt;br /&gt;
function onBackload(loaded){&lt;br /&gt;
	alert(&amp;#039;All &amp;#039; + loaded + &amp;#039; files backloaded!&amp;#039;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DOM Manipulation ==&lt;br /&gt;
=== Einfaches Rollover Hide Show Skript ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
	/*&amp;lt;![CDATA[*/&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
//var j = jQuery.noConflict();&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    hideAllItems();	&lt;br /&gt;
&lt;br /&gt;
    $(&amp;quot;h5&amp;quot;).hover( &lt;br /&gt;
      function () {&lt;br /&gt;
         showItem($(this));&lt;br /&gt;
      }, &lt;br /&gt;
      function () {&lt;br /&gt;
        hideItem($(this));&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    );&lt;br /&gt;
 &lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
function hideAllItems(){&lt;br /&gt;
    $(&amp;quot;.bodytext&amp;quot;).hide();	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function showItem(myItem){&lt;br /&gt;
      myItem.next().fadeIn(250);&lt;br /&gt;
      myItem.parent().addClass(&amp;quot;topLine&amp;quot;);&lt;br /&gt;
    //myItem.parents().append($(&amp;quot;&amp;lt;span&amp;gt; ***&amp;lt;/span&amp;gt;&amp;quot;));&lt;br /&gt;
    //myItem.parents().(&amp;quot;p&amp;quot;).fadeIn(250);&lt;br /&gt;
    //myItem.parents().append($(&amp;quot;&amp;lt;span&amp;gt; ***&amp;lt;/span&amp;gt;&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function hideItem(myItem){&lt;br /&gt;
    myItem.next().fadeOut(250);&lt;br /&gt;
    myItem.parent().removeClass(&amp;quot;topLine&amp;quot;);&lt;br /&gt;
    //hideAllItems();&lt;br /&gt;
    //myItem.find(&amp;quot;span:last&amp;quot;).remove();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
// --&amp;gt;&lt;br /&gt;
	/*]]&amp;gt;*/&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Media:Maphilight-sample01.zip]]‎&lt;br /&gt;
&lt;br /&gt;
===Append Site Overlay DIV===&lt;br /&gt;
&lt;br /&gt;
Quelle: http://css-tricks.com/snippets/jquery/append-site-overlay-div/ (11/2011)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$(function() {&lt;br /&gt;
&lt;br /&gt;
   var docHeight = $(document).height();&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;body&amp;quot;).append(&amp;quot;&amp;lt;div id=&amp;#039;overlay&amp;#039;&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   $(&amp;quot;#overlay&amp;quot;)&lt;br /&gt;
      .height(docHeight)&lt;br /&gt;
      .css({&lt;br /&gt;
         &amp;#039;opacity&amp;#039; : 0.4,&lt;br /&gt;
         &amp;#039;position&amp;#039;: &amp;#039;absolute&amp;#039;,&lt;br /&gt;
         &amp;#039;top&amp;#039;: 0,&lt;br /&gt;
         &amp;#039;left&amp;#039;: 0,&lt;br /&gt;
         &amp;#039;background-color&amp;#039;: &amp;#039;black&amp;#039;,&lt;br /&gt;
         &amp;#039;width&amp;#039;: &amp;#039;100%&amp;#039;,&lt;br /&gt;
         &amp;#039;z-index&amp;#039;: 5000&lt;br /&gt;
      });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== jQuery - overlay, modal box, lightbox, tooltips ===&lt;br /&gt;
Infos über die verschiedenen Möglichkeiten und die Unterschiede (Todo)&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
=== Position eines Elements auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// get Pos of act Item&lt;br /&gt;
var position = $(&amp;quot;#myElement&amp;quot;).offset();&lt;br /&gt;
//console.log(position);&lt;br /&gt;
&lt;br /&gt;
//set positon to other elements...&lt;br /&gt;
$(&amp;quot;#otherElement&amp;quot;).css(position);&lt;br /&gt;
$(&amp;quot;#anotherElement&amp;quot;).css(&amp;quot;top&amp;quot;,(position.top+5));&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usability ==&lt;br /&gt;
=== Loading Icon bis Seite komplett geladen ist ===&lt;br /&gt;
Quelle: siehe Links&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;meta charset=&amp;#039;UTF-8&amp;#039;&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Simple Loader&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;style&amp;gt;&lt;br /&gt;
		/* This only works with JavaScript,&lt;br /&gt;
		   if it&amp;#039;s not present, don&amp;#039;t show loader */&lt;br /&gt;
		.no-js #loader { display: none;  }&lt;br /&gt;
		.js #loader { display: block; position: absolute; left: 100px; top: 0; }&lt;br /&gt;
	&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;script src=&amp;quot;http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;script src=&amp;quot;https://github.com/Modernizr/Modernizr/raw/master/modernizr.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
	&amp;lt;script&amp;gt;&lt;br /&gt;
		// Wait for window load&lt;br /&gt;
		$(window).load(function() {&lt;br /&gt;
			// Animate loader off screen&lt;br /&gt;
			$(&amp;quot;#loader&amp;quot;).animate({&lt;br /&gt;
				top: -200&lt;br /&gt;
			}, 1500);&lt;br /&gt;
		});&lt;br /&gt;
	&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	&amp;lt;img src=&amp;quot;download.png&amp;quot; id=&amp;quot;loader&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;img src=&amp;quot;http://farm6.static.flickr.com/5299/5400751421_55d49b2786_o.jpg&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.49</name></author>
	</entry>
</feed>