<?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.210</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.210"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/149.172.152.210"/>
	<updated>2026-05-06T13:57:40Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Contao&amp;diff=20299</id>
		<title>Contao</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Contao&amp;diff=20299"/>
		<updated>2014-04-02T06:17:22Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Erste Schritte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Schnelleinstieg ==&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Am einfachsten über All-Inkl. Software Tool&lt;br /&gt;
== Erste Schritte ==&lt;br /&gt;
* Grundeinstellungen im Backend vornehmen (System &amp;gt; Einstellungen)&lt;br /&gt;
** Titel, Zeit und Datumsausgabe&lt;br /&gt;
** URLs umschreiben (seo)&lt;br /&gt;
* Template Erstellung&lt;br /&gt;
** Im Backend Seite vom Typ Startpunkt einer Webseite anlegen. Sprachen Fallback anhaken und Grunddaten eingeben&lt;br /&gt;
** Darin die Startseite anlegen&lt;br /&gt;
** Theme anlegen (Layout -&amp;gt; Themes)&lt;br /&gt;
** Layout im Theme anlegen&lt;br /&gt;
** Layout mit Seite verbinden&lt;br /&gt;
&lt;br /&gt;
== Performance optimieren ==&lt;br /&gt;
Globale Einstellungen für Komprimierung der Skripte etc...&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Contao&amp;diff=20298</id>
		<title>Contao</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Contao&amp;diff=20298"/>
		<updated>2014-04-02T05:41:26Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Erste Schritte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Schnelleinstieg ==&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Am einfachsten über All-Inkl. Software Tool&lt;br /&gt;
== Erste Schritte ==&lt;br /&gt;
* Grundeinstellungen im Backend vornehmen (System &amp;gt; Einstellungen)&lt;br /&gt;
** Titel, Zeit und Datumsausgabe...&lt;br /&gt;
* Template Erstellung&lt;br /&gt;
** Im Backend Seite vom Typ Startpunkt einer Webseite anlegen. Sprachen Fallback anhaken und Grunddaten eingeben&lt;br /&gt;
** Darin die Startseite anlegen&lt;br /&gt;
** Theme anlegen (Layout -&amp;gt; Themes)&lt;br /&gt;
** Layout im Theme anlegen&lt;br /&gt;
** Layout mit Seite verbinden&lt;br /&gt;
&lt;br /&gt;
== Performance optimieren ==&lt;br /&gt;
Globale Einstellungen für Komprimierung der Skripte etc...&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Contao&amp;diff=20297</id>
		<title>Contao</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Contao&amp;diff=20297"/>
		<updated>2014-03-31T12:46:13Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Erste Schritte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Schnelleinstieg ==&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Am einfachsten über All-Inkl. Software Tool&lt;br /&gt;
=== Erste Schritte ===&lt;br /&gt;
* Im Backend Seite vom Typ Startpunkt einer Webseite anlegen. Sprachen Fallback anhaken und Grunddaten eingeben&lt;br /&gt;
* Darin die Startseite anlegen&lt;br /&gt;
* Theme anlegen (Layout -&amp;gt; Themes)&lt;br /&gt;
* Layout im Theme anlegen&lt;br /&gt;
* Layout mit Seite verbinden&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Contao&amp;diff=20296</id>
		<title>Contao</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Contao&amp;diff=20296"/>
		<updated>2014-03-31T12:41:24Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: Die Seite wurde neu angelegt: „== Schnelleinstieg == === Installation === Am einfachsten über All-Inkl. Software Tool === Erste Schritte === * Im Backend Seite vom Typ Startpunkt einer Webseit…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Schnelleinstieg ==&lt;br /&gt;
=== Installation ===&lt;br /&gt;
Am einfachsten über All-Inkl. Software Tool&lt;br /&gt;
=== Erste Schritte ===&lt;br /&gt;
* Im Backend Seite vom Typ Startpunkt einer Webseite anlegen. Sprachen Fallback anhaken und Grunddaten eingeben&lt;br /&gt;
* Darin die Startseite anlegen&lt;br /&gt;
* Theme anlegen (Layout -&amp;gt; Themes)&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Musik_Hardware_und_Software&amp;diff=20295</id>
		<title>Musik Hardware und Software</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Musik_Hardware_und_Software&amp;diff=20295"/>
		<updated>2014-03-27T06:38:54Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: Die Seite wurde neu angelegt: „==Line6 Pod Live X3 wird nicht mehr erkannt== You are right, support is still available till end of this year. They couldn&amp;#039;t provide a solution because Gearbox wo…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Line6 Pod Live X3 wird nicht mehr erkannt==&lt;br /&gt;
You are right, support is still available till end of this year. They couldn&amp;#039;t provide a solution because Gearbox won&amp;#039;t be updated.&lt;br /&gt;
&lt;br /&gt;
But.... Last night after trying few things got it working and the funny thing is that what it causes Gearbox not to work on Mavericks is not Gearbox itself but the latest driver with the added support for Mavericks. This is what I did:&lt;br /&gt;
&lt;br /&gt;
To remove driver 7.3.6&lt;br /&gt;
&lt;br /&gt;
1- On a terminal run this command  &lt;br /&gt;
 sudo pkgutil --forget com.line6.driver.xtaudio.package&lt;br /&gt;
&lt;br /&gt;
 sudo pkgutil --forget com.line6.driver.xtmidi.package&lt;br /&gt;
&lt;br /&gt;
3- Reboot&lt;br /&gt;
&lt;br /&gt;
To install driver 7.2.9&lt;br /&gt;
&lt;br /&gt;
4- Downloaded driver version 7.2.9  http://line6.com/sof...a.html?rid=5675&lt;br /&gt;
&lt;br /&gt;
5- Run the 7.2.9 driver package to install it and ended the process with a reboot&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
After that Gearbox is working on Mavericks, at least that was my experience.&lt;br /&gt;
&lt;br /&gt;
Hope this helps&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Musik&amp;diff=20294</id>
		<title>Musik</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Musik&amp;diff=20294"/>
		<updated>2014-03-27T06:38:07Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: Die Seite wurde neu angelegt: „Musik Hardware und Software“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Musik Hardware und Software]]&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Logic&amp;diff=20293</id>
		<title>Logic</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Logic&amp;diff=20293"/>
		<updated>2014-03-16T13:24:41Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Beat Map für Live Aufnahme erstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tipps und Tricks für Logic Pro ==&lt;br /&gt;
== Beat Map für Live Aufnahme erstellen ==&lt;br /&gt;
Beat Mapping ist geeignet, wenn man einen Song ohne Click aufgenommen hat. Ziel ist eine Beatmap für Logic zu erstellen. D.h. Logic folgt dem Song bezüglich der Temposchwankungen.&lt;br /&gt;
&lt;br /&gt;
* Aufnahme importieren und Positionieren&lt;br /&gt;
* Beat Counter in den Mixer Kanal einbinden und schauen wie das ungefähre Tempo ist. Dieses einstellen.&lt;br /&gt;
* Globale Spuen -&amp;gt; Tempo und Beat Zuweisung aktivieren&lt;br /&gt;
* Transienten eines Audiotracks mit &amp;quot;Prüfen&amp;quot; analysieren.&lt;br /&gt;
* Im Spurfenster unter Ansicht / View sollte bei den Globalen Spuren Tempo und Beat-Zuweisung / Beat Mapping aktiviert sein&lt;br /&gt;
* Metronomeinstellungen (rechte Maustaste) auf nur beim Einzählen&lt;br /&gt;
&lt;br /&gt;
== Timing mit Transientenerkennung ==&lt;br /&gt;
&lt;br /&gt;
== Arbeiten mit Compositions (Comps) ==&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Logic&amp;diff=20292</id>
		<title>Logic</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Logic&amp;diff=20292"/>
		<updated>2014-03-16T13:16:26Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Beat Map für Live Aufnahme erstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tipps und Tricks für Logic Pro ==&lt;br /&gt;
== Beat Map für Live Aufnahme erstellen ==&lt;br /&gt;
Beat Mapping ist geeignet, wenn man einen Song ohne Click aufgenommen hat. Ziel ist eine Beatmap für Logic zu erstellen. D.h. Logic folgt dem Song bezüglich der Temposchwankungen.&lt;br /&gt;
&lt;br /&gt;
* Aufnahme importieren und Positionieren&lt;br /&gt;
* Beat Counter in den Mixer Kanal einbinden und schauen wie das ungefähre Tempo ist. Dieses einstellen.&lt;br /&gt;
* Globale Spuen -&amp;gt; Tempo und Beat Zuweisung aktivieren&lt;br /&gt;
* Software Schlagzeugspur anlegen&lt;br /&gt;
* Im Spurfenster unter Ansicht / View sollte bei den Globalen Spuren Tempo und Beat-Zuweisung / Beat Mapping aktiviert sein&lt;br /&gt;
* Metronomeinstellungen (rechte Maustaste) auf nur beim Einzählen&lt;br /&gt;
&lt;br /&gt;
== Timing mit Transientenerkennung ==&lt;br /&gt;
&lt;br /&gt;
== Arbeiten mit Compositions (Comps) ==&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress_-_Dateiberechtigungen&amp;diff=20290</id>
		<title>Wordpress - Dateiberechtigungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress_-_Dateiberechtigungen&amp;diff=20290"/>
		<updated>2014-03-07T05:34:24Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: Die Seite wurde neu angelegt: „Unter Linux können Sie mit folgenden Befehlen sowohl die Rechte für die Dateien als auch die für die Verzeichnisse korrekt setzen: Konsole:   find . -type f -e…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter Linux können Sie mit folgenden Befehlen sowohl die Rechte für die Dateien als auch die für die Verzeichnisse korrekt setzen:&lt;br /&gt;
Konsole:&lt;br /&gt;
&lt;br /&gt;
 find . -type f -exec chmod 644 {} \;&lt;br /&gt;
 find . -type d -exec chmod 755 {} \;&lt;br /&gt;
&lt;br /&gt;
Ausgehend vom Rootverzeichnis.&lt;br /&gt;
&lt;br /&gt;
Übersicht&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wp-admin/ rekursiv 755&lt;br /&gt;
/wp-admin/index.php 644&lt;br /&gt;
/wp-includes/ rekursiv 755&lt;br /&gt;
/wp-content/ 755&lt;br /&gt;
/wp-content/themes/ rekursiv 777 wenn Editor benutzt wird, sonst 755.&lt;br /&gt;
/wp-content/plugins/ rekursiv 777 wenn automatische Installation gewünscht.&lt;br /&gt;
/wp-content/upgrade 777&lt;br /&gt;
/wp-content/uploads 777&lt;br /&gt;
/wp-content/cache bei Einsatz des WP-Super Cache Plugins 777&lt;br /&gt;
./wp-cache-config.php 777&lt;br /&gt;
/wp-content/backup/ bei Einsatz des WordPress Backup Plugins rekursiv 777&lt;br /&gt;
/wp-content/ rekursiv je nach Plugin 755 oder 777&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress&amp;diff=20289</id>
		<title>Wordpress</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress&amp;diff=20289"/>
		<updated>2014-03-07T05:33:14Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wordpress ist ein Blog System auf Basis von mySQL und PHP. Hier finden sich einige Tipps zu Arbeit mit Wordpress.&lt;br /&gt;
&lt;br /&gt;
[[Wordpress umziehen]]&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Editor anpassen]]&lt;br /&gt;
&lt;br /&gt;
[[Wordpress MU auf dem Mac installieren]]&lt;br /&gt;
Installation über Terminal auf XAMPP inkl. Buddypress&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Templates]]&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Plugins]]&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Snippets]]&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Dateiberechtigungen]]&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress_-_Templates&amp;diff=20288</id>
		<title>Wordpress - Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress_-_Templates&amp;diff=20288"/>
		<updated>2014-03-06T05:27:18Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Eigenes Template für Startseite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Links ==&lt;br /&gt;
* http://codex.wordpress.org/Template_Tags&lt;br /&gt;
== Eigenes Template für Startseite ==&lt;br /&gt;
Quelle: http://www.netz-gaenger.de/blog/wordpress-tutorials/wie-erstelle-ich-eine-individuelle-startseite-wordpress (Zugriff: 03-2014)&lt;br /&gt;
&lt;br /&gt;
Es gibt mehrere Möglichkeiten&lt;br /&gt;
=== 1. Kopieren und Anpassen des Hauptemplates ===&lt;br /&gt;
Kopiere die Templatedatei page.php und umbenennen (z.B. in page-startseite.php )&lt;br /&gt;
In diese Datei schreibt man am Anfang nach dem öffnenden PHP-Tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Template Name: startseite&lt;br /&gt;
*/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So erkennt WP diese man kann sie im BE zuweisen&lt;br /&gt;
&lt;br /&gt;
== Template Tools ==&lt;br /&gt;
Template Starter : http://underscores.me/&lt;br /&gt;
 &lt;br /&gt;
[[Wordpress Templates mit Underscores erstellen]]&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
=== Kommentare einschränken ===&lt;br /&gt;
* Nur 1 Kommentar für jeden Post und Tag, außer für User höherer Level.&lt;br /&gt;
&lt;br /&gt;
/wp-content/themes/myTheme/comments.php&lt;br /&gt;
&lt;br /&gt;
 comment_form();&lt;br /&gt;
ersetzen durch folgenden Code (siehe auskommentierte Teile für zusätzliche Funktionalität):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
global $wpdb, $current_user;&lt;br /&gt;
$limit = 1;&lt;br /&gt;
//this is limit per day per user&lt;br /&gt;
$minUserLevel = 6;&lt;br /&gt;
// no limit for users above this level&lt;br /&gt;
$myUser_level = 0;&lt;br /&gt;
$myUser_level = intval($current_user -&amp;gt; user_level);&lt;br /&gt;
$myUser_login = $current_user -&amp;gt; user_login;&lt;br /&gt;
$myUser_id = $current_user -&amp;gt; ID;&lt;br /&gt;
$myComment_id = get_comment_ID();&lt;br /&gt;
$myComment_post_id = get_the_ID();&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;user id: &amp;quot; . $myUser_id . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;comment id: &amp;quot; . $myComment_id . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;comment post id: &amp;quot; . $myComment_post_id . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;user level: &amp;quot; . $myUser_level . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;min user level: &amp;quot; . $minUserLevel . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
*/&lt;br /&gt;
$comment_count = $wpdb -&amp;gt; get_var($wpdb -&amp;gt; prepare(&amp;quot;&lt;br /&gt;
        SELECT count(*)&lt;br /&gt;
        FROM kas_wp_comments &lt;br /&gt;
        WHERE user_id = &amp;#039;%d&amp;#039; AND comment_parent = &amp;#039;0&amp;#039; AND comment_post_ID = &amp;#039;%d&amp;#039;&lt;br /&gt;
        ;&amp;quot;, $myUser_id, $myComment_post_id));&lt;br /&gt;
&lt;br /&gt;
/*	$comment_count = $wpdb -&amp;gt; get_var($wpdb -&amp;gt; prepare(&amp;quot;&lt;br /&gt;
 SELECT count(*)&lt;br /&gt;
 FROM kas_wp_comments&lt;br /&gt;
 WHERE user_id = &amp;#039;%d&amp;#039; AND comment_parent = 0 AND comment_post_ID = &amp;#039;%d&amp;#039;&lt;br /&gt;
 AND comment_date &amp;gt;= DATE_SUB(NOW(),INTERVAL 1 DAY);&amp;quot;, $myUser_id,$myComment_post_id));&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
//echo(&amp;quot;&amp;lt;div&amp;gt;Beitr&amp;amp;auml;ge zum Thema: &amp;quot; . $comment_count . &amp;quot;/&amp;quot; . $limit . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$level_ok = 0;&lt;br /&gt;
$limit_ok = 0;&lt;br /&gt;
if ($comment_count &amp;lt; $limit) {&lt;br /&gt;
	$limit_ok = 1;&lt;br /&gt;
//	echo &amp;quot;&amp;lt;div&amp;gt;limit_ok&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ($myUser_level &amp;gt; $minUserLevel) {&lt;br /&gt;
	$level_ok = 1;&lt;br /&gt;
//	echo &amp;quot;&amp;lt;div&amp;gt;level_ok&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ($level_ok || $limit_ok) {&lt;br /&gt;
	comment_form();&lt;br /&gt;
} else {&lt;br /&gt;
	//echo &amp;#039;Sie haben die maximale Anzahl von Fragen (&amp;#039;.$limit.&amp;#039;) gestellt. Sie k&amp;amp;ouml;nnen weiterhin auf gestellte Fragen antworten.&amp;#039;;&lt;br /&gt;
	echo(&amp;#039;&amp;lt;div class=&amp;quot;invisible&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;#039;);&lt;br /&gt;
	comment_form();&lt;br /&gt;
	echo(&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress_-_Templates&amp;diff=20287</id>
		<title>Wordpress - Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress_-_Templates&amp;diff=20287"/>
		<updated>2014-03-06T05:27:05Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Links ==&lt;br /&gt;
* http://codex.wordpress.org/Template_Tags&lt;br /&gt;
== Eigenes Template für Startseite ==&lt;br /&gt;
Quelle: http://www.netz-gaenger.de/blog/wordpress-tutorials/wie-erstelle-ich-eine-individuelle-startseite-wordpress (Zugriff: 03-2014)&lt;br /&gt;
&lt;br /&gt;
Es gibt mehrere Möglichkeiten&lt;br /&gt;
=== 1. Kopieren und Anpassen des Hauptemplates&lt;br /&gt;
Kopiere die Templatedatei page.php und umbenennen (z.B. in page-startseite.php )&lt;br /&gt;
In diese Datei schreibt man am Anfang nach dem öffnenden PHP-Tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Template Name: startseite&lt;br /&gt;
*/ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So erkennt WP diese man kann sie im BE zuweisen&lt;br /&gt;
&lt;br /&gt;
== Template Tools ==&lt;br /&gt;
Template Starter : http://underscores.me/&lt;br /&gt;
 &lt;br /&gt;
[[Wordpress Templates mit Underscores erstellen]]&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
=== Kommentare einschränken ===&lt;br /&gt;
* Nur 1 Kommentar für jeden Post und Tag, außer für User höherer Level.&lt;br /&gt;
&lt;br /&gt;
/wp-content/themes/myTheme/comments.php&lt;br /&gt;
&lt;br /&gt;
 comment_form();&lt;br /&gt;
ersetzen durch folgenden Code (siehe auskommentierte Teile für zusätzliche Funktionalität):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
global $wpdb, $current_user;&lt;br /&gt;
$limit = 1;&lt;br /&gt;
//this is limit per day per user&lt;br /&gt;
$minUserLevel = 6;&lt;br /&gt;
// no limit for users above this level&lt;br /&gt;
$myUser_level = 0;&lt;br /&gt;
$myUser_level = intval($current_user -&amp;gt; user_level);&lt;br /&gt;
$myUser_login = $current_user -&amp;gt; user_login;&lt;br /&gt;
$myUser_id = $current_user -&amp;gt; ID;&lt;br /&gt;
$myComment_id = get_comment_ID();&lt;br /&gt;
$myComment_post_id = get_the_ID();&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;user id: &amp;quot; . $myUser_id . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;comment id: &amp;quot; . $myComment_id . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;comment post id: &amp;quot; . $myComment_post_id . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;user level: &amp;quot; . $myUser_level . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;min user level: &amp;quot; . $minUserLevel . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
*/&lt;br /&gt;
$comment_count = $wpdb -&amp;gt; get_var($wpdb -&amp;gt; prepare(&amp;quot;&lt;br /&gt;
        SELECT count(*)&lt;br /&gt;
        FROM kas_wp_comments &lt;br /&gt;
        WHERE user_id = &amp;#039;%d&amp;#039; AND comment_parent = &amp;#039;0&amp;#039; AND comment_post_ID = &amp;#039;%d&amp;#039;&lt;br /&gt;
        ;&amp;quot;, $myUser_id, $myComment_post_id));&lt;br /&gt;
&lt;br /&gt;
/*	$comment_count = $wpdb -&amp;gt; get_var($wpdb -&amp;gt; prepare(&amp;quot;&lt;br /&gt;
 SELECT count(*)&lt;br /&gt;
 FROM kas_wp_comments&lt;br /&gt;
 WHERE user_id = &amp;#039;%d&amp;#039; AND comment_parent = 0 AND comment_post_ID = &amp;#039;%d&amp;#039;&lt;br /&gt;
 AND comment_date &amp;gt;= DATE_SUB(NOW(),INTERVAL 1 DAY);&amp;quot;, $myUser_id,$myComment_post_id));&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
//echo(&amp;quot;&amp;lt;div&amp;gt;Beitr&amp;amp;auml;ge zum Thema: &amp;quot; . $comment_count . &amp;quot;/&amp;quot; . $limit . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$level_ok = 0;&lt;br /&gt;
$limit_ok = 0;&lt;br /&gt;
if ($comment_count &amp;lt; $limit) {&lt;br /&gt;
	$limit_ok = 1;&lt;br /&gt;
//	echo &amp;quot;&amp;lt;div&amp;gt;limit_ok&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ($myUser_level &amp;gt; $minUserLevel) {&lt;br /&gt;
	$level_ok = 1;&lt;br /&gt;
//	echo &amp;quot;&amp;lt;div&amp;gt;level_ok&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ($level_ok || $limit_ok) {&lt;br /&gt;
	comment_form();&lt;br /&gt;
} else {&lt;br /&gt;
	//echo &amp;#039;Sie haben die maximale Anzahl von Fragen (&amp;#039;.$limit.&amp;#039;) gestellt. Sie k&amp;amp;ouml;nnen weiterhin auf gestellte Fragen antworten.&amp;#039;;&lt;br /&gt;
	echo(&amp;#039;&amp;lt;div class=&amp;quot;invisible&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;#039;);&lt;br /&gt;
	comment_form();&lt;br /&gt;
	echo(&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress_umziehen&amp;diff=20286</id>
		<title>Wordpress umziehen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress_umziehen&amp;diff=20286"/>
		<updated>2014-02-28T14:54:32Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Variante 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Anleitung von wpde.org ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://faq.wpde.org/wordpress-url-aendern/&lt;br /&gt;
&lt;br /&gt;
Falls du mit deinem Blog dahingehend umziehen willst, dass sich die Adresse zum Blog ändert, oder du in&lt;br /&gt;
 Adminbereich &amp;gt;&amp;gt; Einstellungen &amp;gt;&amp;gt; Allgemein &amp;gt; WordPress-Adresse (URL) / Blog-Adresse (URL)&lt;br /&gt;
aus versehen eine falsche Adresse eingegeben hast und nun der Blog nicht mehr funktioniert, so musst du in der Datenbank die entsprechenden Angaben korrigieren.&lt;br /&gt;
&lt;br /&gt;
Beachte auch den thematisch ähnlich gelagerten Artikel WordPress trotz Installation in Unterverzeichnis über Hauptverzeichnis aufrufen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Variante 1 ===&lt;br /&gt;
&lt;br /&gt;
Öffne mit einem Texteditor (Microsoft Word ist keiner!) die Datei wp-config.php, welche sich im Stammverzeichnis deiner WordPress-Installation befindet.&lt;br /&gt;
An beliebiger Stelle (jedoch nicht ganz am Anfang oder Ende der Datei) fügst du folgenden Befehl ein:&lt;br /&gt;
 define(&amp;#039;WP_SITEURL&amp;#039;, &amp;#039;http://www.deine-richtige-adresse.xyz&amp;#039;);&lt;br /&gt;
 define(&amp;#039;WP_HOME&amp;#039;, &amp;#039;http://www.deine-richtige-adresse.xyz&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
Speichere nun die Änderung und lade die Datei hoch. Das sollte es schon gewesen sein.&lt;br /&gt;
Im WordPress-Backend in den Allgemeinen Einstellungen sind nun die WordPress-Adresse (URL) / Blog-Adresse (URL) ausgegraut.&lt;br /&gt;
&lt;br /&gt;
===Variante 2===&lt;br /&gt;
&lt;br /&gt;
Öffne mit einem Texteditor (Microsoft Word ist keiner!) die Datei wp-config.php, welche sich im Stammverzeichnis deiner WordPress-Installation befindet.&lt;br /&gt;
An beliebiger Stelle (jedoch nicht ganz am Anfang oder Ende der Datei) fügst du folgenden Befehl ein:&lt;br /&gt;
define(&amp;#039;RELOCATE&amp;#039;, true);&lt;br /&gt;
&lt;br /&gt;
Speichere nun die Änderung und lade die Datei hoch.&lt;br /&gt;
&lt;br /&gt;
Rufe nun im Browser die wp-login.php deines Blogs auf. Diese befindet sich ebenfalls im Stammverzeichnis, also z.B. www.deinblog.de/wp-login.php.&lt;br /&gt;
Nach dem die Seite aufgerufen wurde, öffnest du die wieder die wp-config.php und entfernst das&lt;br /&gt;
define(&amp;#039;RELOCATE&amp;#039;, true);&lt;br /&gt;
oder kommentiert es durch vorranstellen von&lt;br /&gt;
//&lt;br /&gt;
aus.&lt;br /&gt;
&lt;br /&gt;
Logge dich nun via wp-login.php in deinen Blog ein und ändere noch im Adminmenü unter&lt;br /&gt;
Optionen / Einstellungen &amp;gt;&amp;gt; Allgemein &amp;gt; WordPress-Adresse (URL)&lt;br /&gt;
die WordPress-Adresse auf den aktuellen Stand bzw. auf das, was in Blog-Adresse steht.&lt;br /&gt;
&lt;br /&gt;
===Variante 3===&lt;br /&gt;
&lt;br /&gt;
Für die Bearbeitung der MySQL-Datenbank gibt es eine grafische Oberfläche mit dem Namen phpMyAdmin. Nahezu jeder Webhoster hat diese Oberfläche bereits vorinstalliert.&lt;br /&gt;
Falls du nicht weißt, wie du phpMyAdmin aufrufen kannst, so konsultiere deinen Webhoster. Oft ist es über ein Kundenmenü oder per Aufruf über http://www.deinedomain.de/mysqladmin/ erreichbar.&lt;br /&gt;
&lt;br /&gt;
In die Datenbank loggst du dich mit den gleichen Daten (Benutzername und Kennwort) ein, wie du sie auch in der Datei wp-config.php (im Stammverzeichnis von WordPress) eingetragen hast.&lt;br /&gt;
&lt;br /&gt;
In der linken Spalte von phpMyAdmin findest du eine Auflistung der Tabellen, die sich in deiner Datenbank befinden. Die Änderungen müssen in der Tabelle mit dem Namen (sofern das Tabellenprefix nicht geändert wurde) wp_options getätigt werden. Klicke in der linken Spalte also auf wp_options.&lt;br /&gt;
&lt;br /&gt;
Nun sollte sich die rechte Seite der Datenbankoberfläche geändert haben. Ganz oben auf dieser Seite befindet sich die Option Anzeigen bzw. Browse – klicke diesen Menüpunkt an, um den Inhalt der Tabelle anzuzeigen.&lt;br /&gt;
&lt;br /&gt;
Über das Bleistiftsymbol in der zweiten Spalte der Tabellenanzeige kannst du nun all die Datensätze ändern, in denen die URL zum Blog gespeichert ist. Üblicherweise sind es die Datensätze mit dem option_name siteurl und home.&lt;br /&gt;
Beachte, dass die Tabelle mehrere Seiten hat, so dass die zu ändernden Werte eventuell nicht auf der ersten Seite zu sehen sind.&lt;br /&gt;
&lt;br /&gt;
Datensatz gefunden und Bleistiftgrafik angeklickt? Dann kannst du nun im Feld option_value die neue URL zum Blog eintragen und per klick auf den Button OK die Änderung speichern.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht auch lesenswert (falls z.B. die Bilderpfade in Artikeln nicht mehr stimmen), ist der Artikel Suchen und Ersetzen in MySQL-Datenbanken von Jowra.&lt;br /&gt;
Noch komfortabler dürfte das Suchen und Ersetzen-Plugin von bueltge.de sein.&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress_umziehen&amp;diff=20285</id>
		<title>Wordpress umziehen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress_umziehen&amp;diff=20285"/>
		<updated>2014-02-28T13:52:33Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Anleitung von wpde.org ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://faq.wpde.org/wordpress-url-aendern/&lt;br /&gt;
&lt;br /&gt;
Falls du mit deinem Blog dahingehend umziehen willst, dass sich die Adresse zum Blog ändert, oder du in&lt;br /&gt;
 Adminbereich &amp;gt;&amp;gt; Einstellungen &amp;gt;&amp;gt; Allgemein &amp;gt; WordPress-Adresse (URL) / Blog-Adresse (URL)&lt;br /&gt;
aus versehen eine falsche Adresse eingegeben hast und nun der Blog nicht mehr funktioniert, so musst du in der Datenbank die entsprechenden Angaben korrigieren.&lt;br /&gt;
&lt;br /&gt;
Beachte auch den thematisch ähnlich gelagerten Artikel WordPress trotz Installation in Unterverzeichnis über Hauptverzeichnis aufrufen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Variante 1 ===&lt;br /&gt;
&lt;br /&gt;
Öffne mit einem Texteditor (Microsoft Word ist keiner!) die Datei wp-config.php, welche sich im Stammverzeichnis deiner WordPress-Installation befindet.&lt;br /&gt;
An beliebiger Stelle (jedoch nicht ganz am Anfang oder Ende der Datei) fügst du folgenden Befehl ein:&lt;br /&gt;
define(&amp;#039;WP_SITEURL&amp;#039;, &amp;#039;http://www.deine-richtige-adresse.xyz&amp;#039;);&lt;br /&gt;
define(&amp;#039;WP_HOME&amp;#039;, &amp;#039;http://www.deine-richtige-adresse.xyz&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
Speichere nun die Änderung und lade die Datei hoch. Das sollte es schon gewesen sein.&lt;br /&gt;
Im WordPress-Backend in den Allgemeinen Einstellungen sind nun die WordPress-Adresse (URL) / Blog-Adresse (URL) ausgegraut.&lt;br /&gt;
&lt;br /&gt;
===Variante 2===&lt;br /&gt;
&lt;br /&gt;
Öffne mit einem Texteditor (Microsoft Word ist keiner!) die Datei wp-config.php, welche sich im Stammverzeichnis deiner WordPress-Installation befindet.&lt;br /&gt;
An beliebiger Stelle (jedoch nicht ganz am Anfang oder Ende der Datei) fügst du folgenden Befehl ein:&lt;br /&gt;
define(&amp;#039;RELOCATE&amp;#039;, true);&lt;br /&gt;
&lt;br /&gt;
Speichere nun die Änderung und lade die Datei hoch.&lt;br /&gt;
&lt;br /&gt;
Rufe nun im Browser die wp-login.php deines Blogs auf. Diese befindet sich ebenfalls im Stammverzeichnis, also z.B. www.deinblog.de/wp-login.php.&lt;br /&gt;
Nach dem die Seite aufgerufen wurde, öffnest du die wieder die wp-config.php und entfernst das&lt;br /&gt;
define(&amp;#039;RELOCATE&amp;#039;, true);&lt;br /&gt;
oder kommentiert es durch vorranstellen von&lt;br /&gt;
//&lt;br /&gt;
aus.&lt;br /&gt;
&lt;br /&gt;
Logge dich nun via wp-login.php in deinen Blog ein und ändere noch im Adminmenü unter&lt;br /&gt;
Optionen / Einstellungen &amp;gt;&amp;gt; Allgemein &amp;gt; WordPress-Adresse (URL)&lt;br /&gt;
die WordPress-Adresse auf den aktuellen Stand bzw. auf das, was in Blog-Adresse steht.&lt;br /&gt;
&lt;br /&gt;
===Variante 3===&lt;br /&gt;
&lt;br /&gt;
Für die Bearbeitung der MySQL-Datenbank gibt es eine grafische Oberfläche mit dem Namen phpMyAdmin. Nahezu jeder Webhoster hat diese Oberfläche bereits vorinstalliert.&lt;br /&gt;
Falls du nicht weißt, wie du phpMyAdmin aufrufen kannst, so konsultiere deinen Webhoster. Oft ist es über ein Kundenmenü oder per Aufruf über http://www.deinedomain.de/mysqladmin/ erreichbar.&lt;br /&gt;
&lt;br /&gt;
In die Datenbank loggst du dich mit den gleichen Daten (Benutzername und Kennwort) ein, wie du sie auch in der Datei wp-config.php (im Stammverzeichnis von WordPress) eingetragen hast.&lt;br /&gt;
&lt;br /&gt;
In der linken Spalte von phpMyAdmin findest du eine Auflistung der Tabellen, die sich in deiner Datenbank befinden. Die Änderungen müssen in der Tabelle mit dem Namen (sofern das Tabellenprefix nicht geändert wurde) wp_options getätigt werden. Klicke in der linken Spalte also auf wp_options.&lt;br /&gt;
&lt;br /&gt;
Nun sollte sich die rechte Seite der Datenbankoberfläche geändert haben. Ganz oben auf dieser Seite befindet sich die Option Anzeigen bzw. Browse – klicke diesen Menüpunkt an, um den Inhalt der Tabelle anzuzeigen.&lt;br /&gt;
&lt;br /&gt;
Über das Bleistiftsymbol in der zweiten Spalte der Tabellenanzeige kannst du nun all die Datensätze ändern, in denen die URL zum Blog gespeichert ist. Üblicherweise sind es die Datensätze mit dem option_name siteurl und home.&lt;br /&gt;
Beachte, dass die Tabelle mehrere Seiten hat, so dass die zu ändernden Werte eventuell nicht auf der ersten Seite zu sehen sind.&lt;br /&gt;
&lt;br /&gt;
Datensatz gefunden und Bleistiftgrafik angeklickt? Dann kannst du nun im Feld option_value die neue URL zum Blog eintragen und per klick auf den Button OK die Änderung speichern.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht auch lesenswert (falls z.B. die Bilderpfade in Artikeln nicht mehr stimmen), ist der Artikel Suchen und Ersetzen in MySQL-Datenbanken von Jowra.&lt;br /&gt;
Noch komfortabler dürfte das Suchen und Ersetzen-Plugin von bueltge.de sein.&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress_umziehen&amp;diff=20284</id>
		<title>Wordpress umziehen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress_umziehen&amp;diff=20284"/>
		<updated>2014-02-28T13:52:17Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Tutorial ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://faq.wpde.org/wordpress-url-aendern/&lt;br /&gt;
&lt;br /&gt;
Falls du mit deinem Blog dahingehend umziehen willst, dass sich die Adresse zum Blog ändert, oder du in&lt;br /&gt;
 Adminbereich &amp;gt;&amp;gt; Einstellungen &amp;gt;&amp;gt; Allgemein &amp;gt; WordPress-Adresse (URL) / Blog-Adresse (URL)&lt;br /&gt;
aus versehen eine falsche Adresse eingegeben hast und nun der Blog nicht mehr funktioniert, so musst du in der Datenbank die entsprechenden Angaben korrigieren.&lt;br /&gt;
&lt;br /&gt;
Beachte auch den thematisch ähnlich gelagerten Artikel WordPress trotz Installation in Unterverzeichnis über Hauptverzeichnis aufrufen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Variante 1 ===&lt;br /&gt;
&lt;br /&gt;
Öffne mit einem Texteditor (Microsoft Word ist keiner!) die Datei wp-config.php, welche sich im Stammverzeichnis deiner WordPress-Installation befindet.&lt;br /&gt;
An beliebiger Stelle (jedoch nicht ganz am Anfang oder Ende der Datei) fügst du folgenden Befehl ein:&lt;br /&gt;
define(&amp;#039;WP_SITEURL&amp;#039;, &amp;#039;http://www.deine-richtige-adresse.xyz&amp;#039;);&lt;br /&gt;
define(&amp;#039;WP_HOME&amp;#039;, &amp;#039;http://www.deine-richtige-adresse.xyz&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
Speichere nun die Änderung und lade die Datei hoch. Das sollte es schon gewesen sein.&lt;br /&gt;
Im WordPress-Backend in den Allgemeinen Einstellungen sind nun die WordPress-Adresse (URL) / Blog-Adresse (URL) ausgegraut.&lt;br /&gt;
&lt;br /&gt;
===Variante 2===&lt;br /&gt;
&lt;br /&gt;
Öffne mit einem Texteditor (Microsoft Word ist keiner!) die Datei wp-config.php, welche sich im Stammverzeichnis deiner WordPress-Installation befindet.&lt;br /&gt;
An beliebiger Stelle (jedoch nicht ganz am Anfang oder Ende der Datei) fügst du folgenden Befehl ein:&lt;br /&gt;
define(&amp;#039;RELOCATE&amp;#039;, true);&lt;br /&gt;
&lt;br /&gt;
Speichere nun die Änderung und lade die Datei hoch.&lt;br /&gt;
&lt;br /&gt;
Rufe nun im Browser die wp-login.php deines Blogs auf. Diese befindet sich ebenfalls im Stammverzeichnis, also z.B. www.deinblog.de/wp-login.php.&lt;br /&gt;
Nach dem die Seite aufgerufen wurde, öffnest du die wieder die wp-config.php und entfernst das&lt;br /&gt;
define(&amp;#039;RELOCATE&amp;#039;, true);&lt;br /&gt;
oder kommentiert es durch vorranstellen von&lt;br /&gt;
//&lt;br /&gt;
aus.&lt;br /&gt;
&lt;br /&gt;
Logge dich nun via wp-login.php in deinen Blog ein und ändere noch im Adminmenü unter&lt;br /&gt;
Optionen / Einstellungen &amp;gt;&amp;gt; Allgemein &amp;gt; WordPress-Adresse (URL)&lt;br /&gt;
die WordPress-Adresse auf den aktuellen Stand bzw. auf das, was in Blog-Adresse steht.&lt;br /&gt;
&lt;br /&gt;
===Variante 3===&lt;br /&gt;
&lt;br /&gt;
Für die Bearbeitung der MySQL-Datenbank gibt es eine grafische Oberfläche mit dem Namen phpMyAdmin. Nahezu jeder Webhoster hat diese Oberfläche bereits vorinstalliert.&lt;br /&gt;
Falls du nicht weißt, wie du phpMyAdmin aufrufen kannst, so konsultiere deinen Webhoster. Oft ist es über ein Kundenmenü oder per Aufruf über http://www.deinedomain.de/mysqladmin/ erreichbar.&lt;br /&gt;
&lt;br /&gt;
In die Datenbank loggst du dich mit den gleichen Daten (Benutzername und Kennwort) ein, wie du sie auch in der Datei wp-config.php (im Stammverzeichnis von WordPress) eingetragen hast.&lt;br /&gt;
&lt;br /&gt;
In der linken Spalte von phpMyAdmin findest du eine Auflistung der Tabellen, die sich in deiner Datenbank befinden. Die Änderungen müssen in der Tabelle mit dem Namen (sofern das Tabellenprefix nicht geändert wurde) wp_options getätigt werden. Klicke in der linken Spalte also auf wp_options.&lt;br /&gt;
&lt;br /&gt;
Nun sollte sich die rechte Seite der Datenbankoberfläche geändert haben. Ganz oben auf dieser Seite befindet sich die Option Anzeigen bzw. Browse – klicke diesen Menüpunkt an, um den Inhalt der Tabelle anzuzeigen.&lt;br /&gt;
&lt;br /&gt;
Über das Bleistiftsymbol in der zweiten Spalte der Tabellenanzeige kannst du nun all die Datensätze ändern, in denen die URL zum Blog gespeichert ist. Üblicherweise sind es die Datensätze mit dem option_name siteurl und home.&lt;br /&gt;
Beachte, dass die Tabelle mehrere Seiten hat, so dass die zu ändernden Werte eventuell nicht auf der ersten Seite zu sehen sind.&lt;br /&gt;
&lt;br /&gt;
Datensatz gefunden und Bleistiftgrafik angeklickt? Dann kannst du nun im Feld option_value die neue URL zum Blog eintragen und per klick auf den Button OK die Änderung speichern.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht auch lesenswert (falls z.B. die Bilderpfade in Artikeln nicht mehr stimmen), ist der Artikel Suchen und Ersetzen in MySQL-Datenbanken von Jowra.&lt;br /&gt;
Noch komfortabler dürfte das Suchen und Ersetzen-Plugin von bueltge.de sein.&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress_umziehen&amp;diff=20283</id>
		<title>Wordpress umziehen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress_umziehen&amp;diff=20283"/>
		<updated>2014-02-28T13:51:16Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: Die Seite wurde neu angelegt: „http://faq.wpde.org/wordpress-url-aendern/  Falls du mit deinem Blog dahingehend umziehen willst, dass sich die Adresse zum Blog ändert, oder du in  Adminbereich…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://faq.wpde.org/wordpress-url-aendern/&lt;br /&gt;
&lt;br /&gt;
Falls du mit deinem Blog dahingehend umziehen willst, dass sich die Adresse zum Blog ändert, oder du in&lt;br /&gt;
 Adminbereich &amp;gt;&amp;gt; Einstellungen &amp;gt;&amp;gt; Allgemein &amp;gt; WordPress-Adresse (URL) / Blog-Adresse (URL)&lt;br /&gt;
aus versehen eine falsche Adresse eingegeben hast und nun der Blog nicht mehr funktioniert, so musst du in der Datenbank die entsprechenden Angaben korrigieren.&lt;br /&gt;
&lt;br /&gt;
Beachte auch den thematisch ähnlich gelagerten Artikel WordPress trotz Installation in Unterverzeichnis über Hauptverzeichnis aufrufen.&lt;br /&gt;
&lt;br /&gt;
[[Variante 1]]&lt;br /&gt;
&lt;br /&gt;
Öffne mit einem Texteditor (Microsoft Word ist keiner!) die Datei wp-config.php, welche sich im Stammverzeichnis deiner WordPress-Installation befindet.&lt;br /&gt;
An beliebiger Stelle (jedoch nicht ganz am Anfang oder Ende der Datei) fügst du folgenden Befehl ein:&lt;br /&gt;
define(&amp;#039;WP_SITEURL&amp;#039;, &amp;#039;http://www.deine-richtige-adresse.xyz&amp;#039;);&lt;br /&gt;
define(&amp;#039;WP_HOME&amp;#039;, &amp;#039;http://www.deine-richtige-adresse.xyz&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
Speichere nun die Änderung und lade die Datei hoch. Das sollte es schon gewesen sein.&lt;br /&gt;
Im WordPress-Backend in den Allgemeinen Einstellungen sind nun die WordPress-Adresse (URL) / Blog-Adresse (URL) ausgegraut.&lt;br /&gt;
&lt;br /&gt;
[[Variante 2]]&lt;br /&gt;
&lt;br /&gt;
Öffne mit einem Texteditor (Microsoft Word ist keiner!) die Datei wp-config.php, welche sich im Stammverzeichnis deiner WordPress-Installation befindet.&lt;br /&gt;
An beliebiger Stelle (jedoch nicht ganz am Anfang oder Ende der Datei) fügst du folgenden Befehl ein:&lt;br /&gt;
define(&amp;#039;RELOCATE&amp;#039;, true);&lt;br /&gt;
&lt;br /&gt;
Speichere nun die Änderung und lade die Datei hoch.&lt;br /&gt;
&lt;br /&gt;
Rufe nun im Browser die wp-login.php deines Blogs auf. Diese befindet sich ebenfalls im Stammverzeichnis, also z.B. www.deinblog.de/wp-login.php.&lt;br /&gt;
Nach dem die Seite aufgerufen wurde, öffnest du die wieder die wp-config.php und entfernst das&lt;br /&gt;
define(&amp;#039;RELOCATE&amp;#039;, true);&lt;br /&gt;
oder kommentiert es durch vorranstellen von&lt;br /&gt;
//&lt;br /&gt;
aus.&lt;br /&gt;
&lt;br /&gt;
Logge dich nun via wp-login.php in deinen Blog ein und ändere noch im Adminmenü unter&lt;br /&gt;
Optionen / Einstellungen &amp;gt;&amp;gt; Allgemein &amp;gt; WordPress-Adresse (URL)&lt;br /&gt;
die WordPress-Adresse auf den aktuellen Stand bzw. auf das, was in Blog-Adresse steht.&lt;br /&gt;
&lt;br /&gt;
[[Variante 3]]&lt;br /&gt;
&lt;br /&gt;
Für die Bearbeitung der MySQL-Datenbank gibt es eine grafische Oberfläche mit dem Namen phpMyAdmin. Nahezu jeder Webhoster hat diese Oberfläche bereits vorinstalliert.&lt;br /&gt;
Falls du nicht weißt, wie du phpMyAdmin aufrufen kannst, so konsultiere deinen Webhoster. Oft ist es über ein Kundenmenü oder per Aufruf über http://www.deinedomain.de/mysqladmin/ erreichbar.&lt;br /&gt;
&lt;br /&gt;
In die Datenbank loggst du dich mit den gleichen Daten (Benutzername und Kennwort) ein, wie du sie auch in der Datei wp-config.php (im Stammverzeichnis von WordPress) eingetragen hast.&lt;br /&gt;
&lt;br /&gt;
In der linken Spalte von phpMyAdmin findest du eine Auflistung der Tabellen, die sich in deiner Datenbank befinden. Die Änderungen müssen in der Tabelle mit dem Namen (sofern das Tabellenprefix nicht geändert wurde) wp_options getätigt werden. Klicke in der linken Spalte also auf wp_options.&lt;br /&gt;
&lt;br /&gt;
Nun sollte sich die rechte Seite der Datenbankoberfläche geändert haben. Ganz oben auf dieser Seite befindet sich die Option Anzeigen bzw. Browse – klicke diesen Menüpunkt an, um den Inhalt der Tabelle anzuzeigen.&lt;br /&gt;
&lt;br /&gt;
Über das Bleistiftsymbol in der zweiten Spalte der Tabellenanzeige kannst du nun all die Datensätze ändern, in denen die URL zum Blog gespeichert ist. Üblicherweise sind es die Datensätze mit dem option_name siteurl und home.&lt;br /&gt;
Beachte, dass die Tabelle mehrere Seiten hat, so dass die zu ändernden Werte eventuell nicht auf der ersten Seite zu sehen sind.&lt;br /&gt;
&lt;br /&gt;
Datensatz gefunden und Bleistiftgrafik angeklickt? Dann kannst du nun im Feld option_value die neue URL zum Blog eintragen und per klick auf den Button OK die Änderung speichern.&lt;br /&gt;
&lt;br /&gt;
In dieser Hinsicht auch lesenswert (falls z.B. die Bilderpfade in Artikeln nicht mehr stimmen), ist der Artikel Suchen und Ersetzen in MySQL-Datenbanken von Jowra.&lt;br /&gt;
Noch komfortabler dürfte das Suchen und Ersetzen-Plugin von bueltge.de sein.&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress&amp;diff=20282</id>
		<title>Wordpress</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress&amp;diff=20282"/>
		<updated>2014-02-28T13:50:15Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wordpress ist ein Blog System auf Basis von mySQL und PHP. Hier finden sich einige Tipps zu Arbeit mit Wordpress.&lt;br /&gt;
&lt;br /&gt;
[[Wordpress umziehen]]&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Editor anpassen]]&lt;br /&gt;
&lt;br /&gt;
[[Wordpress MU auf dem Mac installieren]]&lt;br /&gt;
Installation über Terminal auf XAMPP inkl. Buddypress&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Templates]]&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Plugins]]&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Snippets]]&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Templates&amp;diff=20278</id>
		<title>Typo3 - Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Templates&amp;diff=20278"/>
		<updated>2014-02-20T13:04:52Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Typo3 - Templates mit Fluid]]&lt;br /&gt;
&lt;br /&gt;
[[TYPO3 - Template-Auswahl]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Static Templates]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Ein komplettes Beispiel]]&lt;br /&gt;
&lt;br /&gt;
Arbeiten mit [[CSS Styled Content]]&lt;br /&gt;
&lt;br /&gt;
Arbeiten mit [[Typo3 - HTML-Templates]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wichtige Einstellungen&amp;#039;&amp;#039;&amp;#039; in [[Typo3 - TS Templates]] und [[Typo3 - Tipps und Tricks]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Navigation&amp;#039;&amp;#039;&amp;#039; [[Typo3 - Navigation]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Content Elemente&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - grafische Überschriften (Header)]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Rahmen (Frames)]]&lt;br /&gt;
&lt;br /&gt;
ToDo&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Netzwerkverkehr_mit_der_Fritz_Box_mitschneiden&amp;diff=20277</id>
		<title>Netzwerkverkehr mit der Fritz Box mitschneiden</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Netzwerkverkehr_mit_der_Fritz_Box_mitschneiden&amp;diff=20277"/>
		<updated>2014-02-20T08:32:22Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quickstart ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;fritz.box/html/capture.html&amp;#039;&amp;#039;&amp;#039; im Browser aufrufen und anmelden.&lt;br /&gt;
* Netzwerkverkehr kann als Datei im Wireshark-Format mitgeschnitten werde.&lt;br /&gt;
* Analyse der Datei in Wireshark&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Netzwerkverkehr_mit_der_Fritz_Box_mitschneiden&amp;diff=20276</id>
		<title>Netzwerkverkehr mit der Fritz Box mitschneiden</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Netzwerkverkehr_mit_der_Fritz_Box_mitschneiden&amp;diff=20276"/>
		<updated>2014-02-20T08:32:06Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Quickstart:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;fritz.box/html/capture.html&amp;#039;&amp;#039;&amp;#039; im Browser aufrufen und anmelden.&lt;br /&gt;
* Netzwerkverkehr kann als Datei im Wireshark-Format mitgeschnitten werde.&lt;br /&gt;
* Analyse der Datei in Wireshark&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Netzwerkverkehr_mit_der_Fritz_Box_mitschneiden&amp;diff=20275</id>
		<title>Netzwerkverkehr mit der Fritz Box mitschneiden</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Netzwerkverkehr_mit_der_Fritz_Box_mitschneiden&amp;diff=20275"/>
		<updated>2014-02-20T08:31:15Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: Die Seite wurde neu angelegt: „Quickstart:   fritz.box/html/capture.html   Anmelden mit normalem Passwort   Netzwerkverkehr kann als Datei im Wireshark-Format mitgeschnitten werde.  Analyse der…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Quickstart:&lt;br /&gt;
&lt;br /&gt;
 fritz.box/html/capture.html&lt;br /&gt;
&lt;br /&gt;
 Anmelden mit normalem Passwort&lt;br /&gt;
 &lt;br /&gt;
Netzwerkverkehr kann als Datei im Wireshark-Format mitgeschnitten werde.&lt;br /&gt;
&lt;br /&gt;
Analyse der Datei in Wireshark&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Netzwerk&amp;diff=20274</id>
		<title>Netzwerk</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Netzwerk&amp;diff=20274"/>
		<updated>2014-02-20T08:29:51Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: Die Seite wurde neu angelegt: „Links  Mac als Proxy Server Squidman / Wireshark  Netzwerkverkehr mit Wireshark analysieren  Netzwerkverkehr mit der Fritz Box mitschneiden“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Links&lt;br /&gt;
&lt;br /&gt;
[[Mac als Proxy Server]] Squidman / Wireshark&lt;br /&gt;
&lt;br /&gt;
[[Netzwerkverkehr mit Wireshark analysieren]]&lt;br /&gt;
&lt;br /&gt;
[[Netzwerkverkehr mit der Fritz Box mitschneiden]]&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Mac_als_Proxy_Server&amp;diff=20273</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=20273"/>
		<updated>2014-02-20T07:44:24Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Squidman */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Squidman ==&lt;br /&gt;
Grafisches Interface für den Proxy Squid (der ist im Bundle mit dabei)&lt;br /&gt;
Zusätzliche Mögichkeiten mit Wireshark (X11 bzw. ab Mavericks XQuartz benötigt)&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;br /&gt;
&lt;br /&gt;
==Wireshark==&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Euvetsupport&amp;diff=20272</id>
		<title>Euvetsupport</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Euvetsupport&amp;diff=20272"/>
		<updated>2014-02-19T09:50:05Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Ilias Rechte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WP4&lt;br /&gt;
&lt;br /&gt;
id75 &lt;br /&gt;
&lt;br /&gt;
learning area &lt;br /&gt;
* registrierung einbauen&lt;br /&gt;
* -&amp;gt; webinar &lt;br /&gt;
* - chat support http://www.livechatoo.com/de&lt;br /&gt;
&lt;br /&gt;
registrierung &lt;br /&gt;
 -&amp;gt; beiträge schreiben (ohne registrierung aber freigabe)&lt;br /&gt;
 -&amp;gt; Kommentare machen zu Beiträgen (registrierung ?)&lt;br /&gt;
 &lt;br /&gt;
Glossar&lt;br /&gt;
-&amp;gt; durchsucht beiträge und verlinkt zu anderen Titeln&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ilias ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ilias Rechte ===&lt;br /&gt;
Neuen Benutzer anlegen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Administration -&amp;gt; User Accounts&lt;br /&gt;
Add User&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Default: User Role dann zusätzlich euVETSupport Author anhaken (Author Rights for the Category euVETSupport )&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Euvetsupport&amp;diff=20271</id>
		<title>Euvetsupport</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Euvetsupport&amp;diff=20271"/>
		<updated>2014-02-19T09:12:51Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Ilias Rechte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WP4&lt;br /&gt;
&lt;br /&gt;
id75 &lt;br /&gt;
&lt;br /&gt;
learning area &lt;br /&gt;
* registrierung einbauen&lt;br /&gt;
* -&amp;gt; webinar &lt;br /&gt;
* - chat support http://www.livechatoo.com/de&lt;br /&gt;
&lt;br /&gt;
registrierung &lt;br /&gt;
 -&amp;gt; beiträge schreiben (ohne registrierung aber freigabe)&lt;br /&gt;
 -&amp;gt; Kommentare machen zu Beiträgen (registrierung ?)&lt;br /&gt;
 &lt;br /&gt;
Glossar&lt;br /&gt;
-&amp;gt; durchsucht beiträge und verlinkt zu anderen Titeln&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ilias ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ilias Rechte ===&lt;br /&gt;
Default: User Role dann zusätzlich euVETSupport Author anhaken (Author Rights for the Category euVETSupport )&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Euvetsupport&amp;diff=20270</id>
		<title>Euvetsupport</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Euvetsupport&amp;diff=20270"/>
		<updated>2014-02-19T09:12:22Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WP4&lt;br /&gt;
&lt;br /&gt;
id75 &lt;br /&gt;
&lt;br /&gt;
learning area &lt;br /&gt;
* registrierung einbauen&lt;br /&gt;
* -&amp;gt; webinar &lt;br /&gt;
* - chat support http://www.livechatoo.com/de&lt;br /&gt;
&lt;br /&gt;
registrierung &lt;br /&gt;
 -&amp;gt; beiträge schreiben (ohne registrierung aber freigabe)&lt;br /&gt;
 -&amp;gt; Kommentare machen zu Beiträgen (registrierung ?)&lt;br /&gt;
 &lt;br /&gt;
Glossar&lt;br /&gt;
-&amp;gt; durchsucht beiträge und verlinkt zu anderen Titeln&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ilias ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ilias Rechte ===&lt;br /&gt;
Default: User Role dann zusätzlich euVETSupport Author anhaken&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Ilias&amp;diff=20269</id>
		<title>Ilias</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Ilias&amp;diff=20269"/>
		<updated>2014-02-19T09:11:04Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Autoren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
Dokumentation: http://www.ilias.de/docu/goto_docu_cat_581.html&lt;br /&gt;
&lt;br /&gt;
== Rechte und Rollen ==&lt;br /&gt;
Für Nachfolgende Rollen gibt es Templates.&lt;br /&gt;
=== Quickstart ===&lt;br /&gt;
* Kategorien erstellen (z.B. Fachbereich -&amp;gt; Kurs )&lt;br /&gt;
=== Autoren ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Scientists, professors, and other subject matter experts need to &lt;br /&gt;
* be able to create new learning content, &lt;br /&gt;
* be able to edit existing learning content. &lt;br /&gt;
However, they should only be able to &lt;br /&gt;
* add and edit content within their area of expertise. &lt;br /&gt;
&lt;br /&gt;
These individual subject matter areas would be shown as categories in ILIAS 3. &lt;br /&gt;
&lt;br /&gt;
For each subject matter area, create an appropriate author role, and assign these roles to the associated subject matters experts.&lt;br /&gt;
&lt;br /&gt;
Beispiel siehe euVet&lt;br /&gt;
&lt;br /&gt;
== Container ==&lt;br /&gt;
4 kinds of containers:&lt;br /&gt;
&lt;br /&gt;
* Categories&lt;br /&gt;
* Courses incl. member administration&lt;br /&gt;
* Groups incl. member administration&lt;br /&gt;
* Folders (within courses and groups)&lt;br /&gt;
&lt;br /&gt;
Außerdem viele Zusätzliche Objekte wie Umfragen etc...&lt;br /&gt;
&lt;br /&gt;
=== Container anlegen ===&lt;br /&gt;
 Repository -&amp;gt; add Item&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=PHP_-_Snippets&amp;diff=20268</id>
		<title>PHP - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=PHP_-_Snippets&amp;diff=20268"/>
		<updated>2014-02-18T12:46:13Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Marker Replacement ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function replace_markers($template,$arrMarkers){&lt;br /&gt;
	// Platzhalter mit den Benutzereingaben ersetzen&lt;br /&gt;
	$sCalib_as_offered = &amp;#039;&amp;lt;p&amp;gt;Request for customized calibration&amp;lt;/p&amp;gt;&amp;#039;;&lt;br /&gt;
	$sCalib_as_datasheet = &amp;#039;&amp;lt;p&amp;gt;Calibration will be performed based on current specifications as stated in data sheet&amp;lt;/p&amp;gt;&amp;#039;;&lt;br /&gt;
	$sAdditional_service = &amp;#039;&amp;lt;h3&amp;gt;Only for calibration request&amp;lt;/h3&amp;gt;&amp;lt;strong&amp;gt;End user would like to have additional services:&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&amp;#039;;&lt;br /&gt;
	$sCalib_justify = &amp;#039;&amp;lt;p&amp;gt;Standard calibration (ISO) with adjustment (with additional charges)&amp;lt;/p&amp;gt;&amp;#039;;&lt;br /&gt;
	$sFw_update = &amp;#039;&amp;lt;p&amp;gt;Firmware update (free of charge)&amp;lt;/p&amp;gt;&amp;#039;;&lt;br /&gt;
	&lt;br /&gt;
	if($arrMarkers[calib_type] == &amp;#039;calib_as_offered&amp;#039;) $template = str_replace( &amp;#039;###CALIB_TYPE###&amp;#039;, $sCalib_as_offered, $template );&lt;br /&gt;
	if($arrMarkers[calib_type] == &amp;#039;calib_as_datasheet&amp;#039;) $template = str_replace( &amp;#039;###CALIB_TYPE###&amp;#039;, $sCalib_as_datasheet, $template );&lt;br /&gt;
	&lt;br /&gt;
	if($arrMarkers[additional_service]) $template = str_replace( &amp;#039;###ADDITIONAL_SERVICE###&amp;#039;, $sAdditional_service, $template);&lt;br /&gt;
	if($arrMarkers[calib_justify]) $template = str_replace( &amp;#039;###CALIB_JUSTIFY###&amp;#039;, $sCalib_justify, $template );&lt;br /&gt;
	else $template = str_replace( &amp;#039;###CALIB_JUSTIFY###&amp;#039;, &amp;#039;&amp;#039;, $template );&lt;br /&gt;
	&lt;br /&gt;
	if($arrMarkers[fw_update]) $template = str_replace( &amp;#039;###FW_UPDATE###&amp;#039;, $sFw_update, $template );&lt;br /&gt;
	else $template = str_replace( &amp;#039;###FW_UPDATE###&amp;#039;, &amp;#039;&amp;#039;, $template );&lt;br /&gt;
	&lt;br /&gt;
    foreach($arrMarkers as $key =&amp;gt; $val){&lt;br /&gt;
    	if($val == &amp;#039;0&amp;#039;)$val = &amp;#039;&amp;#039;;&lt;br /&gt;
    	$val = iconv(&amp;quot;UTF-8&amp;quot;,&amp;quot;UTF-8//IGNORE&amp;quot;,$val);&lt;br /&gt;
    	$template = str_replace( &amp;#039;###&amp;#039;.strtoupper($key).&amp;#039;###&amp;#039;, htmlspecialchars( $val ), $template );&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    $template = str_replace( &amp;#039;###FNAME1###&amp;#039;, htmlspecialchars( $arrMarkers[fname1] ), $template );&lt;br /&gt;
    $template = str_replace( &amp;#039;###RMA_NUM###&amp;#039;, $rma_num, $template );&lt;br /&gt;
    $template = str_replace( &amp;#039;###NACHRICHT###&amp;#039;, htmlspecialchars( $nachricht ), $template );&lt;br /&gt;
	//echo $template;&lt;br /&gt;
	return $template;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Clean up POST und GET ==&lt;br /&gt;
Zusätzliche Sicherheit für Post und Get.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function clean($elem) {&lt;br /&gt;
	/* used to add some security to get and post vars */&lt;br /&gt;
	if(!is_array($elem)) &lt;br /&gt;
		$elem = htmlentities($elem,ENT_QUOTES,&amp;quot;UTF-8&amp;quot;); &lt;br /&gt;
    	else &lt;br /&gt;
		foreach ($elem as $key =&amp;gt; $value) &lt;br /&gt;
			$elem[$key] = $this-&amp;gt;clean($value); &lt;br /&gt;
    	return $elem; &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
$_CLEAN[&amp;#039;GET&amp;#039;] = clean($_GET); &lt;br /&gt;
$_CLEAN[&amp;#039;POST&amp;#039;] = clean($_POST);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IP Adresse Abfragen ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
		public static function get_ip() {&lt;br /&gt;
			$REMOTE_ADDR = $_SERVER[&amp;#039;REMOTE_ADDR&amp;#039;];&lt;br /&gt;
			if ( ! empty( $_SERVER[&amp;#039;X_FORWARDED_FOR&amp;#039;] ) ) {&lt;br /&gt;
				$X_FORWARDED_FOR = explode(&amp;#039;,&amp;#039;, $_SERVER[&amp;#039;X_FORWARDED_FOR&amp;#039;] );&lt;br /&gt;
				if ( ! empty( $X_FORWARDED_FOR ) ) {&lt;br /&gt;
					$REMOTE_ADDR = trim( $X_FORWARDED_FOR[0] );&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			elseif ( ! empty($_SERVER[&amp;#039;HTTP_X_FORWARDED_FOR&amp;#039;] ) ) {&lt;br /&gt;
				$HTTP_X_FORWARDED_FOR= explode(&amp;#039;,&amp;#039;, $_SERVER[&amp;#039;HTTP_X_FORWARDED_FOR&amp;#039;]);&lt;br /&gt;
				if ( ! empty($HTTP_X_FORWARDED_FOR ) ) {&lt;br /&gt;
					$REMOTE_ADDR = trim($HTTP_X_FORWARDED_FOR[0]);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			return preg_replace(&amp;#039;/[^0-9a-f:\., ]/si&amp;#039;, &amp;#039;&amp;#039;, $REMOTE_ADDR);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=PHP_-_Tipps_und_Tricks&amp;diff=20267</id>
		<title>PHP - Tipps und Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=PHP_-_Tipps_und_Tricks&amp;diff=20267"/>
		<updated>2014-02-15T09:07:29Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Bilder schützen und nur über php ausliefern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://www.phpbuddy.eu/&lt;br /&gt;
&lt;br /&gt;
http://www.php.net&lt;br /&gt;
&lt;br /&gt;
[[PHP - Snippets]]&lt;br /&gt;
&lt;br /&gt;
== E-Mails mit php versenden ==&lt;br /&gt;
[[PHP - E-Mail versenden]]&lt;br /&gt;
&lt;br /&gt;
siehe auch &lt;br /&gt;
&lt;br /&gt;
[[PHP - Validieren von Benutzereingaben]]&lt;br /&gt;
&lt;br /&gt;
== Bilder schützen und nur über php ausliefern ==&lt;br /&gt;
1a Schutz per htaccess, so daß nur Zugriffe vom eigenen Server zulässig sind.&lt;br /&gt;
&lt;br /&gt;
1b. Verzeichnisrechte so setzen, daß nur php-Nutzer lesen kann (oder einfach ein schwer zu erratender Verzeichnisname) -&amp;gt; kann man aber z.B. mit iFrame umgehen ist also weniger als Schutz praktisch, reicht aber, wenn man zur Laufzeit eine andere Variante des Bildes liefern will.&lt;br /&gt;
&lt;br /&gt;
2. PHP Skript liefert die Bilder -&amp;gt; hier kann man dann User Access, Zeitsteuerung etc. regeln.&lt;br /&gt;
&lt;br /&gt;
Beispiel htaccess:&lt;br /&gt;
&lt;br /&gt;
Zugriff auf das Verzeichnis nur über php nicht über direktzugriff &lt;br /&gt;
&lt;br /&gt;
 order deny,allow&lt;br /&gt;
 deny  from all&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hierbei sind auf Bilder nur Zugriffe von der eigenen Domain erlaubt, ansonsten kommt ein Ersatzbild. Eignet sich z.B. um Traffic durch Bilderklau vorzubeugen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RewriteEngine on&lt;br /&gt;
RewriteCond %{HTTP_REFERER} !^$&lt;br /&gt;
RewriteCond %{HTTP_REFERER} !^http://(www.)?mydomain.de(/.*)?$ [NC]&lt;br /&gt;
RewriteRule .(gif|jpg|GIF|JPG)$ http://www.myDomain.de/images/ersatz.gif [R,L]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
if ($_SESSION[&amp;#039;eingeloggt&amp;#039;] == true) {&lt;br /&gt;
   header(&amp;#039;Content-Type: image/jpeg&amp;#039;);&lt;br /&gt;
   readfile(&amp;#039;bild.jpg&amp;#039;);&lt;br /&gt;
} else {&lt;br /&gt;
   echo &amp;#039;Kein Direktzugriff erlaubt&amp;#039;; &lt;br /&gt;
}&lt;br /&gt;
?&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weitere Beispiele mit htaccess:&lt;br /&gt;
&lt;br /&gt;
Beispiel mit Ersatzgrafik und mehreren URL&amp;#039;s:&lt;br /&gt;
Kann ja sein, dass man mehrere Homepages hat, die darauf zurückgreifen dürfen. Folgendes überträgst Du ins Notepad und speicherst es als .htaccess ab:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     RewriteEngine on&lt;br /&gt;
     RewriteCond %{HTTP_REFERER} !^$&lt;br /&gt;
     RewriteCond %{HTTP_REFERER} !^http://(www.)?webmaster-eye.de(/.*)?$ [NC]&lt;br /&gt;
     RewriteCond %{HTTP_REFERER} !^http://(www.)?mynickpage.de(/.*)?$ [NC]&lt;br /&gt;
     RewriteRule .(gif|jpg|GIF|JPG)$ http://www.webmaster-eye.de/images/ersatz.gif [R,L]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beispiel mit dem roten X:&lt;br /&gt;
Folgendes überträgst Du ins Notepad und speicherst es als .htaccess ab:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     RewriteEngine on&lt;br /&gt;
     RewriteCond %{HTTP_REFERER} !^$&lt;br /&gt;
     RewriteCond %{HTTP_REFERER} !^http://(www.)?webmaster-eye.de(/.*)?$ [NC]&lt;br /&gt;
     RewriteRule .(gif|jpg)$ - [F]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quelle der htaccess Beispiele: http://www.webmaster-eye.de/Traffic-sparen-mit-htaccess-als-Bilder-Schutz.242.artikel.html (11/2011)&lt;br /&gt;
&lt;br /&gt;
== Weiterleitung mit PHP ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 header(&amp;quot;Location: http://www.myHomepage.net&amp;quot;);&lt;br /&gt;
 exit;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Ausgaben zwischenspeichern oder in Variablen umleiten ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Problem: Die Ausgabe von echo oder von includes soll zuerst in einer Variablen gespeichert werden, damit Sie nicht gleich ausgegeben werden.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
Das läßt sich lösen indem man die Ausgabe zunächst puffert und dann den Puffer in eine Variable lädt.&lt;br /&gt;
 basicartsstudios at hotmail dot com&lt;br /&gt;
21-Jan-2007 10:39&lt;br /&gt;
Sometimes you might not want to include a php-file under the specifications defined in the functions include() or require(), but you might want to have in return the string that the script in the file &amp;quot;echoes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Include() and require() both directly put out the evaluated code.&lt;br /&gt;
&lt;br /&gt;
For avoiding this, try output-buffering:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
ob_start();&lt;br /&gt;
eval(file_get_contents($file));&lt;br /&gt;
$result = ob_get_contents();&lt;br /&gt;
ob_end_clean();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
ob_start();&lt;br /&gt;
include($file);&lt;br /&gt;
$result = ob_get_contents();&lt;br /&gt;
ob_end_clean();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which i consider the same, correct me if I&amp;#039;m wrong.&lt;br /&gt;
&lt;br /&gt;
Best regards, BasicArtsStudios&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Umlaute, UTF-8 und PHP: wenn Sonderzeichen falsch dargestellt werden ==&lt;br /&gt;
Quelle: http://www.sjmfreelancing.de/devblog/umlaute-utf-8-und-php.html (15.10.2008)&lt;br /&gt;
&lt;br /&gt;
Ich habe des öfteren das Problem gehabt, dass Sonderzeichen auf PHP-basierten Internetseiten nicht korrekt angezeigt wurden und Firefox ein gerahmtes Fragezeichen statt Ü, ü etc. ausgab, der Internet Explorer einen Kasten und auch Safari&amp;amp;Co. Probleme hatten.&lt;br /&gt;
&lt;br /&gt;
Lange war ich auf der Suche nach der richtigen Lösung für dieses Problem und habe mich durch unterschiedliche Blogs, Foren und Internetseiten gewühlt bis ich letztendlich eine Ansammlung verschiedenster Tipps &amp;amp; Tricks aufgenommen und in Kombination angewandt habe. Und siehe da: Sonderzeichen sind korrekt :)&lt;br /&gt;
&lt;br /&gt;
Hier ein paar Dinge, die jeder Programmierer beherzigen sollte, wenn er mit Umlauten umgeht:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1. Header korrekt setzen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Mit einem Einzeiler kann man PHP dazu bringen einen UTF-8-Header an den Browser zu senden. Einfach folgenden Code ganz oben in der Index-Datei setzen:&lt;br /&gt;
&lt;br /&gt;
 header(&amp;#039;content-type: text/html; charset=UTF-8&amp;#039;);  &lt;br /&gt;
&lt;br /&gt;
2. HTML-Header korrekt setzen&lt;br /&gt;
&lt;br /&gt;
Folgenden Code in den HEAD-Bereich des HTML-Dokuments setzen:&lt;br /&gt;
view plaincopy to clipboardprint?&lt;br /&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;
&lt;br /&gt;
3. PHP-Dateien im UTF-8-Format speichern&lt;br /&gt;
&lt;br /&gt;
Ganz wichtig ist es die PHP-Dateien die man verwendet im UTF-8-Format zu speichern. Sprich: den Editor dazu zu bringen, die Datei mit Umlauten zu speichern.&lt;br /&gt;
4. MySQL dazu bewegen UTF-8 zu nutzen&lt;br /&gt;
&lt;br /&gt;
MySQL liefert auch nicht (immer) von Haus aus UTF-8-korrekte Ausgaben. Folgendes MySQL-Query einfach nach dem connecten mit der Datenbank ausführen:&lt;br /&gt;
&lt;br /&gt;
 mysql_query(&amp;#039;set character set utf8;&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
5. Das &amp;amp;-Zeichen immer escapen&lt;br /&gt;
&lt;br /&gt;
Zwar nicht direkt ein Problem, aber: ü, ä, ß etc. sind auch dann korrektes HTML, wenn man sie nicht mittels htmlentities in Entitäten umgewandelt hat. Anders sieht es mit dem Kaufmanns-Und (&amp;amp;) aus: diesen IMMER mit &amp;amp;amp; ausgeben. Auch bei Links gilt: &amp;amp; durch &amp;lt;code&amp;gt;&amp;amp;amp;&amp;lt;/code&amp;gt; ersetzen!&lt;br /&gt;
&lt;br /&gt;
== Validieren von Werten aus Eingabefeldern ==&lt;br /&gt;
[[PHP - Validierung von Werten aus Eingabefeldern]]&lt;br /&gt;
&lt;br /&gt;
== Sicherheit in PHP Skripts ==&lt;br /&gt;
&lt;br /&gt;
== PHP und JSON ==&lt;br /&gt;
[[PHP und JSON]]&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Baukasten&amp;diff=20266</id>
		<title>Typo3 - Baukasten</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Baukasten&amp;diff=20266"/>
		<updated>2014-02-14T10:29:53Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Navigation mit Seitenid in Klasse für individuelles Styling */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;weitere Infos unter [[Typo3 - Tipps und Tricks]]&lt;br /&gt;
&lt;br /&gt;
== Formulare ==&lt;br /&gt;
[[Typo3 - Formulare mit https sicher versenden]]&lt;br /&gt;
&lt;br /&gt;
[[TYPO3 - Checkbox in Standard Mailformular als Pflichtfeld]]&lt;br /&gt;
&lt;br /&gt;
== Auf Daten zugreifen ==&lt;br /&gt;
Beispiele gibt es hier:&lt;br /&gt;
&lt;br /&gt;
[[TypoScript - Daten auslesen]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - stdWrap]]&lt;br /&gt;
&lt;br /&gt;
Die stdWrap Eigenschaft steht vielen Objekten zur Verfügung. Wenn Sie vorhanden ist ist Sie der Problemlöser für fast alle Probleme :-).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - TSFE]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Das Media Feld]]&lt;br /&gt;
&lt;br /&gt;
== Standardeinstellungen ==&lt;br /&gt;
[[Typo3 - Standardeinstellungen]]&lt;br /&gt;
&lt;br /&gt;
== Quellcode aufräumen - Sourcecode verbessern - valides XHTML ==&lt;br /&gt;
Der Core produziert seit 4.0 valides XHTML&lt;br /&gt;
&lt;br /&gt;
weitere Hilfen wenn Extensions nicht valide arbeiten bieten:&lt;br /&gt;
&lt;br /&gt;
Installation von Tidy auf dem SErver (aktivieren im Install-Tool)&lt;br /&gt;
&lt;br /&gt;
HTML Cleaner http://typo3.org/extensions/repository/view/qcom_htmlcleaner/2.4.0/&lt;br /&gt;
&lt;br /&gt;
Das Bordeigene HTML-Cleaning: config.xhtml_cleaning = all&lt;br /&gt;
&lt;br /&gt;
Vorsicht bei den Cleanern wenn JavaScript im Spiel ist weil dieser z.T. zerstört werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel aus dem Forum zum Quelltext aufräumen ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Einstellen des DocType auf XHTML Transitional&lt;br /&gt;
config.doctype = xhtml_trans&lt;br /&gt;
#XHTML Cleaning aktivieren&lt;br /&gt;
config.xhtml_cleaning = all&lt;br /&gt;
#Default Javascripts in externes File auslagern&lt;br /&gt;
config.removeDefaultJS = 1&lt;br /&gt;
config.removeDefaultJS = external&lt;br /&gt;
#&amp;lt;?xml... ?&amp;gt; Prolog deaktivieren&lt;br /&gt;
config.xmlprologue = none&lt;br /&gt;
#CSS Datei in externes File auslagern&lt;br /&gt;
config.inlineStyle2TempFile = 1&lt;br /&gt;
config.disablePrefixComment = 1&lt;br /&gt;
&lt;br /&gt;
#RTE Tuning&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class &amp;gt;&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.remapTag &amp;gt;&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.DIV.class &amp;gt;&lt;br /&gt;
#Angabe von Tags, die nicht mit einem zusätzlichen wrap umgeben werden dürfen&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.encapsTagList = cite, div, p, pre, h1, h2, h3, h4, h5, h6&lt;br /&gt;
&lt;br /&gt;
#Entfernt die zusätzlichen CSS-Klassen&lt;br /&gt;
lib.stdheader.3 = LOAD_REGISTER&lt;br /&gt;
lib.stdheader.3.headerClass =&lt;br /&gt;
lib.stdheader.3.headerClass.noTrimWrap = |&lt;br /&gt;
lib.stdheader.stdWrap.dataWrap = |&lt;br /&gt;
&lt;br /&gt;
#Standard-Headings aufräumen&lt;br /&gt;
lib.stdheader.stdWrap.dataWrap =&lt;br /&gt;
lib.stdheader.10.1.fontTag = &amp;lt;h1&amp;gt;|&amp;lt;/h1&amp;gt;&lt;br /&gt;
lib.stdheader.10.2.fontTag = &amp;lt;h2&amp;gt;|&amp;lt;/h2&amp;gt;&lt;br /&gt;
lib.stdheader.10.3.fontTag = &amp;lt;h3&amp;gt;|&amp;lt;/h3&amp;gt;&lt;br /&gt;
lib.stdheader.10.4.fontTag = &amp;lt;h4&amp;gt;|&amp;lt;/h4&amp;gt;&lt;br /&gt;
lib.stdheader.10.5.fontTag = &amp;lt;h5&amp;gt;|&amp;lt;/h5&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Content Elemente aufräumen und Kommentare entfernen&lt;br /&gt;
tt_content.stdWrap.dataWrap &amp;gt;&lt;br /&gt;
tt_content.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.header.20.dataWrap &amp;gt;&lt;br /&gt;
tt_content.header.20.prefixComment &amp;gt;&lt;br /&gt;
tt_content.default.prefixComment &amp;gt;&lt;br /&gt;
tt_content.text.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.text.20.prefixComment &amp;gt;&lt;br /&gt;
tt_content.textpic.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.table.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.mailform.20.stdWrap.wrap &amp;gt;&lt;br /&gt;
tt_content.menu.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.image.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.list.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
=== Navigation mit Seitenid in Klasse für individuelles Styling ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 NO.allWrap=&amp;lt;li id=&amp;quot;hd-nav-{field:uid}&amp;quot;&amp;gt;|&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Standard Navigation Beispiele ===&lt;br /&gt;
==== ak-freizeiten ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.navi_vBulletList = HMENU&lt;br /&gt;
temp.navi_vBulletList {&lt;br /&gt;
    special = directory&lt;br /&gt;
    special.value = 44&lt;br /&gt;
    #entryLevel = 0&lt;br /&gt;
   1 = TMENU&lt;br /&gt;
   1.noBlur = 1&lt;br /&gt;
   1.wrap = &amp;lt;ul class=&amp;quot;navi1&amp;quot;&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
   1.NO = 1&lt;br /&gt;
   1.NO.linkWrap = &amp;lt;li class=&amp;quot;naviL1&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
   1.ACT = 1&lt;br /&gt;
   1.ACT.linkWrap = &amp;lt;li class=&amp;quot;naviL1_act&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
   1.ACTIFSUB = 1&lt;br /&gt;
   1.ACTIFSUB.linkWrap = &amp;lt;li class=&amp;quot;naviL1_act&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    2 = TMENU&lt;br /&gt;
   2.noBlur = 1&lt;br /&gt;
   2.wrap = &amp;lt;ul class=&amp;quot;navi1_1&amp;quot;&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
   2.NO = 1&lt;br /&gt;
   2.NO.linkWrap = &amp;lt;li class=&amp;quot;naviL1_1&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
   2.ACT = 1&lt;br /&gt;
   2.ACT.linkWrap = &amp;lt;li class=&amp;quot;naviL1_1_act&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
   2.ACTIFSUB = 1&lt;br /&gt;
   2.ACTIFSUB.linkWrap = &amp;lt;li class=&amp;quot;naviL1_1_act&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GMenu mit Bildern aus den Seiteneigenschaften (Media-Feld) ===&lt;br /&gt;
Ein Schnipsel vom 12.3.2009 typo3 blogger&lt;br /&gt;
Nicht sehr oft benötigt, aber unter Umständen dennoch hilfreich: ein kleines Copy&amp;amp;Paste Tutorial zur Erstellung eines GMENUs mit Bildern aus dem “media”-Feld der Seiteneigenschaften. Zu beachten gibt es: der GIFBUILDER greift bei diesem Snippet das Bild nicht an, sodass es unverändert im Frontend ausgegeben wird. Dies hatte bei mir den Grund, dass die Website nur aus Bildern besteht und Photoshop nunmal bessere Ergebnisse als ImageMagick bzw. GraphicsMagick liefert - deshalb wollte ich auch nicht, dass er irgendwas an den Bildern verändert oder neu berechnet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.menu = HMENU&lt;br /&gt;
temp.menu {&lt;br /&gt;
	1 = GMENU&lt;br /&gt;
	1 {&lt;br /&gt;
		wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		noBlur = 0&lt;br /&gt;
		NO = 1&lt;br /&gt;
		NO {&lt;br /&gt;
			wrap = &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt; &lt;br /&gt;
 &lt;br /&gt;
			altImgResource.import = uploads/media/&lt;br /&gt;
			altImgResource.import.field = media&lt;br /&gt;
			altImgResource.import.listNum = 0&lt;br /&gt;
 &lt;br /&gt;
			ATagTitle.field = subtitle // title&lt;br /&gt;
		}&lt;br /&gt;
 &lt;br /&gt;
		RO = 1&lt;br /&gt;
		RO &amp;lt; .NO&lt;br /&gt;
		RO {&lt;br /&gt;
			altImgResource.import.listNum = 1&lt;br /&gt;
		}&lt;br /&gt;
 &lt;br /&gt;
		ACT &amp;lt; .RO&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
lib.menu &amp;lt; temp.menu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Welches Bild (falls mehrere vorhanden sind) TYPO3 nun für das Erzeugen des Menüs nimmt bestimmt folgende Zeile:&lt;br /&gt;
&lt;br /&gt;
 altImgResource.import.listNum = 0&lt;br /&gt;
&lt;br /&gt;
Zu beachten gibt es dabei: wie in der Datentechnik üblich fängt man bei 0 zu zählen an, 0 ist dabei das erste Bild, 1 das zweite, 2 das dritte, usw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein etwas ausführlicheres:&lt;br /&gt;
&lt;br /&gt;
[[TYPO3 Navigation aus Bildern im Media Feld]]&lt;br /&gt;
&lt;br /&gt;
=== GMENU und wrapItemAndSub Workaround mit TMENU===&lt;br /&gt;
Ebenfalls von Typo3Blogger&lt;br /&gt;
&lt;br /&gt;
Freunde von semantisch korrektem HTML die auf ein grafisches, mehrstufiges Menü angewiesen sind, werden wissen wovon ich spreche. Man hat ein tolles GMENU gebastelt, welches wunderbare Grafiken liefert und fragt sich “warum ist mein HTML kaputt?”. Nach ein paar Sekunden googlen findet man die Antwort: GMENU fehlt die Eigenschaft “wrapItemAndSub”, mit welchem sich einfach verschachtelte Menüs realisieren lassen. Es gibt viele Ansätze dies zu umgehen, manche arbeiten mit IFSUB, manche verlassen sich auf Tidy. Vor Kurzem stand ich (wieder einmal) vor dem Problem und wollte es einmal anders lösen.&lt;br /&gt;
&lt;br /&gt;
Dabei bin ich auf folgende Lösung gestoßen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.mainMenu = HMENU&lt;br /&gt;
temp.mainMenu {&lt;br /&gt;
	1 = TMENU&lt;br /&gt;
	1 {&lt;br /&gt;
		wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
		NO = 1&lt;br /&gt;
        	NO {&lt;br /&gt;
        		wrapItemAndSub = &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
        		doNotShowLink = 1&lt;br /&gt;
 &lt;br /&gt;
			RO = 1&lt;br /&gt;
			ATagTitle.field = title&lt;br /&gt;
 &lt;br /&gt;
			beforeImg = GIFBUILDER&lt;br /&gt;
			beforeImg {&lt;br /&gt;
				XY=[20.w]+15,42&lt;br /&gt;
				backColor = #1092AD&lt;br /&gt;
 &lt;br /&gt;
				10 = TEXT&lt;br /&gt;
				10 {&lt;br /&gt;
					text {&lt;br /&gt;
						field = title&lt;br /&gt;
						align = center&lt;br /&gt;
					}			&lt;br /&gt;
 &lt;br /&gt;
					fontFile = fileadmin/font.ttf&lt;br /&gt;
					fontSize = 16&lt;br /&gt;
					fontColor = #FFFFFF&lt;br /&gt;
 &lt;br /&gt;
					offset = 0,34&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
 &lt;br /&gt;
			beforeROImg &amp;lt; .beforeImg&lt;br /&gt;
			beforeROImg.20.fontColor = #FFD20F&lt;br /&gt;
			beforeImgLink = 1&lt;br /&gt;
		}&lt;br /&gt;
 &lt;br /&gt;
		ACT &amp;lt; .NO&lt;br /&gt;
		ACT {&lt;br /&gt;
			RO = 0&lt;br /&gt;
			beforeImg.20.fontColor = #FF0000&lt;br /&gt;
			wrapItemAndSub = &amp;lt;li class=&amp;quot;act&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
		}&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
       2 &amp;lt; .1&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
lib.mainMenu &amp;lt; temp.mainMenu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Das tolle an dieser Lösung ist nicht nur, dass man wrapItemAndSub verwenden kann, nein auch alle anderen Eigenschaften und Zustände des TMENU stehen einem zur Verfügung!&lt;br /&gt;
&lt;br /&gt;
Ich frage mich, warum wrapItemAndSub bis heute noch nicht in TYPO3 implementiert wurde. Vielleicht wäre es mit der aktuellen Veröffentlichung der TYPO3 4.3 Alpha 2 und der Aufforderung die Feature-Wunschliste zu füllen einmal Zeit diesem Punkt etwas Nachdruck zu verleihen. Falls ihr noch andere Lösungsansätze auf Lager oder bessere Ideen habt, bitte informiert uns in den Comments!&lt;br /&gt;
&lt;br /&gt;
=== Klassisches List Menu ===&lt;br /&gt;
Dieses Menü kann als Grundbaustein für alle möglichen Menüs verwendet werden. Man kopiert sich das Menü in ein neues Objekt und modifiziert dort die Eigenschaften wie man sie braucht. Als Alternative gibt es noch das [[Menue als CSS formatierte Liste]] in dem ein fixer Startpunkt vorgegeben ist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Accessible ====&lt;br /&gt;
benötigt cronaccessiblemenues&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.listMenu = HMENU&lt;br /&gt;
&lt;br /&gt;
# Falls das Menü nicht bei der obersten Ebene anfangen soll&lt;br /&gt;
 temp.listMenu.entryLevel = 1&lt;br /&gt;
&lt;br /&gt;
# Bei Bedarf einzelne Seiten aus dem Menü ausschließen&lt;br /&gt;
#temp.listMenu.excludeUidList = 1,2,3&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.1 = TMENU&lt;br /&gt;
temp.listMenu.1 {&lt;br /&gt;
  wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
  noBlur = 1&lt;br /&gt;
  IProcFunc = user_cronaccessiblemenus-&amp;gt;makeAccessible&lt;br /&gt;
&lt;br /&gt;
//NO.after = xyz&lt;br /&gt;
# Access Keys einschalten&lt;br /&gt;
  IProcFunc.accessKeys = 1&lt;br /&gt;
&lt;br /&gt;
# Hierarchische Nummerierung der Menüpunkte einschalten&lt;br /&gt;
  IProcFunc.dfn = 1&lt;br /&gt;
  IProcFunc.accessKeyWrap = &amp;lt;span class=&amp;quot;accessKey&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&lt;br /&gt;
  IProcFunc.appendWrap = &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;&amp;amp;nbsp;(ALT-|)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Die folgenden Accesskeys nicht verwenden (bereits belegt)&lt;br /&gt;
&lt;br /&gt;
  IProcFunc.forbiddenKeys = 0,D,B,A,F,X,m,p&lt;br /&gt;
&lt;br /&gt;
# Einstellungen für nicht-aktive Seiten&lt;br /&gt;
&lt;br /&gt;
  NO {&lt;br /&gt;
    wrapItemAndSub = |*| &amp;lt;li class=&amp;quot;NO&amp;quot;&amp;gt; | &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;|*|&amp;lt;li class=&amp;quot;NO last&amp;quot;&amp;gt; | &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    stdWrap.htmlSpecialChars = 1&lt;br /&gt;
#    stdWrap.wrap = |abc&lt;br /&gt;
    ATagTitle.field = abstract // description&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
# Einstellungen für Seiten, die sich in der Rootline befinden&lt;br /&gt;
&lt;br /&gt;
  ACT = 1&lt;br /&gt;
  ACT {&lt;br /&gt;
    wrapItemAndSub = |*| &amp;lt;li class=&amp;quot;ACT&amp;quot;&amp;gt; | &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;ACT last&amp;quot;&amp;gt; | &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    stdWrap.htmlSpecialChars = 1&lt;br /&gt;
    ATagTitle.field = abstract // description&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
# Einstellungen für die aktuelle Seite&lt;br /&gt;
&lt;br /&gt;
  CUR = 1&lt;br /&gt;
  CUR {&lt;br /&gt;
    wrapItemAndSub = |*| &amp;lt;li class=&amp;quot;CUR&amp;quot;&amp;gt; | &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;CUR last&amp;quot;&amp;gt; | &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    stdWrap.htmlSpecialChars = 1&lt;br /&gt;
    doNotLinkIt = 0&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Gleiche Einstellungen für die nächsten Ebenen&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.2 = TMENU&lt;br /&gt;
temp.listMenu.2 &amp;lt; temp.listMenu.1&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.3 = TMENU&lt;br /&gt;
temp.listMenu.3 &amp;lt; temp.listMenu.2&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.4 = TMENU&lt;br /&gt;
temp.listMenu.4 &amp;lt; temp.listMenu.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Classic (not accessible) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.listMenu = HMENU&lt;br /&gt;
&lt;br /&gt;
# Falls das Menü nicht bei der obersten Ebene anfangen soll&lt;br /&gt;
 temp.listMenu.entryLevel = 1&lt;br /&gt;
&lt;br /&gt;
# Bei Bedarf einzelne Seiten aus dem Menü ausschließen&lt;br /&gt;
#temp.listMenu.excludeUidList = 1,2,3&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.1 = TMENU&lt;br /&gt;
temp.listMenu.1 {&lt;br /&gt;
  wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
  noBlur = 1&lt;br /&gt;
&lt;br /&gt;
# Einstellungen für nicht-aktive Seiten&lt;br /&gt;
&lt;br /&gt;
  NO {&lt;br /&gt;
    wrapItemAndSub = |*| &amp;lt;li class=&amp;quot;NO&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class=&amp;quot;NO last&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;&lt;br /&gt;
    stdWrap.htmlSpecialChars = 1&lt;br /&gt;
    ATagTitle.field = abstract // description&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
# Einstellungen für Seiten, die sich in der Rootline befinden&lt;br /&gt;
&lt;br /&gt;
  ACT = 1&lt;br /&gt;
  ACT {&lt;br /&gt;
    wrapItemAndSub = |*| &amp;lt;li class=&amp;quot;ACT&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;ACT last&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;&lt;br /&gt;
    stdWrap.htmlSpecialChars = 1&lt;br /&gt;
    ATagTitle.field = abstract // description&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
# Einstellungen für die aktuelle Seite&lt;br /&gt;
&lt;br /&gt;
  CUR = 1&lt;br /&gt;
  CUR {&lt;br /&gt;
    wrapItemAndSub = |*| &amp;lt;li class=&amp;quot;CUR&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;CUR last&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;&lt;br /&gt;
    stdWrap.htmlSpecialChars = 1&lt;br /&gt;
    doNotLinkIt = 0&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Gleiche Einstellungen für die nächsten Ebenen&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.2 = TMENU&lt;br /&gt;
temp.listMenu.2 &amp;lt; temp.listMenu.1&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.3 = TMENU&lt;br /&gt;
temp.listMenu.3 &amp;lt; temp.listMenu.2&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.4 = TMENU&lt;br /&gt;
temp.listMenu.4 &amp;lt; temp.listMenu.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Multilanguage Menu ===&lt;br /&gt;
[[Typo3 - Multilanguage Menu]]&lt;br /&gt;
=== Bilder Menü ===&lt;br /&gt;
siehe: [[Typo3 - Bildermenü]]&lt;br /&gt;
=== Einfaches Menü mit 1 Ebene (CSS) ===&lt;br /&gt;
siehe: [[Menue als CSS formatierte Liste]]&lt;br /&gt;
&lt;br /&gt;
=== Menü mit 2 Ebenen als verschachtelte Liste ===&lt;br /&gt;
Dieses Menü ist besonders für vertikale Navigationen geeignet&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Einstieg Level 1&lt;br /&gt;
navi-L12-startID = 1&lt;br /&gt;
navi-L12-delimiter = &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;#124;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
navi-L12-delimiter =&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Top Navigation ###&lt;br /&gt;
temp.navi-L12 = HMENU&lt;br /&gt;
temp.navi-L12 {&lt;br /&gt;
  #stdWrap.case = lower&lt;br /&gt;
  special = directory&lt;br /&gt;
  # Seitenid für den Einstieg&lt;br /&gt;
  special.value = {$navi-L12-startID}&lt;br /&gt;
  # Ebene für den Einstieg (nicht vergessen wg. 2. Level)&lt;br /&gt;
  entryLevel = 1&lt;br /&gt;
  1 = TMENU&lt;br /&gt;
  1{&lt;br /&gt;
    noBlur = 1&lt;br /&gt;
    wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
    NO = 1&lt;br /&gt;
    NO.linkWrap = |*| &amp;lt;li&amp;gt;|{$navi-L12-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
    ACT = 1&lt;br /&gt;
    ACT.linkWrap =  |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|{$navi-L12-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
    ACTIFSUB = 1&lt;br /&gt;
    #Wenn Unterpunkte dann li aufmachen&lt;br /&gt;
    ACTIFSUB.linkWrap = &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&lt;br /&gt;
  }&lt;br /&gt;
  2 = TMENU&lt;br /&gt;
  2{&lt;br /&gt;
   noBlur = 1&lt;br /&gt;
   NO = 1&lt;br /&gt;
   #Unterpunkt also neue ul und danach li zu (von L1 geöffnet)&lt;br /&gt;
   wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
   NO.linkWrap = |*| &amp;lt;li&amp;gt;|{$navi-L12-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
   ACT = 1&lt;br /&gt;
   ACT.linkWrap =  |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|{$navi-L12-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  #ACTIFSUB = 1&lt;br /&gt;
  #ACTIFSUB.linkWrap = &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Menü mit 2 Ebenen als separate Listen ===&lt;br /&gt;
Dieses Menü ist besonders für horizontale Navigationen geeignet. &lt;br /&gt;
&lt;br /&gt;
Da die 2. Ebene relativ angegeben wird muß man bei mehreren Navigationsbäumen aufpassen, daß evt. ein Untermenü einer anderen Navigation (anderer Baum) ebenfalls angezeigt wird. Das läßt sich z.B. umgehen in dem man das Navitemplate erst im Unterbaum setzt oder indem man im Hauptbaum eine Bedingung setzt ([PIDinRootline = 123])&lt;br /&gt;
&lt;br /&gt;
Ebene 1 ist im Prinzip eine einfache Liste:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Navi nur Level1&lt;br /&gt;
#Startpunkt&lt;br /&gt;
navi_startID = 1&lt;br /&gt;
&lt;br /&gt;
#Trennzeichen für horizontale Navi:&lt;br /&gt;
naviL1-delimiter = &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;#124;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Top Navigation ###&lt;br /&gt;
temp.naviL1 = HMENU&lt;br /&gt;
temp.naviL1 {&lt;br /&gt;
  #stdWrap.case = lower&lt;br /&gt;
  special = directory&lt;br /&gt;
  # Seitenid für den Einstieg&lt;br /&gt;
  special.value = {$navi_startID}&lt;br /&gt;
  1 = TMENU&lt;br /&gt;
  1.noBlur = 1&lt;br /&gt;
  1.wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
  1.NO = 1&lt;br /&gt;
  1.NO.linkWrap = |*| &amp;lt;li&amp;gt;|{$naviL1-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
  1.ACT = 1&lt;br /&gt;
  1.ACT.linkWrap =  |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|{$naviL1-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
  #1.ACTIFSUB = 1&lt;br /&gt;
  #1.ACTIFSUB.linkWrap = &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für Ebene 2 wird eine weitere Liste generiert wenn man sich in einem bestimmten Level befindet:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Navigation nur ab Level x  als ul (Standard entry Level1=2.Level)&lt;br /&gt;
&lt;br /&gt;
#Trennzeichen für horizontale Navi:&lt;br /&gt;
naviLx-delimiter = &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;#124;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
naviLx-entryLevel = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.naviLx = HMENU&lt;br /&gt;
temp.naviLx {&lt;br /&gt;
  # Seitenbaumebene ab Level 1 darstellen (2. Ebene)&lt;br /&gt;
   entryLevel = {$naviLx-entryLevel}&lt;br /&gt;
# Level 2&lt;br /&gt;
   1 = TMENU&lt;br /&gt;
   1{&lt;br /&gt;
      noBlur = 1&lt;br /&gt;
      wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
      NO = 1&lt;br /&gt;
   # Für horizontale Navi mit delimiter bei vertikal einfach nichts setzen&lt;br /&gt;
      NO.linkWrap = |*| &amp;lt;li&amp;gt;|{$naviLx-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      ACT = 1&lt;br /&gt;
   # Für vertikale Navi ohne delimiter...      &lt;br /&gt;
      #ACT.linkWrap = &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
   # und horizontal mit delimiter&lt;br /&gt;
      ACT.linkWrap =  |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|{$naviLx-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;    &lt;br /&gt;
&lt;br /&gt;
      #ACTIFSUB = 1&lt;br /&gt;
      #ACTIFSUB.linkWrap = &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Menü als CSS formatierte Liste (allgemein) ===&lt;br /&gt;
[[Menue als CSS formatierte Liste]]&lt;br /&gt;
=== CSS-Flyout Menü ===&lt;br /&gt;
[[Typo3 - CSS-Flyout Menü]]&lt;br /&gt;
&lt;br /&gt;
=== Sauberes grafisches Menü ===&lt;br /&gt;
[[Typo3 - Grafisches Menü]]&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
=== Autoparser (automaketemplate und Templateswitcher (tx_rlmptmplselector) konfigurieren ===&lt;br /&gt;
Der Template - Switcher benötigt automaketemplate (oder man arbeitet direkt mit TS-Templates). &lt;br /&gt;
Am besten gleich beide in einem Basis Template konfigurieren:&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[TYPO3 - Template-Auswahl]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### SET UP TEMPLATE SELECTOR ###&lt;br /&gt;
plugin.tx_rlmptmplselector_pi1 {&lt;br /&gt;
&lt;br /&gt;
// Define the paths leading to our HTML template files&lt;br /&gt;
   templatePathMain = fileadmin/dinos/templates/main/&lt;br /&gt;
   templatePathSub = fileadmin/dinos/templates/sub/&lt;br /&gt;
&lt;br /&gt;
      // Define the filenames used as the default HTML templates&lt;br /&gt;
   defaultTemplateFileNameMain = main.html&lt;br /&gt;
   defaultTemplateFileNameSub = sub01.html&lt;br /&gt;
&lt;br /&gt;
      // If there is a page having no template selected, use a template&lt;br /&gt;
      // selected earlier in the rootline. If there is none, use the default&lt;br /&gt;
    inheritMainTemplates = 1&lt;br /&gt;
    inheritSubTemplates = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
### Autoparser Konfigurieren (alle IDs als Marker) ###&lt;br /&gt;
&lt;br /&gt;
plugin.tx_automaketemplate_pi1{&lt;br /&gt;
#  content = FILE&lt;br /&gt;
#  content.file = fileadmin/templates/main/main.html&lt;br /&gt;
&lt;br /&gt;
  content &amp;lt; plugin.tx_rlmptmplselector_pi1&lt;br /&gt;
  elements {&lt;br /&gt;
    BODY.all = 1&lt;br /&gt;
    BODY.all.subpartMarker = DOCUMENT_BODY&lt;br /&gt;
    HEAD.all = 1&lt;br /&gt;
    HEAD.all.subpartMarker = DOCUMENT_HEADER&lt;br /&gt;
    HEAD.all.rmTagSections = title&lt;br /&gt;
    DIV.all = 1&lt;br /&gt;
    TD.all = 1&lt;br /&gt;
  }&lt;br /&gt;
    relPathPrefix = fileadmin/dinos/templates/main/&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== News - Modul ===&lt;br /&gt;
Hier gibt es fertige Konfigurationen:&lt;br /&gt;
[[News (tt_news)]]&lt;br /&gt;
&lt;br /&gt;
=== eCards - sr_sendcard ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# The Fast Way:&lt;br /&gt;
# plugin.tx_srsendcard_pi1._CSS_DEFAULT_STYLE = @import url(&amp;quot;fileadmin/dinos/templates/css/srsendcard.css&amp;quot;);&lt;br /&gt;
# But better is this (more flexible lesser Overhead)&lt;br /&gt;
&lt;br /&gt;
plugin.tx_srsendcard_pi1._CSS_DEFAULT_STYLE &amp;gt;&lt;br /&gt;
&lt;br /&gt;
[PIDinRootline = 14]&lt;br /&gt;
page.includeCSS.file2 = fileadmin/dinos/templates/srsendcard/srsendcard.css&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
plugin.tx_srsendcard_pi1{&lt;br /&gt;
&lt;br /&gt;
templateFile = fileadmin/dinos/templates/srsendcard/srsendcard.tmpl&lt;br /&gt;
locale_all = de_DE&lt;br /&gt;
oldYear = 2006&lt;br /&gt;
# Vorschauseite (wenn gewünscht)&lt;br /&gt;
# previewPID = your_page_id&lt;br /&gt;
enableHTMLMail = 1&lt;br /&gt;
siteEmail = info@start-reutlingen.de&lt;br /&gt;
siteName = Erben der Dinos&lt;br /&gt;
# musicDir = EXT:sr_sendcard/music&lt;br /&gt;
#cardMusicFiles = autumnleaves.mid, OverTheRainbow.mid, Pomp_and_Circumstance.mid&lt;br /&gt;
disableMusic = 1&lt;br /&gt;
maxCol = 2&lt;br /&gt;
imageSmallWidth = 150&lt;br /&gt;
imageSmallHeight = 150&lt;br /&gt;
imageBigWidth = 300&lt;br /&gt;
imageBigHeight = 300&lt;br /&gt;
#logo&lt;br /&gt;
#logoAlignHor = right&lt;br /&gt;
#logoAlignVert = bottom&lt;br /&gt;
#useAlternateImageOnPrint&lt;br /&gt;
### For use with other pids use this one too&lt;br /&gt;
#createPID&lt;br /&gt;
#formPID&lt;br /&gt;
#previewPID&lt;br /&gt;
#useCAPTCHA = 0&lt;br /&gt;
#viewPID&lt;br /&gt;
#printPID&lt;br /&gt;
### Erscheinungsbild ###&lt;br /&gt;
cardStamp = fileadmin/dinos/templates/srsendcard/stamp.gif&lt;br /&gt;
#date_stdWrap&lt;br /&gt;
disableSendDate = 1&lt;br /&gt;
cardBgcolors = #FFFFFF,#A00A1C,#FF993F&lt;br /&gt;
cardFontcolors = #000000, #FFFFFF,#A00A1C&lt;br /&gt;
#disableFontcolors&lt;br /&gt;
#disableFontfaces&lt;br /&gt;
#disableCardOptions&lt;br /&gt;
#graphicMess&lt;br /&gt;
#graphicMessWidth&lt;br /&gt;
#graphicMessFontFiles&lt;br /&gt;
#graphicMessFontSizes&lt;br /&gt;
#fontDir&lt;br /&gt;
#doNotShowCardCaptions&lt;br /&gt;
cardPresentationOrder = manual&lt;br /&gt;
salutation = informal&lt;br /&gt;
#disableBgcolors = 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zufallsbild tx_ccrandomimage ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TypoScript - Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### zufallsbild erzeugen ###&lt;br /&gt;
includeLibs.tx_ccrandomimage = EXT:cc_random_image/pi1/class.tx_ccrandomimage_pi1.php&lt;br /&gt;
&lt;br /&gt;
// USER_INT means &amp;#039;no caching&amp;#039;&lt;br /&gt;
temp.randomImage = USER_INT&lt;br /&gt;
temp.randomImage{&lt;br /&gt;
  userFunc = tx_ccrandomimage_pi1-&amp;gt;main&lt;br /&gt;
  path = fileadmin/randomImage/&lt;br /&gt;
  fileExt = jpg,jpeg,gif,png&lt;br /&gt;
  #Das Render Objekt ist ein content object array (COA) mit einem Bild&lt;br /&gt;
  #Vor dem Rendern werden die ###FILE_x### marker mit den Bildern aus path ersetzt&lt;br /&gt;
  renderObj = COA&lt;br /&gt;
  renderObj {&lt;br /&gt;
    10 = IMAGE&lt;br /&gt;
    10.file = ###FILE_1###&lt;br /&gt;
    // ... weitere Bilder wenn benötigt&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hCard - Microformat ===&lt;br /&gt;
Das Thema Semantic Web wird inzwischen immer interessanter, darum kam ich auf die Idee - fast allein mit TypoScript - das bekannte hCard-Microformat in TYPO3 zu integrieren.&lt;br /&gt;
&lt;br /&gt;
Was wir dafür brauchen ist eine eigene kleine Extension, diese benötigen wir lediglich für eine einzige Zeile Code, welche in die Datei ext_tables.php kommt:&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      t3lib_extMgm::addToInsertRecords(&amp;#039;fe_users&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
Dazu jetzt noch das TypoScript:&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      temp.hcard = COA&lt;br /&gt;
   2.&lt;br /&gt;
      temp.hcard {&lt;br /&gt;
   3.&lt;br /&gt;
      wrap =&lt;br /&gt;
   4.&lt;br /&gt;
      &amp;lt;div id=&amp;quot;hcard&amp;quot; class=&amp;quot;vcard&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
   5.&lt;br /&gt;
       &lt;br /&gt;
   6.&lt;br /&gt;
      10 = IMAGE&lt;br /&gt;
   7.&lt;br /&gt;
      10.file {&lt;br /&gt;
   8.&lt;br /&gt;
      import = uploads/pics/&lt;br /&gt;
   9.&lt;br /&gt;
      import.field = image&lt;br /&gt;
  10.&lt;br /&gt;
      width = 40&lt;br /&gt;
  11.&lt;br /&gt;
      params = class=&amp;quot;photo&amp;quot;&lt;br /&gt;
  12.&lt;br /&gt;
      }&lt;br /&gt;
  13.&lt;br /&gt;
      20 = TEXT&lt;br /&gt;
  14.&lt;br /&gt;
      20.field = name&lt;br /&gt;
  15.&lt;br /&gt;
      20.typolink.parameter.field = url&lt;br /&gt;
  16.&lt;br /&gt;
      20.typolink.ATagParams = class=&amp;quot;url fn&amp;quot;&lt;br /&gt;
  17.&lt;br /&gt;
      30 = TEXT&lt;br /&gt;
  18.&lt;br /&gt;
      30.field = company&lt;br /&gt;
  19.&lt;br /&gt;
      30.wrap =&lt;br /&gt;
  20.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;org&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
  21.&lt;br /&gt;
       &lt;br /&gt;
  22.&lt;br /&gt;
      40 = TEXT&lt;br /&gt;
  23.&lt;br /&gt;
      40.field = email&lt;br /&gt;
  24.&lt;br /&gt;
      40.typolink.parameter.field = email&lt;br /&gt;
  25.&lt;br /&gt;
      40.typolink.ATagParams = class=&amp;quot;email&amp;quot;&lt;br /&gt;
  26.&lt;br /&gt;
      50 = COA&lt;br /&gt;
  27.&lt;br /&gt;
      50 {&lt;br /&gt;
  28.&lt;br /&gt;
      wrap =&lt;br /&gt;
  29.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;adr&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
  30.&lt;br /&gt;
       &lt;br /&gt;
  31.&lt;br /&gt;
      10 = TEXT&lt;br /&gt;
  32.&lt;br /&gt;
      10.field = address&lt;br /&gt;
  33.&lt;br /&gt;
      10.wrap =&lt;br /&gt;
  34.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;street-address&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
  35.&lt;br /&gt;
       &lt;br /&gt;
  36.&lt;br /&gt;
      20 = TEXT&lt;br /&gt;
  37.&lt;br /&gt;
      20.field = city&lt;br /&gt;
  38.&lt;br /&gt;
      20.wrap = &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&lt;br /&gt;
  39.&lt;br /&gt;
      30 = TEXT&lt;br /&gt;
  40.&lt;br /&gt;
      30.field = zip&lt;br /&gt;
  41.&lt;br /&gt;
      30.wrap = &amp;lt;span class=&amp;quot;postal-code&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&lt;br /&gt;
  42.&lt;br /&gt;
      40 = TEXT&lt;br /&gt;
  43.&lt;br /&gt;
      40.field = country&lt;br /&gt;
  44.&lt;br /&gt;
      40.wrap = &amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&lt;br /&gt;
  45.&lt;br /&gt;
      }&lt;br /&gt;
  46.&lt;br /&gt;
      60 = TEXT&lt;br /&gt;
  47.&lt;br /&gt;
      60.field = telephone&lt;br /&gt;
  48.&lt;br /&gt;
      60.wrap =&lt;br /&gt;
  49.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;tel&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
  50.&lt;br /&gt;
       &lt;br /&gt;
  51.&lt;br /&gt;
      }&lt;br /&gt;
  52.&lt;br /&gt;
       &lt;br /&gt;
  53.&lt;br /&gt;
      // fe_users dem type shortcut hinzufügen&lt;br /&gt;
  54.&lt;br /&gt;
      tt_content.shortcut.20.0.tables = fe_users&lt;br /&gt;
  55.&lt;br /&gt;
      // für Tabelle fe_users sagen wir jetzt noch wie es gerendert werden soll.&lt;br /&gt;
  56.&lt;br /&gt;
      tt_content.shortcut.20.0.conf.fe_users &amp;lt; temp.hcard&lt;br /&gt;
  57.&lt;br /&gt;
       &lt;br /&gt;
&lt;br /&gt;
Und was hat uns das jetzt gebracht? Ganz einfach:&lt;br /&gt;
&lt;br /&gt;
   1. Wir haben das Content Element &amp;quot;Insert Record&amp;quot; um die Tabelle fe_users erweitert.&lt;br /&gt;
   2. Wir haben mit dem TypoScript aus dem Object &amp;quot;temp.hcard&amp;quot; eine komplette hCard definiert, welche jetzt mit meinem fe_user Datensatz befüllt werden kann.&lt;br /&gt;
   3. Durch die CSS-Klassen kann man die Visitenkarte nun auch noch schön aussehen lassen.&lt;br /&gt;
&lt;br /&gt;
Sind alle Daten vorhanden, könnte der erzeugte HTML-Code dann so aussehen:&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
       &lt;br /&gt;
   2.&lt;br /&gt;
      &amp;lt;div id=&amp;quot;hcard&amp;quot; class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
   3.&lt;br /&gt;
      &amp;lt;img style=&amp;quot;float:left; margin-right:4px&amp;quot; src=&amp;quot;http://typo3weblog.de/frank.png&amp;quot; alt=&amp;quot;photo of &amp;quot; class=&amp;quot;photo&amp;quot;/&amp;gt;&lt;br /&gt;
   4.&lt;br /&gt;
      &amp;lt;a class=&amp;quot;url fn&amp;quot; href=&amp;quot;http://typo3weblog.de&amp;quot;&amp;gt;Frank Nägler&amp;lt;/a&amp;gt;&lt;br /&gt;
   5.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;org&amp;quot;&amp;gt;TYPO3Weblog.de&amp;lt;/div&amp;gt;&lt;br /&gt;
   6.&lt;br /&gt;
       &lt;br /&gt;
   7.&lt;br /&gt;
      &amp;lt;a class=&amp;quot;email&amp;quot; href=&amp;quot;mailto:frank.naegler@e-netconsulting.rl&amp;quot;&amp;gt;frank.naegler@e-netconsulting.rl&amp;lt;/a&amp;gt;&lt;br /&gt;
   8.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;adr&amp;quot;&amp;gt;&lt;br /&gt;
   9.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;street-address&amp;quot;&amp;gt;Sievekingsallee 150b&amp;lt;/div&amp;gt;&lt;br /&gt;
  10.&lt;br /&gt;
       &lt;br /&gt;
  11.&lt;br /&gt;
      &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;Hamburg&amp;lt;/span&amp;gt;&lt;br /&gt;
  12.&lt;br /&gt;
      &amp;lt;span class=&amp;quot;postal-code&amp;quot;&amp;gt;22111&amp;lt;/span&amp;gt;&lt;br /&gt;
  13.&lt;br /&gt;
      &amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;Deutschland&amp;lt;/span&amp;gt;&lt;br /&gt;
  14.&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
  15.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;tel&amp;quot;&amp;gt;+49 (0)7000 623 45 37&amp;lt;/div&amp;gt;&lt;br /&gt;
  16.&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
  17.&lt;br /&gt;
       &lt;br /&gt;
&lt;br /&gt;
Cool oder?&lt;br /&gt;
&lt;br /&gt;
Die komplette Extension fn_hcard als T3X Export habe ich hier für Euch zum Download.&lt;br /&gt;
&lt;br /&gt;
Aus Typo3 Adventskalender2008&lt;br /&gt;
&lt;br /&gt;
===Extension: Direct Shortcuts (sms_directshortcuts)===&lt;br /&gt;
&lt;br /&gt;
http://typo3.org/extensions/repository/view/sms_directshortcuts/current/&lt;br /&gt;
TYPO3 generiert, wie jeder weiss, bei internen Verweisen immer eine extra Seite, die selbst wiederum einen redirect macht. Dieses vorgehen hat einerseits den Vorteil, dass man Skripte dazwischen schieben kann um z.B. Klicks zu tracken, anderseits den Nachteil, dass eine “falsche” URL im Menü zu finden ist. Dieser Nachteil macht sich bemerkbar wenn man sich mit der Suchmaschinenoptimierung von TYPO3 Seiten beschäftigt.&lt;br /&gt;
&lt;br /&gt;
== Nützliche TS-Templates ==&lt;br /&gt;
=== Tabellen im RTE ===&lt;br /&gt;
Details: http://dev.datenwolken.de/index.php?id=195&lt;br /&gt;
==== Standardklasse contenttable unterdrücken eigene Klassen zulassen ====&lt;br /&gt;
 lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.class &amp;gt;&lt;br /&gt;
==== P Tag raus ====&lt;br /&gt;
 lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default &amp;gt;&lt;br /&gt;
 # gar nichts parsen ist doof deshalb vorerst mal Standards:&lt;br /&gt;
 lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.stdWrap.parseFunc =&amp;lt; lib.parseFunc&lt;br /&gt;
&lt;br /&gt;
Lösung von Steffen Kamper&lt;br /&gt;
# Lösung von SK&lt;br /&gt;
&lt;br /&gt;
#wichtig, damit die nicht in p gewrappt werden&lt;br /&gt;
#lib.parseFunc_RTE.externalBlocks = ul,ol,table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#nochmaliges parsen von tabellenzellen auschalten, damit inhalte nicht wieder in p gepackt werden&lt;br /&gt;
#lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.callRecursive = 0&lt;br /&gt;
&lt;br /&gt;
#nachträgliches ermöglichen von Links in Tabellenzellen&lt;br /&gt;
#lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.stdWrap.parseFunc {&lt;br /&gt;
#        makelinks = 1&lt;br /&gt;
#        makelinks.http.keep = scheme,path,query&lt;br /&gt;
#        makelinks.mailto.keep = path&lt;br /&gt;
#        tags {&lt;br /&gt;
#                link = TEXT&lt;br /&gt;
#                link {&lt;br /&gt;
#                 current = 1&lt;br /&gt;
#                 typolink.parameter.data = parameters : allParams&lt;br /&gt;
#                }&lt;br /&gt;
#       }&lt;br /&gt;
#}&lt;br /&gt;
&lt;br /&gt;
=== Externes JavaScript einbinden ===&lt;br /&gt;
==== JavaScript im Header ====&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.addHeaderData=COA&lt;br /&gt;
&lt;br /&gt;
[browser = msie]&lt;br /&gt;
&lt;br /&gt;
temp.addHeaderData{&lt;br /&gt;
    90 = TEXT&lt;br /&gt;
    90.value (&lt;br /&gt;
        &amp;lt;script src=&amp;quot;fileadmin/templates/scripts/ielt7.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
    )&lt;br /&gt;
    90.wrap = &amp;lt;!--[if lte IE 7]&amp;gt; | &amp;lt;![endif]--&amp;gt;&lt;br /&gt;
    #90.stdWrap.char = 10&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier wird für IE kleiner als Version 7 ein JavaScript File eingebunden.&lt;br /&gt;
&lt;br /&gt;
==== JavaScript als Marker ====&lt;br /&gt;
Als Temporäres Objekt, kann natürlich auch Javascript in einen Marker eingebunden werden.&lt;br /&gt;
==== JavaScript über Record ====&lt;br /&gt;
Eine Möglichkeit die das leichte ändern der Skripte zuläßt wäre folgende.&lt;br /&gt;
Man legt irgendwo auf einer Seite ein HTML - Element an hinterlegt das Skript und verweist mit TypoScript auf diesen RECORD. Bzw. bindet ihn im Template ein.&lt;br /&gt;
&lt;br /&gt;
ToDo Beispiel&lt;br /&gt;
&lt;br /&gt;
=== xhtml optimierung ===&lt;br /&gt;
Einiges davon braucht man in Version 4+ nicht mehr...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#######################################################&lt;br /&gt;
############ XHTML optimieren&lt;br /&gt;
#######################################################&lt;br /&gt;
&lt;br /&gt;
#Default Javascripts in externes File auslagern&lt;br /&gt;
config.removeDefaultJS = 1&lt;br /&gt;
config.removeDefaultJS = external&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;?xml... ?&amp;gt; Prolog deaktivieren&lt;br /&gt;
config.xmlprologue = none&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;html lang=&amp;quot;de&amp;quot; xml:lang=&amp;quot;de&amp;quot;&amp;gt; auf de setzen&lt;br /&gt;
config.htmlTag_langKey = de&lt;br /&gt;
&lt;br /&gt;
#CSS Datei in externes File auslagern&lt;br /&gt;
config.inlineStyle2TempFile = 1&lt;br /&gt;
config.disablePrefixComment = 1&lt;br /&gt;
&lt;br /&gt;
#RTE Tuning&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class &amp;gt;&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.remapTag &amp;gt;&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.DIV.class &amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Angabe von Tags, die nicht mit einem zusätzlichen wrap umgeben werden dürfen&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.encapsTagList =  div, p, h1, h2, h3, h4, h5, h6&lt;br /&gt;
&lt;br /&gt;
#Entfernt die zusätzlichen CSS-Klassen&lt;br /&gt;
lib.stdheader.3 = LOAD_REGISTER&lt;br /&gt;
lib.stdheader.3.headerClass =&lt;br /&gt;
lib.stdheader.3.headerClass.noTrimWrap = |&lt;br /&gt;
lib.stdheader.stdWrap.dataWrap = |&lt;br /&gt;
&lt;br /&gt;
#Standard-Headings aufräumen&lt;br /&gt;
lib.stdheader.stdWrap.dataWrap =&lt;br /&gt;
lib.stdheader.10.1.fontTag = &amp;lt;h1&amp;gt;|&amp;lt;/h1&amp;gt;&lt;br /&gt;
lib.stdheader.10.2.fontTag = &amp;lt;h2&amp;gt;|&amp;lt;/h2&amp;gt;&lt;br /&gt;
lib.stdheader.10.3.fontTag = &amp;lt;h3&amp;gt;|&amp;lt;/h3&amp;gt;&lt;br /&gt;
lib.stdheader.10.4.fontTag = &amp;lt;h4&amp;gt;|&amp;lt;/h4&amp;gt;&lt;br /&gt;
lib.stdheader.10.5.fontTag = &amp;lt;h5&amp;gt;|&amp;lt;/h5&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Content Elemente aufräumen und Kommentare entfernen&lt;br /&gt;
#tt_content.stdWrap.dataWrap &amp;gt;&lt;br /&gt;
tt_content.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
#tt_content.header.20.dataWrap &amp;gt;&lt;br /&gt;
tt_content.header.20.prefixComment &amp;gt;&lt;br /&gt;
tt_content.default.prefixComment &amp;gt;&lt;br /&gt;
tt_content.text.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.text.20.prefixComment &amp;gt;&lt;br /&gt;
tt_content.textpic.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.table.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.mailform.20.stdWrap.wrap &amp;gt;&lt;br /&gt;
tt_content.menu.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.image.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.list.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Cleargif entfernen&lt;br /&gt;
tt_content.image.20.spaceBelowAbove = 0&lt;br /&gt;
tt_content.header.stdWrap.space = 0|0&lt;br /&gt;
tt_content.stdWrap.space = 0|0&lt;br /&gt;
tt_content.stdWrap.spaceBefore = 0&lt;br /&gt;
tt_content.stdWrap.spaceAfter = 0&lt;br /&gt;
lib.stdheader.stdWrap.space = 0|0&lt;br /&gt;
&lt;br /&gt;
#Auch hinter den Headlines&lt;br /&gt;
tt_content.text.20.parseFunc.tags.typohead.stdWrap.space = 0|0&lt;br /&gt;
&lt;br /&gt;
# Sicherstellen, dass nonTypoTagStdWrap nur im Inhalt außerhalb von&lt;br /&gt;
#&amp;lt;typolist&amp;gt; und &amp;lt;typohead&amp;gt; arbeitet:&lt;br /&gt;
tt_content.text.20.parseFunc.tags.typolist.breakoutTypoTagContent = 1&lt;br /&gt;
tt_content.text.20.parseFunc.tags.typohead.breakoutTypoTagContent = 1&lt;br /&gt;
&lt;br /&gt;
# ... und kein &amp;lt;BR&amp;gt; vor dem typohead.&lt;br /&gt;
tt_content.text.20.parseFunc.tags.typohead.stdWrap.wrap &amp;gt;&lt;br /&gt;
# Einstellen von nonTypoTagStdWrap, dass der Text mit P-Tags umschlossen wird.&lt;br /&gt;
tt_content.text.20.parseFunc.nonTypoTagStdWrap &amp;gt;&lt;br /&gt;
tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines {&lt;br /&gt;
encapsTagList = div, p&lt;br /&gt;
remapTag.DIV = P&lt;br /&gt;
wrapNonWrappedLines = |&lt;br /&gt;
innerStdWrap_all.ifEmpty =&lt;br /&gt;
innerStdWrap_all.textStyle &amp;lt; tt_content.text.20.textStyle&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Schließlich noch Entfernen der alten textstyle-Formatierung des gesamten Haupttextes.&lt;br /&gt;
tt_content.text.20.textStyle &amp;gt;&lt;br /&gt;
&lt;br /&gt;
# ... und der &amp;lt;BR&amp;gt;-Tag nach dem Inhalt wird auch nicht mehr gebraucht...&lt;br /&gt;
tt_content.text.20.wrap &amp;gt;&lt;br /&gt;
&lt;br /&gt;
# clear.gif entfernen&lt;br /&gt;
tt_content.image.20.spaceBelowAbove = 0&lt;br /&gt;
tt_content.header.stdWrap.space = 0|0&lt;br /&gt;
tt_content.stdWrap.space = 0|0&lt;br /&gt;
tt_content.stdWrap.spaceBefore = 0&lt;br /&gt;
tt_content.stdWrap.spaceAfter = 0&lt;br /&gt;
lib.stdheader.stdWrap.space = 0|0&lt;br /&gt;
&lt;br /&gt;
# clear.gif hinter den Überschriften entfernen&lt;br /&gt;
tt_content.text.20.parseFunc.tags.typohead.stdWrap.space = 0|0&lt;br /&gt;
&lt;br /&gt;
#Attribute für p- und pre-tags entfernen&lt;br /&gt;
tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines.addAttributes {&lt;br /&gt;
P.style=&lt;br /&gt;
PRE.style=&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Unterdrückt den Umbruch &amp;lt; br &amp;gt;&lt;br /&gt;
lib.stdheader.10.stdWrap.wrap = |&lt;br /&gt;
tt_content.textpic.20.spaceBelowAbove = 0&lt;br /&gt;
tt_content.image.20.spaceBelowAbove = 0&lt;br /&gt;
tt_content.textpic.20.noStretchAndMarginCells = 1&lt;br /&gt;
tt_content.image.20.noStretchAndMarginCells = 1&lt;br /&gt;
&lt;br /&gt;
# Setup Anker-Tags entfernen&lt;br /&gt;
tt_content.noANameTagForFirstRecord = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Inhalte von Backend-Feldern ausgeben ===&lt;br /&gt;
Hinweise dazu findest du unter:&lt;br /&gt;
&lt;br /&gt;
[[TypoScript - Daten auslesen]]&lt;br /&gt;
&lt;br /&gt;
=== Ein Breadcrumb Menü (Rootline-Menü) ===&lt;br /&gt;
Constants&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#[begin-level] | [end-level]&lt;br /&gt;
# Variante 1: Seite 1 | Seite 2 | Seite 3&lt;br /&gt;
rootlineDelimiter = &amp;amp;nbsp;&amp;amp;#124;&amp;amp;nbsp;&lt;br /&gt;
# Variante 2: Seite 1 &amp;gt; Seite 2 &amp;gt; Seite 3&lt;br /&gt;
# delimiter = &amp;amp;nbsp;&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Setup&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.rootline = HMENU&lt;br /&gt;
temp.rootline {&lt;br /&gt;
   special = rootline&lt;br /&gt;
&lt;br /&gt;
# zeige komplette rootline an&lt;br /&gt;
   special.range = 2|-1&lt;br /&gt;
&lt;br /&gt;
# Variation: zeige Link auf die übergeordnete Seite&lt;br /&gt;
   #special.range = -2|-2&lt;br /&gt;
&lt;br /&gt;
# Text vor dem Rootline Menü&lt;br /&gt;
   wrap = Sie sind hier:&amp;amp;nbsp;|&lt;br /&gt;
&lt;br /&gt;
   special.targets.3 = page&lt;br /&gt;
   1 = TMENU&lt;br /&gt;
   1.target = _top&lt;br /&gt;
   1.NO {&lt;br /&gt;
   	ATagBeforeWrap = 0&lt;br /&gt;
   	stdWrap.htmlSpecialChars = 1&lt;br /&gt;
   	linkWrap = |{$rootlineDelimiter}|*||*| |&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
temp.rootline.wrap = You are here:&amp;amp;nbsp;|&lt;br /&gt;
[GLOBAL]&lt;br /&gt;
&lt;br /&gt;
[globalVar = GP:L = 2]&lt;br /&gt;
temp.rootline.wrap = Vous êtes ici:&amp;amp;nbsp;|&lt;br /&gt;
[GLOBAL]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ein CSS-Template mit Markern nutzen ===&lt;br /&gt;
Ein CSS File wird eingelesen, enthaltene Marker dynamisch ersetzt und die Styles im Headerbereich der Seite als Inline-Styles eingebunden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
color1 = FFE292&lt;br /&gt;
color2 = F68D6F&lt;br /&gt;
color3 = FABD9E&lt;br /&gt;
&lt;br /&gt;
backgroundImage = fileadmin/templates/main/images/navBack-grey.gif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Setup &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# das Objekt zunächst als Bibliothek zur späteren Verwendung&lt;br /&gt;
lib.stylesheet.default = TEMPLATE&lt;br /&gt;
lib.stylesheet.default {&lt;br /&gt;
# template einlesen&lt;br /&gt;
  template = FILE&lt;br /&gt;
  template.file=fileadmin/templates/main/colors.css&lt;br /&gt;
# Platzhalter ersetzten&lt;br /&gt;
  marks{&lt;br /&gt;
     COLOR1 = TEXT&lt;br /&gt;
     COLOR1.value = {$color1}&lt;br /&gt;
     COLOR2 = TEXT&lt;br /&gt;
     COLOR2.value = {$color2}&lt;br /&gt;
     COLOR3 = TEXT&lt;br /&gt;
     COLOR3.value = {$color3}&lt;br /&gt;
     &lt;br /&gt;
     NAVBACK = TEXT&lt;br /&gt;
     NAVBACK.value = {$backgroundImage}&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Stylesheet in Header eintragen&lt;br /&gt;
page.headerData{&lt;br /&gt;
   90 = COA&lt;br /&gt;
   90{&lt;br /&gt;
      wrap = &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&amp;lt;!-- | --&amp;gt;&amp;lt;/style&amp;gt;&lt;br /&gt;
      50 &amp;lt; lib.stylesheet.default&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;
&lt;br /&gt;
&lt;br /&gt;
=== Bild aus Media-Feld auslesen ===&lt;br /&gt;
siehe auch &amp;quot;Das Media Feld&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.mediaFieldImage=IMAGE&lt;br /&gt;
temp.mediaFieldImage.file {  &lt;br /&gt;
  import.data = levelmedia: 2,slide  &lt;br /&gt;
  import = uploads/media/  &lt;br /&gt;
  import.listNum = 0  &lt;br /&gt;
  #width = 270  &lt;br /&gt;
  #height= 300&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bild aus Ressourcen Feld auslesen ===&lt;br /&gt;
Hinweis Seiteneigenschaften &amp;gt; Resourcen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 temp.mein Bild = IMG_RESSOURCE&lt;br /&gt;
 temp.mein Bild{&lt;br /&gt;
  file = hintergrund*.jpg&lt;br /&gt;
  stdWrap.wrap = &amp;lt;div style=&amp;quot;background-image: | ; padding: 5px;&amp;quot;&amp;gt; ein Kasten &amp;lt;/div&amp;gt;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Typo3 vergibt beim vervielfältigen automatisch eine Endung. Damit das Bild trotzdem immer gefunden wird, ein Sternchen setzen (Joker)&lt;br /&gt;
&lt;br /&gt;
=== Bild automatisch mit Alt-Tag versehen ===&lt;br /&gt;
Dieses TypoScript füllt das Alt-Tag Feld mit Daten aus dem Bildnamen z.B. wird Unser_Urlaubsort.jpg zu Unser Urlaubsort&lt;br /&gt;
&lt;br /&gt;
[[Bild automatisch mit Alt-Tag versehen]]&lt;br /&gt;
&lt;br /&gt;
=== Logo mit Verlinkung auf die Homepage (1.2)===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Link für das Logo&lt;br /&gt;
# Zahl (Seiten-ID), URL (www.zielseite.de) oder Email-Adresse&lt;br /&gt;
logoLink = 1&lt;br /&gt;
logoFile = fileadmin/templates/images/logo.gif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Setup &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fügt ein Logo mit Link ein&lt;br /&gt;
&lt;br /&gt;
temp.logo = IMAGE&lt;br /&gt;
temp.logo {&lt;br /&gt;
   #file = /fileadmin/dinos/templates/main/images/logo-rt.gif&lt;br /&gt;
   file = {$logoFile}&lt;br /&gt;
   stdWrap.typolink.parameter = {$logoLink}&lt;br /&gt;
}   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copyright mit immer aktuellem Jahr ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TypoScript Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.copyright = COA&lt;br /&gt;
temp.copyright{&lt;br /&gt;
   5= TEXT&lt;br /&gt;
   5.value = &amp;amp;copy;&amp;amp;nbsp;&lt;br /&gt;
   10 = TEXT&lt;br /&gt;
   #HeUte Timestamp einlesen&lt;br /&gt;
   10.data = date:U&lt;br /&gt;
   10.data.strftime = %Y &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ein anderes Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
subparts.footer{&lt;br /&gt;
   10 = TEXT&lt;br /&gt;
   10.data = date:Y&lt;br /&gt;
   10.wrap = &amp;lt;p class=&amp;quot;footer&amp;quot;&amp;gt;&amp;amp;copy;&amp;amp;nbsp;|&amp;amp;nbsp;Ich&amp;lt;/p&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datum der letzten Änderung anzeigen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 lastChangePrefix = Letzte Änderung:&amp;amp;nbsp;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.lastChange = COA&lt;br /&gt;
temp.lastChange.5 = TEXT&lt;br /&gt;
temp.lastChange.5.value={$lastChangePrefix}&lt;br /&gt;
temp.lastChange.10 = TEXT&lt;br /&gt;
temp.lastChange.10.register:SYS_LASTCHANGED&lt;br /&gt;
temp.lastChange.10.strftime = %d.%m.%Y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Variante ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.lastChange = TEXT&lt;br /&gt;
temp.lastChange {&lt;br /&gt;
  data = page:lastUpdated&lt;br /&gt;
  if.isTrue.data = page:lastUpdated&lt;br /&gt;
  date = d.m.Y&lt;br /&gt;
  wrap = Letzte Änderung:&amp;amp;nbsp;|&lt;br /&gt;
  wrap2 = |&lt;br /&gt;
  data = register : SYS_LASTCHANGED&lt;br /&gt;
  if &amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Seiten IDs im Seitenbaum anzeigen ===&lt;br /&gt;
UserTS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options {&lt;br /&gt;
  pageTree.showPageIdWithTitle = 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Client Daten des Benutzers ausgeben ===&lt;br /&gt;
&lt;br /&gt;
      temp.browserinfo = COA_INT&lt;br /&gt;
      temp.browserinfo {&lt;br /&gt;
      10 = TEXT&lt;br /&gt;
      10.data = TSFE:clientInfo|SYSTEM&lt;br /&gt;
      10.wrap = &amp;amp;lt;p&amp;amp;gt; | &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
      20 = TEXT&lt;br /&gt;
      20.data = TSFE:clientInfo|BROWSER&lt;br /&gt;
      20.wrap = | &amp;amp;amp;nbsp;&lt;br /&gt;
       &lt;br /&gt;
      30 = TEXT&lt;br /&gt;
      30.data = TSFE:clientInfo|VERSION&lt;br /&gt;
      30.wrap = | &amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
== Die Ausgabe von Inhalten verändern ==&lt;br /&gt;
=== Typolinks in HTML Elementen Parsen ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# TypoLinks auch in HTML-Elementen parsen&lt;br /&gt;
#&lt;br /&gt;
# Syntax:&lt;br /&gt;
# ausgelassene Parameter können hinten weggelassen oder durch &amp;quot;-&amp;quot; freigehalten werden&lt;br /&gt;
# &amp;lt;link PID/URL/Mail TARGET/WIDTHxHEIGHT CLASS &amp;quot;TITLE&amp;quot;&amp;gt;LINKTEXT&amp;lt;/link&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Beispiele:&lt;br /&gt;
# &amp;lt;link 2&amp;gt;Zur Seite&amp;lt;/link&amp;gt;&lt;br /&gt;
# &amp;lt;link 7 - a-link &amp;quot;zur Information&amp;quot;&amp;gt;hier&amp;lt;/link&amp;gt;&lt;br /&gt;
# &amp;lt;link http://www.google.de 300x400 myPopup-class &amp;quot;in neuem Fenster&amp;quot;&amp;gt;Google&amp;lt;/link&amp;gt;&lt;br /&gt;
# &amp;lt;link info@abc.de - myMail &amp;quot;E-Mail senden&amp;quot;&amp;gt;Kontakt&amp;lt;/link&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
tt_content.html.parseFunc.tags.link &amp;lt; lib.parseFunc.tags.link  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn die Targets fest vergeben werden sollen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tt_content.html.parseFunc.tags.link.typolink {&lt;br /&gt;
    extTarget &amp;gt;&lt;br /&gt;
    extTarget = _self&lt;br /&gt;
    target &amp;gt;&lt;br /&gt;
    target = _self&lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Quelle: http://www.typo3forum.net/forum/typo3-3-x-fragen-probleme/37405-typolink-html-pagecontent-element.html (2013-01)&lt;br /&gt;
&lt;br /&gt;
=== Ein Inhaltselement an einen Marker schicken ===&lt;br /&gt;
Man kann im HTML-Template einen Marker oder Subpart definieren und diesen mit einem beliebigen Inhaltselement befüllen, daß dann auf allen Seiten angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.teaser = RECORDS&lt;br /&gt;
&lt;br /&gt;
temp.teaser{&lt;br /&gt;
  // ID des Datensatzes&lt;br /&gt;
  source = 17477&lt;br /&gt;
  tables = tt_content&lt;br /&gt;
  #conf.tt_content &amp;lt; tt_content // Standard muß nicht angegeben werden&lt;br /&gt;
  wrap = &amp;lt;div id=&amp;quot;gifbanner&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
page.10.subparts.TEASER &amp;lt; temp.teaser&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Layout-Rahmen verändern===&lt;br /&gt;
[[Typo3 - Rahmen (Frames)]]&lt;br /&gt;
&lt;br /&gt;
=== Rendering von Inhalten ===&lt;br /&gt;
[[TYPO3 - Automatischer Rollover Effekt für Bilder mit Image Magick Effekten | Rollovereffekt auf Bilder mit Hilfe der ImageMagick Effekte]]&lt;br /&gt;
&lt;br /&gt;
=== Ausgeben von Informationen im head der Seite ===&lt;br /&gt;
Wie kann man Stylesheet angaben, Metatags, Skripte etc. im Header ausgeben&lt;br /&gt;
[[Typo3 - Tipps und Tricks]] (page.head Objekt)&lt;br /&gt;
&lt;br /&gt;
=== Unnötige Ausgaben im Quelltext verhindern ===&lt;br /&gt;
[[TYPO3 - Unnötige Ausgaben im Quelltext verhindern]]&lt;br /&gt;
&lt;br /&gt;
== TypoScript - Basiswissen ==&lt;br /&gt;
[[Links mit TypoSkript anlegen]]&lt;br /&gt;
&lt;br /&gt;
== Suche ==&lt;br /&gt;
&lt;br /&gt;
weitere Infos zu Indexed Search:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - indexed search]]&lt;br /&gt;
&lt;br /&gt;
== Mit HTML und CObj erzeugtes Login ==&lt;br /&gt;
Das Beispiel von Tim Lochmüller aus dem Adventskalender 2008, zeigt wie man mit dem Template Objekte größere HTML - Bausteine verwenden kann.&lt;br /&gt;
&lt;br /&gt;
Login mit TS &amp;amp; cObj TEMPLATE&lt;br /&gt;
Georg Ringer in TYPO3, Templates, Tutorial, TypoScript&lt;br /&gt;
&lt;br /&gt;
Nach der interessanten Vorstellung von cli-Scripten durch Frank in Türchen 15 zeigt das folgende Tutorial einen guten Weg, einen Login/Logout-Bereich mit TS &amp;amp; HTML zu verwirklichen, ohne dabei auf irgendeine Extension zurückgreifen zu müssen.&lt;br /&gt;
&lt;br /&gt;
Folgendes HTML ist notwendig und wird beispielsweise in fileadmin/template/login.html abgelegt: http://pastebin.com/f4e963e25&lt;br /&gt;
Die beiden Subparts sind jeweils für den Login- &amp;amp; Logout-Bereich zuständig und werden mittels Condition umgeschalten.&lt;br /&gt;
&lt;br /&gt;
Das TS ist sehr einfach aufgebaut&lt;br /&gt;
&lt;br /&gt;
    lib.login = TEMPLATE&lt;br /&gt;
    lib.login {&lt;br /&gt;
    template = FILE&lt;br /&gt;
    template.file = fileadmin/template/login.html&lt;br /&gt;
&lt;br /&gt;
    workOnSubpart = TPL_LOGIN&lt;br /&gt;
    marks {&lt;br /&gt;
    URL = TEXT&lt;br /&gt;
    URL.data = getIndpEnv:TYPO3_REQUEST_URL&lt;br /&gt;
&lt;br /&gt;
    PID = TEXT&lt;br /&gt;
    PID.value = 10789&lt;br /&gt;
&lt;br /&gt;
    REGISTER = TEXT&lt;br /&gt;
    REGISTER {&lt;br /&gt;
    value = Mitglied werden&lt;br /&gt;
    typolink {&lt;br /&gt;
    parameter = 10786&lt;br /&gt;
    additionalParams = &amp;amp;tx_srfeuserregister_pi1[cmd]=edit&lt;br /&gt;
    useCacheHash = 1&lt;br /&gt;
    ATagParams = class=”link link1″&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
    PWD = TEXT&lt;br /&gt;
    PWD {&lt;br /&gt;
    value = Password vergessen?&lt;br /&gt;
    typolink {&lt;br /&gt;
    parameter = 10788&lt;br /&gt;
    ATagParams = class=”link”&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
    PROFILE = TEXT&lt;br /&gt;
    PROFILE {&lt;br /&gt;
    value = Mein Wanderprofil!&lt;br /&gt;
    typolink {&lt;br /&gt;
    parameter = 10790&lt;br /&gt;
    ATagParams = class=”link”&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    [usergroup = *]&lt;br /&gt;
    lib.login.workOnSubpart = TPL_LOGOUT&lt;br /&gt;
&lt;br /&gt;
    [global]&lt;br /&gt;
&lt;br /&gt;
Die notwendigen Variablen sind:&lt;br /&gt;
&lt;br /&gt;
    * URL: Die aktuelle URL, auf die nach dem Login/Logout auch weitergeleitet wird&lt;br /&gt;
    * PID: Id der Seite, die die Benutzer enthält&lt;br /&gt;
&lt;br /&gt;
Nützlich sind weiters:&lt;br /&gt;
&lt;br /&gt;
    * REGISTER: Link zu einer Seite, auf der man sich neu registrieren kann&lt;br /&gt;
    * PWD/PROFILE: Weitere Links zu Seiten nach Bedarf&lt;br /&gt;
&lt;br /&gt;
Die vorgestellte Variante funktioniert out-of-the-box und muss für andere Algorithmen angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Das Tutorial soll dazu anregen, das TEMPLATE-Objekt öfters als nur 1x zu verwenden, denn gerade wenn es um das Inkludieren von etwas mehr HTML geht, ist dies der beste, schnellste und sauberste Weg.&lt;br /&gt;
&lt;br /&gt;
== Benutzer ==&lt;br /&gt;
=== Autor-Feld bei neuen Seiten automatisch anlegen ===&lt;br /&gt;
 TCAdefaults.pages.author = &amp;lt;Name des Redakteurs&amp;gt;&lt;br /&gt;
 TCAdefaults.pages.author_email = &amp;lt;EMail-Adresse des Redakteurs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das funktioniert aber nur dann wenn eine Seite neu angelegt wird. Will man viele Seiten einem Redakteur zuordnen kann man das über eien MySQL abfrage machen:&lt;br /&gt;
&lt;br /&gt;
 UPDATE `pages` SET `author` = &amp;#039;&amp;lt;Name des Redakteurs&amp;gt;&amp;#039;, `author_email` =&lt;br /&gt;
 &amp;#039;&amp;lt;EMail-Adresse des Redakteurs&amp;gt;&amp;#039;&lt;br /&gt;
 WHERE 1 AND `perms_userid` = &amp;lt;UserId des Redakteurs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in perms_userid steht die ID des Besitzers der Seite, deshalb kann man diesen mit Hilfe des Whereclause ausfiltern.&lt;br /&gt;
&lt;br /&gt;
=== Author Feld, Email-Feld und News Author automatisch anlegen ===&lt;br /&gt;
Als weitere Möglichkeit gibt es die Extension cron_setdefaultauthor die genau diese Aufgaben übernimmt. Sie arbeitet im Prinzip wie oben angeführt.&lt;br /&gt;
&lt;br /&gt;
== Ändern von Extension Meldungen durch den Redakteur ==&lt;br /&gt;
&lt;br /&gt;
Adventskalender 2008 von Tim Lochmüller&lt;br /&gt;
Immer wieder erlebe ich es, dass der Kunde Texte selber ändern möchte, klar dafür hat er ja auch von uns TYPO3 bekommen. Leider Zum Glück, möchte der Kunde aber manchmal alles pflegen, also auch Texte die aus LocalLang-Dateien oder Templates kommen.&lt;br /&gt;
&lt;br /&gt;
Eine sehr einfache aber durchaus effektive Lösung dafür ist mal wieder ein wenig TypoScript:&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      plugin.tx_myplugin_pi1.searchError = RECORDS&lt;br /&gt;
   2.&lt;br /&gt;
      plugin.tx_myplugin_pi1.searchError {&lt;br /&gt;
   3.&lt;br /&gt;
      tables = tt_content&lt;br /&gt;
   4.&lt;br /&gt;
      source = 123&lt;br /&gt;
   5.&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
Jetzt noch das ContentElement mit der UID 123 im Seitenbaum anlegen und folgenden PHP Code in der Extension verwenden:&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      $marker[&amp;#039;###ERR_SEARCH###&amp;#039;] = $this-&amp;gt;cObj-&amp;gt;cObjGetSingle(&lt;br /&gt;
   2.&lt;br /&gt;
      $this-&amp;gt;conf[&amp;#039;searchError&amp;#039;],&lt;br /&gt;
   3.&lt;br /&gt;
      $this-&amp;gt;conf[&amp;#039;searchError.&amp;#039;]&lt;br /&gt;
   4.&lt;br /&gt;
      );&lt;br /&gt;
&lt;br /&gt;
Das war es schon, jetzt enthält der Marker ###ERR_SEARCH### den Content, den der Kunde selbst eingepflegt hat. Natürlich muss man kein RECORD nehmen, sondern kann auch alle anderen TS-Objekte wie TEXT oder IMAGE.&lt;br /&gt;
&lt;br /&gt;
== TYPO3 - CSS ==&lt;br /&gt;
CSS Beispiele und Schnipsel für Extensions und Standardelemente gibt es unter:&lt;br /&gt;
[[TYPO3 - CSS]]&lt;br /&gt;
&lt;br /&gt;
== Geschützter Login Bereich ==&lt;br /&gt;
&lt;br /&gt;
Früher schön mit der New Login Box. Diese ist ab 4.3 integriert.&lt;br /&gt;
&lt;br /&gt;
=== Weiterleitung nach Login ===&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Baukasten&amp;diff=20265</id>
		<title>Typo3 - Baukasten</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Baukasten&amp;diff=20265"/>
		<updated>2014-02-14T10:29:33Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Navigation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;weitere Infos unter [[Typo3 - Tipps und Tricks]]&lt;br /&gt;
&lt;br /&gt;
== Formulare ==&lt;br /&gt;
[[Typo3 - Formulare mit https sicher versenden]]&lt;br /&gt;
&lt;br /&gt;
[[TYPO3 - Checkbox in Standard Mailformular als Pflichtfeld]]&lt;br /&gt;
&lt;br /&gt;
== Auf Daten zugreifen ==&lt;br /&gt;
Beispiele gibt es hier:&lt;br /&gt;
&lt;br /&gt;
[[TypoScript - Daten auslesen]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - stdWrap]]&lt;br /&gt;
&lt;br /&gt;
Die stdWrap Eigenschaft steht vielen Objekten zur Verfügung. Wenn Sie vorhanden ist ist Sie der Problemlöser für fast alle Probleme :-).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - TSFE]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Das Media Feld]]&lt;br /&gt;
&lt;br /&gt;
== Standardeinstellungen ==&lt;br /&gt;
[[Typo3 - Standardeinstellungen]]&lt;br /&gt;
&lt;br /&gt;
== Quellcode aufräumen - Sourcecode verbessern - valides XHTML ==&lt;br /&gt;
Der Core produziert seit 4.0 valides XHTML&lt;br /&gt;
&lt;br /&gt;
weitere Hilfen wenn Extensions nicht valide arbeiten bieten:&lt;br /&gt;
&lt;br /&gt;
Installation von Tidy auf dem SErver (aktivieren im Install-Tool)&lt;br /&gt;
&lt;br /&gt;
HTML Cleaner http://typo3.org/extensions/repository/view/qcom_htmlcleaner/2.4.0/&lt;br /&gt;
&lt;br /&gt;
Das Bordeigene HTML-Cleaning: config.xhtml_cleaning = all&lt;br /&gt;
&lt;br /&gt;
Vorsicht bei den Cleanern wenn JavaScript im Spiel ist weil dieser z.T. zerstört werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel aus dem Forum zum Quelltext aufräumen ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Einstellen des DocType auf XHTML Transitional&lt;br /&gt;
config.doctype = xhtml_trans&lt;br /&gt;
#XHTML Cleaning aktivieren&lt;br /&gt;
config.xhtml_cleaning = all&lt;br /&gt;
#Default Javascripts in externes File auslagern&lt;br /&gt;
config.removeDefaultJS = 1&lt;br /&gt;
config.removeDefaultJS = external&lt;br /&gt;
#&amp;lt;?xml... ?&amp;gt; Prolog deaktivieren&lt;br /&gt;
config.xmlprologue = none&lt;br /&gt;
#CSS Datei in externes File auslagern&lt;br /&gt;
config.inlineStyle2TempFile = 1&lt;br /&gt;
config.disablePrefixComment = 1&lt;br /&gt;
&lt;br /&gt;
#RTE Tuning&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class &amp;gt;&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.remapTag &amp;gt;&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.DIV.class &amp;gt;&lt;br /&gt;
#Angabe von Tags, die nicht mit einem zusätzlichen wrap umgeben werden dürfen&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.encapsTagList = cite, div, p, pre, h1, h2, h3, h4, h5, h6&lt;br /&gt;
&lt;br /&gt;
#Entfernt die zusätzlichen CSS-Klassen&lt;br /&gt;
lib.stdheader.3 = LOAD_REGISTER&lt;br /&gt;
lib.stdheader.3.headerClass =&lt;br /&gt;
lib.stdheader.3.headerClass.noTrimWrap = |&lt;br /&gt;
lib.stdheader.stdWrap.dataWrap = |&lt;br /&gt;
&lt;br /&gt;
#Standard-Headings aufräumen&lt;br /&gt;
lib.stdheader.stdWrap.dataWrap =&lt;br /&gt;
lib.stdheader.10.1.fontTag = &amp;lt;h1&amp;gt;|&amp;lt;/h1&amp;gt;&lt;br /&gt;
lib.stdheader.10.2.fontTag = &amp;lt;h2&amp;gt;|&amp;lt;/h2&amp;gt;&lt;br /&gt;
lib.stdheader.10.3.fontTag = &amp;lt;h3&amp;gt;|&amp;lt;/h3&amp;gt;&lt;br /&gt;
lib.stdheader.10.4.fontTag = &amp;lt;h4&amp;gt;|&amp;lt;/h4&amp;gt;&lt;br /&gt;
lib.stdheader.10.5.fontTag = &amp;lt;h5&amp;gt;|&amp;lt;/h5&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Content Elemente aufräumen und Kommentare entfernen&lt;br /&gt;
tt_content.stdWrap.dataWrap &amp;gt;&lt;br /&gt;
tt_content.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.header.20.dataWrap &amp;gt;&lt;br /&gt;
tt_content.header.20.prefixComment &amp;gt;&lt;br /&gt;
tt_content.default.prefixComment &amp;gt;&lt;br /&gt;
tt_content.text.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.text.20.prefixComment &amp;gt;&lt;br /&gt;
tt_content.textpic.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.table.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.mailform.20.stdWrap.wrap &amp;gt;&lt;br /&gt;
tt_content.menu.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.image.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.list.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
=== Navigation mit Seitenid in Klasse für individuelles Styling ===&lt;br /&gt;
 ...&lt;br /&gt;
 NO.allWrap=&amp;lt;li id=&amp;quot;hd-nav-{field:uid}&amp;quot;&amp;gt;|&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
=== Standard Navigation Beispiele ===&lt;br /&gt;
==== ak-freizeiten ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.navi_vBulletList = HMENU&lt;br /&gt;
temp.navi_vBulletList {&lt;br /&gt;
    special = directory&lt;br /&gt;
    special.value = 44&lt;br /&gt;
    #entryLevel = 0&lt;br /&gt;
   1 = TMENU&lt;br /&gt;
   1.noBlur = 1&lt;br /&gt;
   1.wrap = &amp;lt;ul class=&amp;quot;navi1&amp;quot;&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
   1.NO = 1&lt;br /&gt;
   1.NO.linkWrap = &amp;lt;li class=&amp;quot;naviL1&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
   1.ACT = 1&lt;br /&gt;
   1.ACT.linkWrap = &amp;lt;li class=&amp;quot;naviL1_act&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
   1.ACTIFSUB = 1&lt;br /&gt;
   1.ACTIFSUB.linkWrap = &amp;lt;li class=&amp;quot;naviL1_act&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    2 = TMENU&lt;br /&gt;
   2.noBlur = 1&lt;br /&gt;
   2.wrap = &amp;lt;ul class=&amp;quot;navi1_1&amp;quot;&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
   2.NO = 1&lt;br /&gt;
   2.NO.linkWrap = &amp;lt;li class=&amp;quot;naviL1_1&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
   2.ACT = 1&lt;br /&gt;
   2.ACT.linkWrap = &amp;lt;li class=&amp;quot;naviL1_1_act&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
   2.ACTIFSUB = 1&lt;br /&gt;
   2.ACTIFSUB.linkWrap = &amp;lt;li class=&amp;quot;naviL1_1_act&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GMenu mit Bildern aus den Seiteneigenschaften (Media-Feld) ===&lt;br /&gt;
Ein Schnipsel vom 12.3.2009 typo3 blogger&lt;br /&gt;
Nicht sehr oft benötigt, aber unter Umständen dennoch hilfreich: ein kleines Copy&amp;amp;Paste Tutorial zur Erstellung eines GMENUs mit Bildern aus dem “media”-Feld der Seiteneigenschaften. Zu beachten gibt es: der GIFBUILDER greift bei diesem Snippet das Bild nicht an, sodass es unverändert im Frontend ausgegeben wird. Dies hatte bei mir den Grund, dass die Website nur aus Bildern besteht und Photoshop nunmal bessere Ergebnisse als ImageMagick bzw. GraphicsMagick liefert - deshalb wollte ich auch nicht, dass er irgendwas an den Bildern verändert oder neu berechnet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.menu = HMENU&lt;br /&gt;
temp.menu {&lt;br /&gt;
	1 = GMENU&lt;br /&gt;
	1 {&lt;br /&gt;
		wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		noBlur = 0&lt;br /&gt;
		NO = 1&lt;br /&gt;
		NO {&lt;br /&gt;
			wrap = &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt; &lt;br /&gt;
 &lt;br /&gt;
			altImgResource.import = uploads/media/&lt;br /&gt;
			altImgResource.import.field = media&lt;br /&gt;
			altImgResource.import.listNum = 0&lt;br /&gt;
 &lt;br /&gt;
			ATagTitle.field = subtitle // title&lt;br /&gt;
		}&lt;br /&gt;
 &lt;br /&gt;
		RO = 1&lt;br /&gt;
		RO &amp;lt; .NO&lt;br /&gt;
		RO {&lt;br /&gt;
			altImgResource.import.listNum = 1&lt;br /&gt;
		}&lt;br /&gt;
 &lt;br /&gt;
		ACT &amp;lt; .RO&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
lib.menu &amp;lt; temp.menu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Welches Bild (falls mehrere vorhanden sind) TYPO3 nun für das Erzeugen des Menüs nimmt bestimmt folgende Zeile:&lt;br /&gt;
&lt;br /&gt;
 altImgResource.import.listNum = 0&lt;br /&gt;
&lt;br /&gt;
Zu beachten gibt es dabei: wie in der Datentechnik üblich fängt man bei 0 zu zählen an, 0 ist dabei das erste Bild, 1 das zweite, 2 das dritte, usw.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein etwas ausführlicheres:&lt;br /&gt;
&lt;br /&gt;
[[TYPO3 Navigation aus Bildern im Media Feld]]&lt;br /&gt;
&lt;br /&gt;
=== GMENU und wrapItemAndSub Workaround mit TMENU===&lt;br /&gt;
Ebenfalls von Typo3Blogger&lt;br /&gt;
&lt;br /&gt;
Freunde von semantisch korrektem HTML die auf ein grafisches, mehrstufiges Menü angewiesen sind, werden wissen wovon ich spreche. Man hat ein tolles GMENU gebastelt, welches wunderbare Grafiken liefert und fragt sich “warum ist mein HTML kaputt?”. Nach ein paar Sekunden googlen findet man die Antwort: GMENU fehlt die Eigenschaft “wrapItemAndSub”, mit welchem sich einfach verschachtelte Menüs realisieren lassen. Es gibt viele Ansätze dies zu umgehen, manche arbeiten mit IFSUB, manche verlassen sich auf Tidy. Vor Kurzem stand ich (wieder einmal) vor dem Problem und wollte es einmal anders lösen.&lt;br /&gt;
&lt;br /&gt;
Dabei bin ich auf folgende Lösung gestoßen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.mainMenu = HMENU&lt;br /&gt;
temp.mainMenu {&lt;br /&gt;
	1 = TMENU&lt;br /&gt;
	1 {&lt;br /&gt;
		wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
		NO = 1&lt;br /&gt;
        	NO {&lt;br /&gt;
        		wrapItemAndSub = &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
        		doNotShowLink = 1&lt;br /&gt;
 &lt;br /&gt;
			RO = 1&lt;br /&gt;
			ATagTitle.field = title&lt;br /&gt;
 &lt;br /&gt;
			beforeImg = GIFBUILDER&lt;br /&gt;
			beforeImg {&lt;br /&gt;
				XY=[20.w]+15,42&lt;br /&gt;
				backColor = #1092AD&lt;br /&gt;
 &lt;br /&gt;
				10 = TEXT&lt;br /&gt;
				10 {&lt;br /&gt;
					text {&lt;br /&gt;
						field = title&lt;br /&gt;
						align = center&lt;br /&gt;
					}			&lt;br /&gt;
 &lt;br /&gt;
					fontFile = fileadmin/font.ttf&lt;br /&gt;
					fontSize = 16&lt;br /&gt;
					fontColor = #FFFFFF&lt;br /&gt;
 &lt;br /&gt;
					offset = 0,34&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
 &lt;br /&gt;
			beforeROImg &amp;lt; .beforeImg&lt;br /&gt;
			beforeROImg.20.fontColor = #FFD20F&lt;br /&gt;
			beforeImgLink = 1&lt;br /&gt;
		}&lt;br /&gt;
 &lt;br /&gt;
		ACT &amp;lt; .NO&lt;br /&gt;
		ACT {&lt;br /&gt;
			RO = 0&lt;br /&gt;
			beforeImg.20.fontColor = #FF0000&lt;br /&gt;
			wrapItemAndSub = &amp;lt;li class=&amp;quot;act&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
		}&lt;br /&gt;
        }&lt;br /&gt;
 &lt;br /&gt;
       2 &amp;lt; .1&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
lib.mainMenu &amp;lt; temp.mainMenu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Das tolle an dieser Lösung ist nicht nur, dass man wrapItemAndSub verwenden kann, nein auch alle anderen Eigenschaften und Zustände des TMENU stehen einem zur Verfügung!&lt;br /&gt;
&lt;br /&gt;
Ich frage mich, warum wrapItemAndSub bis heute noch nicht in TYPO3 implementiert wurde. Vielleicht wäre es mit der aktuellen Veröffentlichung der TYPO3 4.3 Alpha 2 und der Aufforderung die Feature-Wunschliste zu füllen einmal Zeit diesem Punkt etwas Nachdruck zu verleihen. Falls ihr noch andere Lösungsansätze auf Lager oder bessere Ideen habt, bitte informiert uns in den Comments!&lt;br /&gt;
&lt;br /&gt;
=== Klassisches List Menu ===&lt;br /&gt;
Dieses Menü kann als Grundbaustein für alle möglichen Menüs verwendet werden. Man kopiert sich das Menü in ein neues Objekt und modifiziert dort die Eigenschaften wie man sie braucht. Als Alternative gibt es noch das [[Menue als CSS formatierte Liste]] in dem ein fixer Startpunkt vorgegeben ist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Accessible ====&lt;br /&gt;
benötigt cronaccessiblemenues&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.listMenu = HMENU&lt;br /&gt;
&lt;br /&gt;
# Falls das Menü nicht bei der obersten Ebene anfangen soll&lt;br /&gt;
 temp.listMenu.entryLevel = 1&lt;br /&gt;
&lt;br /&gt;
# Bei Bedarf einzelne Seiten aus dem Menü ausschließen&lt;br /&gt;
#temp.listMenu.excludeUidList = 1,2,3&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.1 = TMENU&lt;br /&gt;
temp.listMenu.1 {&lt;br /&gt;
  wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
  noBlur = 1&lt;br /&gt;
  IProcFunc = user_cronaccessiblemenus-&amp;gt;makeAccessible&lt;br /&gt;
&lt;br /&gt;
//NO.after = xyz&lt;br /&gt;
# Access Keys einschalten&lt;br /&gt;
  IProcFunc.accessKeys = 1&lt;br /&gt;
&lt;br /&gt;
# Hierarchische Nummerierung der Menüpunkte einschalten&lt;br /&gt;
  IProcFunc.dfn = 1&lt;br /&gt;
  IProcFunc.accessKeyWrap = &amp;lt;span class=&amp;quot;accessKey&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&lt;br /&gt;
  IProcFunc.appendWrap = &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;&amp;amp;nbsp;(ALT-|)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Die folgenden Accesskeys nicht verwenden (bereits belegt)&lt;br /&gt;
&lt;br /&gt;
  IProcFunc.forbiddenKeys = 0,D,B,A,F,X,m,p&lt;br /&gt;
&lt;br /&gt;
# Einstellungen für nicht-aktive Seiten&lt;br /&gt;
&lt;br /&gt;
  NO {&lt;br /&gt;
    wrapItemAndSub = |*| &amp;lt;li class=&amp;quot;NO&amp;quot;&amp;gt; | &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;|*|&amp;lt;li class=&amp;quot;NO last&amp;quot;&amp;gt; | &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    stdWrap.htmlSpecialChars = 1&lt;br /&gt;
#    stdWrap.wrap = |abc&lt;br /&gt;
    ATagTitle.field = abstract // description&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
# Einstellungen für Seiten, die sich in der Rootline befinden&lt;br /&gt;
&lt;br /&gt;
  ACT = 1&lt;br /&gt;
  ACT {&lt;br /&gt;
    wrapItemAndSub = |*| &amp;lt;li class=&amp;quot;ACT&amp;quot;&amp;gt; | &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;ACT last&amp;quot;&amp;gt; | &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    stdWrap.htmlSpecialChars = 1&lt;br /&gt;
    ATagTitle.field = abstract // description&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
# Einstellungen für die aktuelle Seite&lt;br /&gt;
&lt;br /&gt;
  CUR = 1&lt;br /&gt;
  CUR {&lt;br /&gt;
    wrapItemAndSub = |*| &amp;lt;li class=&amp;quot;CUR&amp;quot;&amp;gt; | &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;CUR last&amp;quot;&amp;gt; | &amp;lt;span class=&amp;quot;invisible&amp;quot;&amp;gt;.&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    stdWrap.htmlSpecialChars = 1&lt;br /&gt;
    doNotLinkIt = 0&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Gleiche Einstellungen für die nächsten Ebenen&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.2 = TMENU&lt;br /&gt;
temp.listMenu.2 &amp;lt; temp.listMenu.1&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.3 = TMENU&lt;br /&gt;
temp.listMenu.3 &amp;lt; temp.listMenu.2&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.4 = TMENU&lt;br /&gt;
temp.listMenu.4 &amp;lt; temp.listMenu.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Classic (not accessible) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.listMenu = HMENU&lt;br /&gt;
&lt;br /&gt;
# Falls das Menü nicht bei der obersten Ebene anfangen soll&lt;br /&gt;
 temp.listMenu.entryLevel = 1&lt;br /&gt;
&lt;br /&gt;
# Bei Bedarf einzelne Seiten aus dem Menü ausschließen&lt;br /&gt;
#temp.listMenu.excludeUidList = 1,2,3&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.1 = TMENU&lt;br /&gt;
temp.listMenu.1 {&lt;br /&gt;
  wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
  noBlur = 1&lt;br /&gt;
&lt;br /&gt;
# Einstellungen für nicht-aktive Seiten&lt;br /&gt;
&lt;br /&gt;
  NO {&lt;br /&gt;
    wrapItemAndSub = |*| &amp;lt;li class=&amp;quot;NO&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;|*|&amp;lt;li class=&amp;quot;NO last&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;&lt;br /&gt;
    stdWrap.htmlSpecialChars = 1&lt;br /&gt;
    ATagTitle.field = abstract // description&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
# Einstellungen für Seiten, die sich in der Rootline befinden&lt;br /&gt;
&lt;br /&gt;
  ACT = 1&lt;br /&gt;
  ACT {&lt;br /&gt;
    wrapItemAndSub = |*| &amp;lt;li class=&amp;quot;ACT&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;ACT last&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;&lt;br /&gt;
    stdWrap.htmlSpecialChars = 1&lt;br /&gt;
    ATagTitle.field = abstract // description&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
# Einstellungen für die aktuelle Seite&lt;br /&gt;
&lt;br /&gt;
  CUR = 1&lt;br /&gt;
  CUR {&lt;br /&gt;
    wrapItemAndSub = |*| &amp;lt;li class=&amp;quot;CUR&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;CUR last&amp;quot;&amp;gt; | &amp;lt;/li&amp;gt;&lt;br /&gt;
    stdWrap.htmlSpecialChars = 1&lt;br /&gt;
    doNotLinkIt = 0&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Gleiche Einstellungen für die nächsten Ebenen&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.2 = TMENU&lt;br /&gt;
temp.listMenu.2 &amp;lt; temp.listMenu.1&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.3 = TMENU&lt;br /&gt;
temp.listMenu.3 &amp;lt; temp.listMenu.2&lt;br /&gt;
&lt;br /&gt;
temp.listMenu.4 = TMENU&lt;br /&gt;
temp.listMenu.4 &amp;lt; temp.listMenu.2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Multilanguage Menu ===&lt;br /&gt;
[[Typo3 - Multilanguage Menu]]&lt;br /&gt;
=== Bilder Menü ===&lt;br /&gt;
siehe: [[Typo3 - Bildermenü]]&lt;br /&gt;
=== Einfaches Menü mit 1 Ebene (CSS) ===&lt;br /&gt;
siehe: [[Menue als CSS formatierte Liste]]&lt;br /&gt;
&lt;br /&gt;
=== Menü mit 2 Ebenen als verschachtelte Liste ===&lt;br /&gt;
Dieses Menü ist besonders für vertikale Navigationen geeignet&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Einstieg Level 1&lt;br /&gt;
navi-L12-startID = 1&lt;br /&gt;
navi-L12-delimiter = &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;#124;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
navi-L12-delimiter =&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Top Navigation ###&lt;br /&gt;
temp.navi-L12 = HMENU&lt;br /&gt;
temp.navi-L12 {&lt;br /&gt;
  #stdWrap.case = lower&lt;br /&gt;
  special = directory&lt;br /&gt;
  # Seitenid für den Einstieg&lt;br /&gt;
  special.value = {$navi-L12-startID}&lt;br /&gt;
  # Ebene für den Einstieg (nicht vergessen wg. 2. Level)&lt;br /&gt;
  entryLevel = 1&lt;br /&gt;
  1 = TMENU&lt;br /&gt;
  1{&lt;br /&gt;
    noBlur = 1&lt;br /&gt;
    wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
    NO = 1&lt;br /&gt;
    NO.linkWrap = |*| &amp;lt;li&amp;gt;|{$navi-L12-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
    ACT = 1&lt;br /&gt;
    ACT.linkWrap =  |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|{$navi-L12-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
    ACTIFSUB = 1&lt;br /&gt;
    #Wenn Unterpunkte dann li aufmachen&lt;br /&gt;
    ACTIFSUB.linkWrap = &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&lt;br /&gt;
  }&lt;br /&gt;
  2 = TMENU&lt;br /&gt;
  2{&lt;br /&gt;
   noBlur = 1&lt;br /&gt;
   NO = 1&lt;br /&gt;
   #Unterpunkt also neue ul und danach li zu (von L1 geöffnet)&lt;br /&gt;
   wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
   NO.linkWrap = |*| &amp;lt;li&amp;gt;|{$navi-L12-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
   ACT = 1&lt;br /&gt;
   ACT.linkWrap =  |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|{$navi-L12-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  #ACTIFSUB = 1&lt;br /&gt;
  #ACTIFSUB.linkWrap = &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Menü mit 2 Ebenen als separate Listen ===&lt;br /&gt;
Dieses Menü ist besonders für horizontale Navigationen geeignet. &lt;br /&gt;
&lt;br /&gt;
Da die 2. Ebene relativ angegeben wird muß man bei mehreren Navigationsbäumen aufpassen, daß evt. ein Untermenü einer anderen Navigation (anderer Baum) ebenfalls angezeigt wird. Das läßt sich z.B. umgehen in dem man das Navitemplate erst im Unterbaum setzt oder indem man im Hauptbaum eine Bedingung setzt ([PIDinRootline = 123])&lt;br /&gt;
&lt;br /&gt;
Ebene 1 ist im Prinzip eine einfache Liste:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Navi nur Level1&lt;br /&gt;
#Startpunkt&lt;br /&gt;
navi_startID = 1&lt;br /&gt;
&lt;br /&gt;
#Trennzeichen für horizontale Navi:&lt;br /&gt;
naviL1-delimiter = &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;#124;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Top Navigation ###&lt;br /&gt;
temp.naviL1 = HMENU&lt;br /&gt;
temp.naviL1 {&lt;br /&gt;
  #stdWrap.case = lower&lt;br /&gt;
  special = directory&lt;br /&gt;
  # Seitenid für den Einstieg&lt;br /&gt;
  special.value = {$navi_startID}&lt;br /&gt;
  1 = TMENU&lt;br /&gt;
  1.noBlur = 1&lt;br /&gt;
  1.wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
  1.NO = 1&lt;br /&gt;
  1.NO.linkWrap = |*| &amp;lt;li&amp;gt;|{$naviL1-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
  1.ACT = 1&lt;br /&gt;
  1.ACT.linkWrap =  |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|{$naviL1-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
  #1.ACTIFSUB = 1&lt;br /&gt;
  #1.ACTIFSUB.linkWrap = &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für Ebene 2 wird eine weitere Liste generiert wenn man sich in einem bestimmten Level befindet:&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Navigation nur ab Level x  als ul (Standard entry Level1=2.Level)&lt;br /&gt;
&lt;br /&gt;
#Trennzeichen für horizontale Navi:&lt;br /&gt;
naviLx-delimiter = &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;#124;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
naviLx-entryLevel = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.naviLx = HMENU&lt;br /&gt;
temp.naviLx {&lt;br /&gt;
  # Seitenbaumebene ab Level 1 darstellen (2. Ebene)&lt;br /&gt;
   entryLevel = {$naviLx-entryLevel}&lt;br /&gt;
# Level 2&lt;br /&gt;
   1 = TMENU&lt;br /&gt;
   1{&lt;br /&gt;
      noBlur = 1&lt;br /&gt;
      wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
      NO = 1&lt;br /&gt;
   # Für horizontale Navi mit delimiter bei vertikal einfach nichts setzen&lt;br /&gt;
      NO.linkWrap = |*| &amp;lt;li&amp;gt;|{$naviLx-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      ACT = 1&lt;br /&gt;
   # Für vertikale Navi ohne delimiter...      &lt;br /&gt;
      #ACT.linkWrap = &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
   # und horizontal mit delimiter&lt;br /&gt;
      ACT.linkWrap =  |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|{$naviLx-delimiter}&amp;lt;/li&amp;gt; |*| &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&amp;lt;/li&amp;gt;    &lt;br /&gt;
&lt;br /&gt;
      #ACTIFSUB = 1&lt;br /&gt;
      #ACTIFSUB.linkWrap = &amp;lt;li class=&amp;quot;on&amp;quot;&amp;gt;|&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Menü als CSS formatierte Liste (allgemein) ===&lt;br /&gt;
[[Menue als CSS formatierte Liste]]&lt;br /&gt;
=== CSS-Flyout Menü ===&lt;br /&gt;
[[Typo3 - CSS-Flyout Menü]]&lt;br /&gt;
&lt;br /&gt;
=== Sauberes grafisches Menü ===&lt;br /&gt;
[[Typo3 - Grafisches Menü]]&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
=== Autoparser (automaketemplate und Templateswitcher (tx_rlmptmplselector) konfigurieren ===&lt;br /&gt;
Der Template - Switcher benötigt automaketemplate (oder man arbeitet direkt mit TS-Templates). &lt;br /&gt;
Am besten gleich beide in einem Basis Template konfigurieren:&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[TYPO3 - Template-Auswahl]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### SET UP TEMPLATE SELECTOR ###&lt;br /&gt;
plugin.tx_rlmptmplselector_pi1 {&lt;br /&gt;
&lt;br /&gt;
// Define the paths leading to our HTML template files&lt;br /&gt;
   templatePathMain = fileadmin/dinos/templates/main/&lt;br /&gt;
   templatePathSub = fileadmin/dinos/templates/sub/&lt;br /&gt;
&lt;br /&gt;
      // Define the filenames used as the default HTML templates&lt;br /&gt;
   defaultTemplateFileNameMain = main.html&lt;br /&gt;
   defaultTemplateFileNameSub = sub01.html&lt;br /&gt;
&lt;br /&gt;
      // If there is a page having no template selected, use a template&lt;br /&gt;
      // selected earlier in the rootline. If there is none, use the default&lt;br /&gt;
    inheritMainTemplates = 1&lt;br /&gt;
    inheritSubTemplates = 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
### Autoparser Konfigurieren (alle IDs als Marker) ###&lt;br /&gt;
&lt;br /&gt;
plugin.tx_automaketemplate_pi1{&lt;br /&gt;
#  content = FILE&lt;br /&gt;
#  content.file = fileadmin/templates/main/main.html&lt;br /&gt;
&lt;br /&gt;
  content &amp;lt; plugin.tx_rlmptmplselector_pi1&lt;br /&gt;
  elements {&lt;br /&gt;
    BODY.all = 1&lt;br /&gt;
    BODY.all.subpartMarker = DOCUMENT_BODY&lt;br /&gt;
    HEAD.all = 1&lt;br /&gt;
    HEAD.all.subpartMarker = DOCUMENT_HEADER&lt;br /&gt;
    HEAD.all.rmTagSections = title&lt;br /&gt;
    DIV.all = 1&lt;br /&gt;
    TD.all = 1&lt;br /&gt;
  }&lt;br /&gt;
    relPathPrefix = fileadmin/dinos/templates/main/&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== News - Modul ===&lt;br /&gt;
Hier gibt es fertige Konfigurationen:&lt;br /&gt;
[[News (tt_news)]]&lt;br /&gt;
&lt;br /&gt;
=== eCards - sr_sendcard ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# The Fast Way:&lt;br /&gt;
# plugin.tx_srsendcard_pi1._CSS_DEFAULT_STYLE = @import url(&amp;quot;fileadmin/dinos/templates/css/srsendcard.css&amp;quot;);&lt;br /&gt;
# But better is this (more flexible lesser Overhead)&lt;br /&gt;
&lt;br /&gt;
plugin.tx_srsendcard_pi1._CSS_DEFAULT_STYLE &amp;gt;&lt;br /&gt;
&lt;br /&gt;
[PIDinRootline = 14]&lt;br /&gt;
page.includeCSS.file2 = fileadmin/dinos/templates/srsendcard/srsendcard.css&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
plugin.tx_srsendcard_pi1{&lt;br /&gt;
&lt;br /&gt;
templateFile = fileadmin/dinos/templates/srsendcard/srsendcard.tmpl&lt;br /&gt;
locale_all = de_DE&lt;br /&gt;
oldYear = 2006&lt;br /&gt;
# Vorschauseite (wenn gewünscht)&lt;br /&gt;
# previewPID = your_page_id&lt;br /&gt;
enableHTMLMail = 1&lt;br /&gt;
siteEmail = info@start-reutlingen.de&lt;br /&gt;
siteName = Erben der Dinos&lt;br /&gt;
# musicDir = EXT:sr_sendcard/music&lt;br /&gt;
#cardMusicFiles = autumnleaves.mid, OverTheRainbow.mid, Pomp_and_Circumstance.mid&lt;br /&gt;
disableMusic = 1&lt;br /&gt;
maxCol = 2&lt;br /&gt;
imageSmallWidth = 150&lt;br /&gt;
imageSmallHeight = 150&lt;br /&gt;
imageBigWidth = 300&lt;br /&gt;
imageBigHeight = 300&lt;br /&gt;
#logo&lt;br /&gt;
#logoAlignHor = right&lt;br /&gt;
#logoAlignVert = bottom&lt;br /&gt;
#useAlternateImageOnPrint&lt;br /&gt;
### For use with other pids use this one too&lt;br /&gt;
#createPID&lt;br /&gt;
#formPID&lt;br /&gt;
#previewPID&lt;br /&gt;
#useCAPTCHA = 0&lt;br /&gt;
#viewPID&lt;br /&gt;
#printPID&lt;br /&gt;
### Erscheinungsbild ###&lt;br /&gt;
cardStamp = fileadmin/dinos/templates/srsendcard/stamp.gif&lt;br /&gt;
#date_stdWrap&lt;br /&gt;
disableSendDate = 1&lt;br /&gt;
cardBgcolors = #FFFFFF,#A00A1C,#FF993F&lt;br /&gt;
cardFontcolors = #000000, #FFFFFF,#A00A1C&lt;br /&gt;
#disableFontcolors&lt;br /&gt;
#disableFontfaces&lt;br /&gt;
#disableCardOptions&lt;br /&gt;
#graphicMess&lt;br /&gt;
#graphicMessWidth&lt;br /&gt;
#graphicMessFontFiles&lt;br /&gt;
#graphicMessFontSizes&lt;br /&gt;
#fontDir&lt;br /&gt;
#doNotShowCardCaptions&lt;br /&gt;
cardPresentationOrder = manual&lt;br /&gt;
salutation = informal&lt;br /&gt;
#disableBgcolors = 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zufallsbild tx_ccrandomimage ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TypoScript - Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### zufallsbild erzeugen ###&lt;br /&gt;
includeLibs.tx_ccrandomimage = EXT:cc_random_image/pi1/class.tx_ccrandomimage_pi1.php&lt;br /&gt;
&lt;br /&gt;
// USER_INT means &amp;#039;no caching&amp;#039;&lt;br /&gt;
temp.randomImage = USER_INT&lt;br /&gt;
temp.randomImage{&lt;br /&gt;
  userFunc = tx_ccrandomimage_pi1-&amp;gt;main&lt;br /&gt;
  path = fileadmin/randomImage/&lt;br /&gt;
  fileExt = jpg,jpeg,gif,png&lt;br /&gt;
  #Das Render Objekt ist ein content object array (COA) mit einem Bild&lt;br /&gt;
  #Vor dem Rendern werden die ###FILE_x### marker mit den Bildern aus path ersetzt&lt;br /&gt;
  renderObj = COA&lt;br /&gt;
  renderObj {&lt;br /&gt;
    10 = IMAGE&lt;br /&gt;
    10.file = ###FILE_1###&lt;br /&gt;
    // ... weitere Bilder wenn benötigt&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hCard - Microformat ===&lt;br /&gt;
Das Thema Semantic Web wird inzwischen immer interessanter, darum kam ich auf die Idee - fast allein mit TypoScript - das bekannte hCard-Microformat in TYPO3 zu integrieren.&lt;br /&gt;
&lt;br /&gt;
Was wir dafür brauchen ist eine eigene kleine Extension, diese benötigen wir lediglich für eine einzige Zeile Code, welche in die Datei ext_tables.php kommt:&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      t3lib_extMgm::addToInsertRecords(&amp;#039;fe_users&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
Dazu jetzt noch das TypoScript:&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      temp.hcard = COA&lt;br /&gt;
   2.&lt;br /&gt;
      temp.hcard {&lt;br /&gt;
   3.&lt;br /&gt;
      wrap =&lt;br /&gt;
   4.&lt;br /&gt;
      &amp;lt;div id=&amp;quot;hcard&amp;quot; class=&amp;quot;vcard&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
   5.&lt;br /&gt;
       &lt;br /&gt;
   6.&lt;br /&gt;
      10 = IMAGE&lt;br /&gt;
   7.&lt;br /&gt;
      10.file {&lt;br /&gt;
   8.&lt;br /&gt;
      import = uploads/pics/&lt;br /&gt;
   9.&lt;br /&gt;
      import.field = image&lt;br /&gt;
  10.&lt;br /&gt;
      width = 40&lt;br /&gt;
  11.&lt;br /&gt;
      params = class=&amp;quot;photo&amp;quot;&lt;br /&gt;
  12.&lt;br /&gt;
      }&lt;br /&gt;
  13.&lt;br /&gt;
      20 = TEXT&lt;br /&gt;
  14.&lt;br /&gt;
      20.field = name&lt;br /&gt;
  15.&lt;br /&gt;
      20.typolink.parameter.field = url&lt;br /&gt;
  16.&lt;br /&gt;
      20.typolink.ATagParams = class=&amp;quot;url fn&amp;quot;&lt;br /&gt;
  17.&lt;br /&gt;
      30 = TEXT&lt;br /&gt;
  18.&lt;br /&gt;
      30.field = company&lt;br /&gt;
  19.&lt;br /&gt;
      30.wrap =&lt;br /&gt;
  20.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;org&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
  21.&lt;br /&gt;
       &lt;br /&gt;
  22.&lt;br /&gt;
      40 = TEXT&lt;br /&gt;
  23.&lt;br /&gt;
      40.field = email&lt;br /&gt;
  24.&lt;br /&gt;
      40.typolink.parameter.field = email&lt;br /&gt;
  25.&lt;br /&gt;
      40.typolink.ATagParams = class=&amp;quot;email&amp;quot;&lt;br /&gt;
  26.&lt;br /&gt;
      50 = COA&lt;br /&gt;
  27.&lt;br /&gt;
      50 {&lt;br /&gt;
  28.&lt;br /&gt;
      wrap =&lt;br /&gt;
  29.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;adr&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
  30.&lt;br /&gt;
       &lt;br /&gt;
  31.&lt;br /&gt;
      10 = TEXT&lt;br /&gt;
  32.&lt;br /&gt;
      10.field = address&lt;br /&gt;
  33.&lt;br /&gt;
      10.wrap =&lt;br /&gt;
  34.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;street-address&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
  35.&lt;br /&gt;
       &lt;br /&gt;
  36.&lt;br /&gt;
      20 = TEXT&lt;br /&gt;
  37.&lt;br /&gt;
      20.field = city&lt;br /&gt;
  38.&lt;br /&gt;
      20.wrap = &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&lt;br /&gt;
  39.&lt;br /&gt;
      30 = TEXT&lt;br /&gt;
  40.&lt;br /&gt;
      30.field = zip&lt;br /&gt;
  41.&lt;br /&gt;
      30.wrap = &amp;lt;span class=&amp;quot;postal-code&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&lt;br /&gt;
  42.&lt;br /&gt;
      40 = TEXT&lt;br /&gt;
  43.&lt;br /&gt;
      40.field = country&lt;br /&gt;
  44.&lt;br /&gt;
      40.wrap = &amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&lt;br /&gt;
  45.&lt;br /&gt;
      }&lt;br /&gt;
  46.&lt;br /&gt;
      60 = TEXT&lt;br /&gt;
  47.&lt;br /&gt;
      60.field = telephone&lt;br /&gt;
  48.&lt;br /&gt;
      60.wrap =&lt;br /&gt;
  49.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;tel&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
  50.&lt;br /&gt;
       &lt;br /&gt;
  51.&lt;br /&gt;
      }&lt;br /&gt;
  52.&lt;br /&gt;
       &lt;br /&gt;
  53.&lt;br /&gt;
      // fe_users dem type shortcut hinzufügen&lt;br /&gt;
  54.&lt;br /&gt;
      tt_content.shortcut.20.0.tables = fe_users&lt;br /&gt;
  55.&lt;br /&gt;
      // für Tabelle fe_users sagen wir jetzt noch wie es gerendert werden soll.&lt;br /&gt;
  56.&lt;br /&gt;
      tt_content.shortcut.20.0.conf.fe_users &amp;lt; temp.hcard&lt;br /&gt;
  57.&lt;br /&gt;
       &lt;br /&gt;
&lt;br /&gt;
Und was hat uns das jetzt gebracht? Ganz einfach:&lt;br /&gt;
&lt;br /&gt;
   1. Wir haben das Content Element &amp;quot;Insert Record&amp;quot; um die Tabelle fe_users erweitert.&lt;br /&gt;
   2. Wir haben mit dem TypoScript aus dem Object &amp;quot;temp.hcard&amp;quot; eine komplette hCard definiert, welche jetzt mit meinem fe_user Datensatz befüllt werden kann.&lt;br /&gt;
   3. Durch die CSS-Klassen kann man die Visitenkarte nun auch noch schön aussehen lassen.&lt;br /&gt;
&lt;br /&gt;
Sind alle Daten vorhanden, könnte der erzeugte HTML-Code dann so aussehen:&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
       &lt;br /&gt;
   2.&lt;br /&gt;
      &amp;lt;div id=&amp;quot;hcard&amp;quot; class=&amp;quot;vcard&amp;quot;&amp;gt;&lt;br /&gt;
   3.&lt;br /&gt;
      &amp;lt;img style=&amp;quot;float:left; margin-right:4px&amp;quot; src=&amp;quot;http://typo3weblog.de/frank.png&amp;quot; alt=&amp;quot;photo of &amp;quot; class=&amp;quot;photo&amp;quot;/&amp;gt;&lt;br /&gt;
   4.&lt;br /&gt;
      &amp;lt;a class=&amp;quot;url fn&amp;quot; href=&amp;quot;http://typo3weblog.de&amp;quot;&amp;gt;Frank Nägler&amp;lt;/a&amp;gt;&lt;br /&gt;
   5.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;org&amp;quot;&amp;gt;TYPO3Weblog.de&amp;lt;/div&amp;gt;&lt;br /&gt;
   6.&lt;br /&gt;
       &lt;br /&gt;
   7.&lt;br /&gt;
      &amp;lt;a class=&amp;quot;email&amp;quot; href=&amp;quot;mailto:frank.naegler@e-netconsulting.rl&amp;quot;&amp;gt;frank.naegler@e-netconsulting.rl&amp;lt;/a&amp;gt;&lt;br /&gt;
   8.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;adr&amp;quot;&amp;gt;&lt;br /&gt;
   9.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;street-address&amp;quot;&amp;gt;Sievekingsallee 150b&amp;lt;/div&amp;gt;&lt;br /&gt;
  10.&lt;br /&gt;
       &lt;br /&gt;
  11.&lt;br /&gt;
      &amp;lt;span class=&amp;quot;locality&amp;quot;&amp;gt;Hamburg&amp;lt;/span&amp;gt;&lt;br /&gt;
  12.&lt;br /&gt;
      &amp;lt;span class=&amp;quot;postal-code&amp;quot;&amp;gt;22111&amp;lt;/span&amp;gt;&lt;br /&gt;
  13.&lt;br /&gt;
      &amp;lt;span class=&amp;quot;country-name&amp;quot;&amp;gt;Deutschland&amp;lt;/span&amp;gt;&lt;br /&gt;
  14.&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
  15.&lt;br /&gt;
      &amp;lt;div class=&amp;quot;tel&amp;quot;&amp;gt;+49 (0)7000 623 45 37&amp;lt;/div&amp;gt;&lt;br /&gt;
  16.&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
  17.&lt;br /&gt;
       &lt;br /&gt;
&lt;br /&gt;
Cool oder?&lt;br /&gt;
&lt;br /&gt;
Die komplette Extension fn_hcard als T3X Export habe ich hier für Euch zum Download.&lt;br /&gt;
&lt;br /&gt;
Aus Typo3 Adventskalender2008&lt;br /&gt;
&lt;br /&gt;
===Extension: Direct Shortcuts (sms_directshortcuts)===&lt;br /&gt;
&lt;br /&gt;
http://typo3.org/extensions/repository/view/sms_directshortcuts/current/&lt;br /&gt;
TYPO3 generiert, wie jeder weiss, bei internen Verweisen immer eine extra Seite, die selbst wiederum einen redirect macht. Dieses vorgehen hat einerseits den Vorteil, dass man Skripte dazwischen schieben kann um z.B. Klicks zu tracken, anderseits den Nachteil, dass eine “falsche” URL im Menü zu finden ist. Dieser Nachteil macht sich bemerkbar wenn man sich mit der Suchmaschinenoptimierung von TYPO3 Seiten beschäftigt.&lt;br /&gt;
&lt;br /&gt;
== Nützliche TS-Templates ==&lt;br /&gt;
=== Tabellen im RTE ===&lt;br /&gt;
Details: http://dev.datenwolken.de/index.php?id=195&lt;br /&gt;
==== Standardklasse contenttable unterdrücken eigene Klassen zulassen ====&lt;br /&gt;
 lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.class &amp;gt;&lt;br /&gt;
==== P Tag raus ====&lt;br /&gt;
 lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default &amp;gt;&lt;br /&gt;
 # gar nichts parsen ist doof deshalb vorerst mal Standards:&lt;br /&gt;
 lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.stdWrap.parseFunc =&amp;lt; lib.parseFunc&lt;br /&gt;
&lt;br /&gt;
Lösung von Steffen Kamper&lt;br /&gt;
# Lösung von SK&lt;br /&gt;
&lt;br /&gt;
#wichtig, damit die nicht in p gewrappt werden&lt;br /&gt;
#lib.parseFunc_RTE.externalBlocks = ul,ol,table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#nochmaliges parsen von tabellenzellen auschalten, damit inhalte nicht wieder in p gepackt werden&lt;br /&gt;
#lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.callRecursive = 0&lt;br /&gt;
&lt;br /&gt;
#nachträgliches ermöglichen von Links in Tabellenzellen&lt;br /&gt;
#lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.stdWrap.parseFunc {&lt;br /&gt;
#        makelinks = 1&lt;br /&gt;
#        makelinks.http.keep = scheme,path,query&lt;br /&gt;
#        makelinks.mailto.keep = path&lt;br /&gt;
#        tags {&lt;br /&gt;
#                link = TEXT&lt;br /&gt;
#                link {&lt;br /&gt;
#                 current = 1&lt;br /&gt;
#                 typolink.parameter.data = parameters : allParams&lt;br /&gt;
#                }&lt;br /&gt;
#       }&lt;br /&gt;
#}&lt;br /&gt;
&lt;br /&gt;
=== Externes JavaScript einbinden ===&lt;br /&gt;
==== JavaScript im Header ====&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.addHeaderData=COA&lt;br /&gt;
&lt;br /&gt;
[browser = msie]&lt;br /&gt;
&lt;br /&gt;
temp.addHeaderData{&lt;br /&gt;
    90 = TEXT&lt;br /&gt;
    90.value (&lt;br /&gt;
        &amp;lt;script src=&amp;quot;fileadmin/templates/scripts/ielt7.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
    )&lt;br /&gt;
    90.wrap = &amp;lt;!--[if lte IE 7]&amp;gt; | &amp;lt;![endif]--&amp;gt;&lt;br /&gt;
    #90.stdWrap.char = 10&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[global]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier wird für IE kleiner als Version 7 ein JavaScript File eingebunden.&lt;br /&gt;
&lt;br /&gt;
==== JavaScript als Marker ====&lt;br /&gt;
Als Temporäres Objekt, kann natürlich auch Javascript in einen Marker eingebunden werden.&lt;br /&gt;
==== JavaScript über Record ====&lt;br /&gt;
Eine Möglichkeit die das leichte ändern der Skripte zuläßt wäre folgende.&lt;br /&gt;
Man legt irgendwo auf einer Seite ein HTML - Element an hinterlegt das Skript und verweist mit TypoScript auf diesen RECORD. Bzw. bindet ihn im Template ein.&lt;br /&gt;
&lt;br /&gt;
ToDo Beispiel&lt;br /&gt;
&lt;br /&gt;
=== xhtml optimierung ===&lt;br /&gt;
Einiges davon braucht man in Version 4+ nicht mehr...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#######################################################&lt;br /&gt;
############ XHTML optimieren&lt;br /&gt;
#######################################################&lt;br /&gt;
&lt;br /&gt;
#Default Javascripts in externes File auslagern&lt;br /&gt;
config.removeDefaultJS = 1&lt;br /&gt;
config.removeDefaultJS = external&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;?xml... ?&amp;gt; Prolog deaktivieren&lt;br /&gt;
config.xmlprologue = none&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;html lang=&amp;quot;de&amp;quot; xml:lang=&amp;quot;de&amp;quot;&amp;gt; auf de setzen&lt;br /&gt;
config.htmlTag_langKey = de&lt;br /&gt;
&lt;br /&gt;
#CSS Datei in externes File auslagern&lt;br /&gt;
config.inlineStyle2TempFile = 1&lt;br /&gt;
config.disablePrefixComment = 1&lt;br /&gt;
&lt;br /&gt;
#RTE Tuning&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class &amp;gt;&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.remapTag &amp;gt;&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.DIV.class &amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Angabe von Tags, die nicht mit einem zusätzlichen wrap umgeben werden dürfen&lt;br /&gt;
lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.encapsTagList =  div, p, h1, h2, h3, h4, h5, h6&lt;br /&gt;
&lt;br /&gt;
#Entfernt die zusätzlichen CSS-Klassen&lt;br /&gt;
lib.stdheader.3 = LOAD_REGISTER&lt;br /&gt;
lib.stdheader.3.headerClass =&lt;br /&gt;
lib.stdheader.3.headerClass.noTrimWrap = |&lt;br /&gt;
lib.stdheader.stdWrap.dataWrap = |&lt;br /&gt;
&lt;br /&gt;
#Standard-Headings aufräumen&lt;br /&gt;
lib.stdheader.stdWrap.dataWrap =&lt;br /&gt;
lib.stdheader.10.1.fontTag = &amp;lt;h1&amp;gt;|&amp;lt;/h1&amp;gt;&lt;br /&gt;
lib.stdheader.10.2.fontTag = &amp;lt;h2&amp;gt;|&amp;lt;/h2&amp;gt;&lt;br /&gt;
lib.stdheader.10.3.fontTag = &amp;lt;h3&amp;gt;|&amp;lt;/h3&amp;gt;&lt;br /&gt;
lib.stdheader.10.4.fontTag = &amp;lt;h4&amp;gt;|&amp;lt;/h4&amp;gt;&lt;br /&gt;
lib.stdheader.10.5.fontTag = &amp;lt;h5&amp;gt;|&amp;lt;/h5&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Content Elemente aufräumen und Kommentare entfernen&lt;br /&gt;
#tt_content.stdWrap.dataWrap &amp;gt;&lt;br /&gt;
tt_content.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
#tt_content.header.20.dataWrap &amp;gt;&lt;br /&gt;
tt_content.header.20.prefixComment &amp;gt;&lt;br /&gt;
tt_content.default.prefixComment &amp;gt;&lt;br /&gt;
tt_content.text.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.text.20.prefixComment &amp;gt;&lt;br /&gt;
tt_content.textpic.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.table.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.mailform.20.stdWrap.wrap &amp;gt;&lt;br /&gt;
tt_content.menu.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.image.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
tt_content.list.20.stdWrap.prefixComment &amp;gt;&lt;br /&gt;
&lt;br /&gt;
#Cleargif entfernen&lt;br /&gt;
tt_content.image.20.spaceBelowAbove = 0&lt;br /&gt;
tt_content.header.stdWrap.space = 0|0&lt;br /&gt;
tt_content.stdWrap.space = 0|0&lt;br /&gt;
tt_content.stdWrap.spaceBefore = 0&lt;br /&gt;
tt_content.stdWrap.spaceAfter = 0&lt;br /&gt;
lib.stdheader.stdWrap.space = 0|0&lt;br /&gt;
&lt;br /&gt;
#Auch hinter den Headlines&lt;br /&gt;
tt_content.text.20.parseFunc.tags.typohead.stdWrap.space = 0|0&lt;br /&gt;
&lt;br /&gt;
# Sicherstellen, dass nonTypoTagStdWrap nur im Inhalt außerhalb von&lt;br /&gt;
#&amp;lt;typolist&amp;gt; und &amp;lt;typohead&amp;gt; arbeitet:&lt;br /&gt;
tt_content.text.20.parseFunc.tags.typolist.breakoutTypoTagContent = 1&lt;br /&gt;
tt_content.text.20.parseFunc.tags.typohead.breakoutTypoTagContent = 1&lt;br /&gt;
&lt;br /&gt;
# ... und kein &amp;lt;BR&amp;gt; vor dem typohead.&lt;br /&gt;
tt_content.text.20.parseFunc.tags.typohead.stdWrap.wrap &amp;gt;&lt;br /&gt;
# Einstellen von nonTypoTagStdWrap, dass der Text mit P-Tags umschlossen wird.&lt;br /&gt;
tt_content.text.20.parseFunc.nonTypoTagStdWrap &amp;gt;&lt;br /&gt;
tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines {&lt;br /&gt;
encapsTagList = div, p&lt;br /&gt;
remapTag.DIV = P&lt;br /&gt;
wrapNonWrappedLines = |&lt;br /&gt;
innerStdWrap_all.ifEmpty =&lt;br /&gt;
innerStdWrap_all.textStyle &amp;lt; tt_content.text.20.textStyle&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Schließlich noch Entfernen der alten textstyle-Formatierung des gesamten Haupttextes.&lt;br /&gt;
tt_content.text.20.textStyle &amp;gt;&lt;br /&gt;
&lt;br /&gt;
# ... und der &amp;lt;BR&amp;gt;-Tag nach dem Inhalt wird auch nicht mehr gebraucht...&lt;br /&gt;
tt_content.text.20.wrap &amp;gt;&lt;br /&gt;
&lt;br /&gt;
# clear.gif entfernen&lt;br /&gt;
tt_content.image.20.spaceBelowAbove = 0&lt;br /&gt;
tt_content.header.stdWrap.space = 0|0&lt;br /&gt;
tt_content.stdWrap.space = 0|0&lt;br /&gt;
tt_content.stdWrap.spaceBefore = 0&lt;br /&gt;
tt_content.stdWrap.spaceAfter = 0&lt;br /&gt;
lib.stdheader.stdWrap.space = 0|0&lt;br /&gt;
&lt;br /&gt;
# clear.gif hinter den Überschriften entfernen&lt;br /&gt;
tt_content.text.20.parseFunc.tags.typohead.stdWrap.space = 0|0&lt;br /&gt;
&lt;br /&gt;
#Attribute für p- und pre-tags entfernen&lt;br /&gt;
tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines.addAttributes {&lt;br /&gt;
P.style=&lt;br /&gt;
PRE.style=&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Unterdrückt den Umbruch &amp;lt; br &amp;gt;&lt;br /&gt;
lib.stdheader.10.stdWrap.wrap = |&lt;br /&gt;
tt_content.textpic.20.spaceBelowAbove = 0&lt;br /&gt;
tt_content.image.20.spaceBelowAbove = 0&lt;br /&gt;
tt_content.textpic.20.noStretchAndMarginCells = 1&lt;br /&gt;
tt_content.image.20.noStretchAndMarginCells = 1&lt;br /&gt;
&lt;br /&gt;
# Setup Anker-Tags entfernen&lt;br /&gt;
tt_content.noANameTagForFirstRecord = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Inhalte von Backend-Feldern ausgeben ===&lt;br /&gt;
Hinweise dazu findest du unter:&lt;br /&gt;
&lt;br /&gt;
[[TypoScript - Daten auslesen]]&lt;br /&gt;
&lt;br /&gt;
=== Ein Breadcrumb Menü (Rootline-Menü) ===&lt;br /&gt;
Constants&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#[begin-level] | [end-level]&lt;br /&gt;
# Variante 1: Seite 1 | Seite 2 | Seite 3&lt;br /&gt;
rootlineDelimiter = &amp;amp;nbsp;&amp;amp;#124;&amp;amp;nbsp;&lt;br /&gt;
# Variante 2: Seite 1 &amp;gt; Seite 2 &amp;gt; Seite 3&lt;br /&gt;
# delimiter = &amp;amp;nbsp;&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Setup&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.rootline = HMENU&lt;br /&gt;
temp.rootline {&lt;br /&gt;
   special = rootline&lt;br /&gt;
&lt;br /&gt;
# zeige komplette rootline an&lt;br /&gt;
   special.range = 2|-1&lt;br /&gt;
&lt;br /&gt;
# Variation: zeige Link auf die übergeordnete Seite&lt;br /&gt;
   #special.range = -2|-2&lt;br /&gt;
&lt;br /&gt;
# Text vor dem Rootline Menü&lt;br /&gt;
   wrap = Sie sind hier:&amp;amp;nbsp;|&lt;br /&gt;
&lt;br /&gt;
   special.targets.3 = page&lt;br /&gt;
   1 = TMENU&lt;br /&gt;
   1.target = _top&lt;br /&gt;
   1.NO {&lt;br /&gt;
   	ATagBeforeWrap = 0&lt;br /&gt;
   	stdWrap.htmlSpecialChars = 1&lt;br /&gt;
   	linkWrap = |{$rootlineDelimiter}|*||*| |&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
temp.rootline.wrap = You are here:&amp;amp;nbsp;|&lt;br /&gt;
[GLOBAL]&lt;br /&gt;
&lt;br /&gt;
[globalVar = GP:L = 2]&lt;br /&gt;
temp.rootline.wrap = Vous êtes ici:&amp;amp;nbsp;|&lt;br /&gt;
[GLOBAL]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ein CSS-Template mit Markern nutzen ===&lt;br /&gt;
Ein CSS File wird eingelesen, enthaltene Marker dynamisch ersetzt und die Styles im Headerbereich der Seite als Inline-Styles eingebunden.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
color1 = FFE292&lt;br /&gt;
color2 = F68D6F&lt;br /&gt;
color3 = FABD9E&lt;br /&gt;
&lt;br /&gt;
backgroundImage = fileadmin/templates/main/images/navBack-grey.gif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Setup &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# das Objekt zunächst als Bibliothek zur späteren Verwendung&lt;br /&gt;
lib.stylesheet.default = TEMPLATE&lt;br /&gt;
lib.stylesheet.default {&lt;br /&gt;
# template einlesen&lt;br /&gt;
  template = FILE&lt;br /&gt;
  template.file=fileadmin/templates/main/colors.css&lt;br /&gt;
# Platzhalter ersetzten&lt;br /&gt;
  marks{&lt;br /&gt;
     COLOR1 = TEXT&lt;br /&gt;
     COLOR1.value = {$color1}&lt;br /&gt;
     COLOR2 = TEXT&lt;br /&gt;
     COLOR2.value = {$color2}&lt;br /&gt;
     COLOR3 = TEXT&lt;br /&gt;
     COLOR3.value = {$color3}&lt;br /&gt;
     &lt;br /&gt;
     NAVBACK = TEXT&lt;br /&gt;
     NAVBACK.value = {$backgroundImage}&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Stylesheet in Header eintragen&lt;br /&gt;
page.headerData{&lt;br /&gt;
   90 = COA&lt;br /&gt;
   90{&lt;br /&gt;
      wrap = &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&amp;lt;!-- | --&amp;gt;&amp;lt;/style&amp;gt;&lt;br /&gt;
      50 &amp;lt; lib.stylesheet.default&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;
&lt;br /&gt;
&lt;br /&gt;
=== Bild aus Media-Feld auslesen ===&lt;br /&gt;
siehe auch &amp;quot;Das Media Feld&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.mediaFieldImage=IMAGE&lt;br /&gt;
temp.mediaFieldImage.file {  &lt;br /&gt;
  import.data = levelmedia: 2,slide  &lt;br /&gt;
  import = uploads/media/  &lt;br /&gt;
  import.listNum = 0  &lt;br /&gt;
  #width = 270  &lt;br /&gt;
  #height= 300&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bild aus Ressourcen Feld auslesen ===&lt;br /&gt;
Hinweis Seiteneigenschaften &amp;gt; Resourcen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 temp.mein Bild = IMG_RESSOURCE&lt;br /&gt;
 temp.mein Bild{&lt;br /&gt;
  file = hintergrund*.jpg&lt;br /&gt;
  stdWrap.wrap = &amp;lt;div style=&amp;quot;background-image: | ; padding: 5px;&amp;quot;&amp;gt; ein Kasten &amp;lt;/div&amp;gt;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Typo3 vergibt beim vervielfältigen automatisch eine Endung. Damit das Bild trotzdem immer gefunden wird, ein Sternchen setzen (Joker)&lt;br /&gt;
&lt;br /&gt;
=== Bild automatisch mit Alt-Tag versehen ===&lt;br /&gt;
Dieses TypoScript füllt das Alt-Tag Feld mit Daten aus dem Bildnamen z.B. wird Unser_Urlaubsort.jpg zu Unser Urlaubsort&lt;br /&gt;
&lt;br /&gt;
[[Bild automatisch mit Alt-Tag versehen]]&lt;br /&gt;
&lt;br /&gt;
=== Logo mit Verlinkung auf die Homepage (1.2)===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Link für das Logo&lt;br /&gt;
# Zahl (Seiten-ID), URL (www.zielseite.de) oder Email-Adresse&lt;br /&gt;
logoLink = 1&lt;br /&gt;
logoFile = fileadmin/templates/images/logo.gif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Setup &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Fügt ein Logo mit Link ein&lt;br /&gt;
&lt;br /&gt;
temp.logo = IMAGE&lt;br /&gt;
temp.logo {&lt;br /&gt;
   #file = /fileadmin/dinos/templates/main/images/logo-rt.gif&lt;br /&gt;
   file = {$logoFile}&lt;br /&gt;
   stdWrap.typolink.parameter = {$logoLink}&lt;br /&gt;
}   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copyright mit immer aktuellem Jahr ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TypoScript Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.copyright = COA&lt;br /&gt;
temp.copyright{&lt;br /&gt;
   5= TEXT&lt;br /&gt;
   5.value = &amp;amp;copy;&amp;amp;nbsp;&lt;br /&gt;
   10 = TEXT&lt;br /&gt;
   #HeUte Timestamp einlesen&lt;br /&gt;
   10.data = date:U&lt;br /&gt;
   10.data.strftime = %Y &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ein anderes Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
subparts.footer{&lt;br /&gt;
   10 = TEXT&lt;br /&gt;
   10.data = date:Y&lt;br /&gt;
   10.wrap = &amp;lt;p class=&amp;quot;footer&amp;quot;&amp;gt;&amp;amp;copy;&amp;amp;nbsp;|&amp;amp;nbsp;Ich&amp;lt;/p&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datum der letzten Änderung anzeigen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 lastChangePrefix = Letzte Änderung:&amp;amp;nbsp;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.lastChange = COA&lt;br /&gt;
temp.lastChange.5 = TEXT&lt;br /&gt;
temp.lastChange.5.value={$lastChangePrefix}&lt;br /&gt;
temp.lastChange.10 = TEXT&lt;br /&gt;
temp.lastChange.10.register:SYS_LASTCHANGED&lt;br /&gt;
temp.lastChange.10.strftime = %d.%m.%Y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Variante ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.lastChange = TEXT&lt;br /&gt;
temp.lastChange {&lt;br /&gt;
  data = page:lastUpdated&lt;br /&gt;
  if.isTrue.data = page:lastUpdated&lt;br /&gt;
  date = d.m.Y&lt;br /&gt;
  wrap = Letzte Änderung:&amp;amp;nbsp;|&lt;br /&gt;
  wrap2 = |&lt;br /&gt;
  data = register : SYS_LASTCHANGED&lt;br /&gt;
  if &amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Seiten IDs im Seitenbaum anzeigen ===&lt;br /&gt;
UserTS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
options {&lt;br /&gt;
  pageTree.showPageIdWithTitle = 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Client Daten des Benutzers ausgeben ===&lt;br /&gt;
&lt;br /&gt;
      temp.browserinfo = COA_INT&lt;br /&gt;
      temp.browserinfo {&lt;br /&gt;
      10 = TEXT&lt;br /&gt;
      10.data = TSFE:clientInfo|SYSTEM&lt;br /&gt;
      10.wrap = &amp;amp;lt;p&amp;amp;gt; | &amp;amp;lt;br /&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
      20 = TEXT&lt;br /&gt;
      20.data = TSFE:clientInfo|BROWSER&lt;br /&gt;
      20.wrap = | &amp;amp;amp;nbsp;&lt;br /&gt;
       &lt;br /&gt;
      30 = TEXT&lt;br /&gt;
      30.data = TSFE:clientInfo|VERSION&lt;br /&gt;
      30.wrap = | &amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
== Die Ausgabe von Inhalten verändern ==&lt;br /&gt;
=== Typolinks in HTML Elementen Parsen ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# TypoLinks auch in HTML-Elementen parsen&lt;br /&gt;
#&lt;br /&gt;
# Syntax:&lt;br /&gt;
# ausgelassene Parameter können hinten weggelassen oder durch &amp;quot;-&amp;quot; freigehalten werden&lt;br /&gt;
# &amp;lt;link PID/URL/Mail TARGET/WIDTHxHEIGHT CLASS &amp;quot;TITLE&amp;quot;&amp;gt;LINKTEXT&amp;lt;/link&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Beispiele:&lt;br /&gt;
# &amp;lt;link 2&amp;gt;Zur Seite&amp;lt;/link&amp;gt;&lt;br /&gt;
# &amp;lt;link 7 - a-link &amp;quot;zur Information&amp;quot;&amp;gt;hier&amp;lt;/link&amp;gt;&lt;br /&gt;
# &amp;lt;link http://www.google.de 300x400 myPopup-class &amp;quot;in neuem Fenster&amp;quot;&amp;gt;Google&amp;lt;/link&amp;gt;&lt;br /&gt;
# &amp;lt;link info@abc.de - myMail &amp;quot;E-Mail senden&amp;quot;&amp;gt;Kontakt&amp;lt;/link&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
tt_content.html.parseFunc.tags.link &amp;lt; lib.parseFunc.tags.link  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn die Targets fest vergeben werden sollen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tt_content.html.parseFunc.tags.link.typolink {&lt;br /&gt;
    extTarget &amp;gt;&lt;br /&gt;
    extTarget = _self&lt;br /&gt;
    target &amp;gt;&lt;br /&gt;
    target = _self&lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Quelle: http://www.typo3forum.net/forum/typo3-3-x-fragen-probleme/37405-typolink-html-pagecontent-element.html (2013-01)&lt;br /&gt;
&lt;br /&gt;
=== Ein Inhaltselement an einen Marker schicken ===&lt;br /&gt;
Man kann im HTML-Template einen Marker oder Subpart definieren und diesen mit einem beliebigen Inhaltselement befüllen, daß dann auf allen Seiten angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.teaser = RECORDS&lt;br /&gt;
&lt;br /&gt;
temp.teaser{&lt;br /&gt;
  // ID des Datensatzes&lt;br /&gt;
  source = 17477&lt;br /&gt;
  tables = tt_content&lt;br /&gt;
  #conf.tt_content &amp;lt; tt_content // Standard muß nicht angegeben werden&lt;br /&gt;
  wrap = &amp;lt;div id=&amp;quot;gifbanner&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
page.10.subparts.TEASER &amp;lt; temp.teaser&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Layout-Rahmen verändern===&lt;br /&gt;
[[Typo3 - Rahmen (Frames)]]&lt;br /&gt;
&lt;br /&gt;
=== Rendering von Inhalten ===&lt;br /&gt;
[[TYPO3 - Automatischer Rollover Effekt für Bilder mit Image Magick Effekten | Rollovereffekt auf Bilder mit Hilfe der ImageMagick Effekte]]&lt;br /&gt;
&lt;br /&gt;
=== Ausgeben von Informationen im head der Seite ===&lt;br /&gt;
Wie kann man Stylesheet angaben, Metatags, Skripte etc. im Header ausgeben&lt;br /&gt;
[[Typo3 - Tipps und Tricks]] (page.head Objekt)&lt;br /&gt;
&lt;br /&gt;
=== Unnötige Ausgaben im Quelltext verhindern ===&lt;br /&gt;
[[TYPO3 - Unnötige Ausgaben im Quelltext verhindern]]&lt;br /&gt;
&lt;br /&gt;
== TypoScript - Basiswissen ==&lt;br /&gt;
[[Links mit TypoSkript anlegen]]&lt;br /&gt;
&lt;br /&gt;
== Suche ==&lt;br /&gt;
&lt;br /&gt;
weitere Infos zu Indexed Search:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - indexed search]]&lt;br /&gt;
&lt;br /&gt;
== Mit HTML und CObj erzeugtes Login ==&lt;br /&gt;
Das Beispiel von Tim Lochmüller aus dem Adventskalender 2008, zeigt wie man mit dem Template Objekte größere HTML - Bausteine verwenden kann.&lt;br /&gt;
&lt;br /&gt;
Login mit TS &amp;amp; cObj TEMPLATE&lt;br /&gt;
Georg Ringer in TYPO3, Templates, Tutorial, TypoScript&lt;br /&gt;
&lt;br /&gt;
Nach der interessanten Vorstellung von cli-Scripten durch Frank in Türchen 15 zeigt das folgende Tutorial einen guten Weg, einen Login/Logout-Bereich mit TS &amp;amp; HTML zu verwirklichen, ohne dabei auf irgendeine Extension zurückgreifen zu müssen.&lt;br /&gt;
&lt;br /&gt;
Folgendes HTML ist notwendig und wird beispielsweise in fileadmin/template/login.html abgelegt: http://pastebin.com/f4e963e25&lt;br /&gt;
Die beiden Subparts sind jeweils für den Login- &amp;amp; Logout-Bereich zuständig und werden mittels Condition umgeschalten.&lt;br /&gt;
&lt;br /&gt;
Das TS ist sehr einfach aufgebaut&lt;br /&gt;
&lt;br /&gt;
    lib.login = TEMPLATE&lt;br /&gt;
    lib.login {&lt;br /&gt;
    template = FILE&lt;br /&gt;
    template.file = fileadmin/template/login.html&lt;br /&gt;
&lt;br /&gt;
    workOnSubpart = TPL_LOGIN&lt;br /&gt;
    marks {&lt;br /&gt;
    URL = TEXT&lt;br /&gt;
    URL.data = getIndpEnv:TYPO3_REQUEST_URL&lt;br /&gt;
&lt;br /&gt;
    PID = TEXT&lt;br /&gt;
    PID.value = 10789&lt;br /&gt;
&lt;br /&gt;
    REGISTER = TEXT&lt;br /&gt;
    REGISTER {&lt;br /&gt;
    value = Mitglied werden&lt;br /&gt;
    typolink {&lt;br /&gt;
    parameter = 10786&lt;br /&gt;
    additionalParams = &amp;amp;tx_srfeuserregister_pi1[cmd]=edit&lt;br /&gt;
    useCacheHash = 1&lt;br /&gt;
    ATagParams = class=”link link1″&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
    PWD = TEXT&lt;br /&gt;
    PWD {&lt;br /&gt;
    value = Password vergessen?&lt;br /&gt;
    typolink {&lt;br /&gt;
    parameter = 10788&lt;br /&gt;
    ATagParams = class=”link”&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
    PROFILE = TEXT&lt;br /&gt;
    PROFILE {&lt;br /&gt;
    value = Mein Wanderprofil!&lt;br /&gt;
    typolink {&lt;br /&gt;
    parameter = 10790&lt;br /&gt;
    ATagParams = class=”link”&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    [usergroup = *]&lt;br /&gt;
    lib.login.workOnSubpart = TPL_LOGOUT&lt;br /&gt;
&lt;br /&gt;
    [global]&lt;br /&gt;
&lt;br /&gt;
Die notwendigen Variablen sind:&lt;br /&gt;
&lt;br /&gt;
    * URL: Die aktuelle URL, auf die nach dem Login/Logout auch weitergeleitet wird&lt;br /&gt;
    * PID: Id der Seite, die die Benutzer enthält&lt;br /&gt;
&lt;br /&gt;
Nützlich sind weiters:&lt;br /&gt;
&lt;br /&gt;
    * REGISTER: Link zu einer Seite, auf der man sich neu registrieren kann&lt;br /&gt;
    * PWD/PROFILE: Weitere Links zu Seiten nach Bedarf&lt;br /&gt;
&lt;br /&gt;
Die vorgestellte Variante funktioniert out-of-the-box und muss für andere Algorithmen angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Das Tutorial soll dazu anregen, das TEMPLATE-Objekt öfters als nur 1x zu verwenden, denn gerade wenn es um das Inkludieren von etwas mehr HTML geht, ist dies der beste, schnellste und sauberste Weg.&lt;br /&gt;
&lt;br /&gt;
== Benutzer ==&lt;br /&gt;
=== Autor-Feld bei neuen Seiten automatisch anlegen ===&lt;br /&gt;
 TCAdefaults.pages.author = &amp;lt;Name des Redakteurs&amp;gt;&lt;br /&gt;
 TCAdefaults.pages.author_email = &amp;lt;EMail-Adresse des Redakteurs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das funktioniert aber nur dann wenn eine Seite neu angelegt wird. Will man viele Seiten einem Redakteur zuordnen kann man das über eien MySQL abfrage machen:&lt;br /&gt;
&lt;br /&gt;
 UPDATE `pages` SET `author` = &amp;#039;&amp;lt;Name des Redakteurs&amp;gt;&amp;#039;, `author_email` =&lt;br /&gt;
 &amp;#039;&amp;lt;EMail-Adresse des Redakteurs&amp;gt;&amp;#039;&lt;br /&gt;
 WHERE 1 AND `perms_userid` = &amp;lt;UserId des Redakteurs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in perms_userid steht die ID des Besitzers der Seite, deshalb kann man diesen mit Hilfe des Whereclause ausfiltern.&lt;br /&gt;
&lt;br /&gt;
=== Author Feld, Email-Feld und News Author automatisch anlegen ===&lt;br /&gt;
Als weitere Möglichkeit gibt es die Extension cron_setdefaultauthor die genau diese Aufgaben übernimmt. Sie arbeitet im Prinzip wie oben angeführt.&lt;br /&gt;
&lt;br /&gt;
== Ändern von Extension Meldungen durch den Redakteur ==&lt;br /&gt;
&lt;br /&gt;
Adventskalender 2008 von Tim Lochmüller&lt;br /&gt;
Immer wieder erlebe ich es, dass der Kunde Texte selber ändern möchte, klar dafür hat er ja auch von uns TYPO3 bekommen. Leider Zum Glück, möchte der Kunde aber manchmal alles pflegen, also auch Texte die aus LocalLang-Dateien oder Templates kommen.&lt;br /&gt;
&lt;br /&gt;
Eine sehr einfache aber durchaus effektive Lösung dafür ist mal wieder ein wenig TypoScript:&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      plugin.tx_myplugin_pi1.searchError = RECORDS&lt;br /&gt;
   2.&lt;br /&gt;
      plugin.tx_myplugin_pi1.searchError {&lt;br /&gt;
   3.&lt;br /&gt;
      tables = tt_content&lt;br /&gt;
   4.&lt;br /&gt;
      source = 123&lt;br /&gt;
   5.&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
Jetzt noch das ContentElement mit der UID 123 im Seitenbaum anlegen und folgenden PHP Code in der Extension verwenden:&lt;br /&gt;
&lt;br /&gt;
   1.&lt;br /&gt;
      $marker[&amp;#039;###ERR_SEARCH###&amp;#039;] = $this-&amp;gt;cObj-&amp;gt;cObjGetSingle(&lt;br /&gt;
   2.&lt;br /&gt;
      $this-&amp;gt;conf[&amp;#039;searchError&amp;#039;],&lt;br /&gt;
   3.&lt;br /&gt;
      $this-&amp;gt;conf[&amp;#039;searchError.&amp;#039;]&lt;br /&gt;
   4.&lt;br /&gt;
      );&lt;br /&gt;
&lt;br /&gt;
Das war es schon, jetzt enthält der Marker ###ERR_SEARCH### den Content, den der Kunde selbst eingepflegt hat. Natürlich muss man kein RECORD nehmen, sondern kann auch alle anderen TS-Objekte wie TEXT oder IMAGE.&lt;br /&gt;
&lt;br /&gt;
== TYPO3 - CSS ==&lt;br /&gt;
CSS Beispiele und Schnipsel für Extensions und Standardelemente gibt es unter:&lt;br /&gt;
[[TYPO3 - CSS]]&lt;br /&gt;
&lt;br /&gt;
== Geschützter Login Bereich ==&lt;br /&gt;
&lt;br /&gt;
Früher schön mit der New Login Box. Diese ist ab 4.3 integriert.&lt;br /&gt;
&lt;br /&gt;
=== Weiterleitung nach Login ===&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress_-_Snippets&amp;diff=20264</id>
		<title>Wordpress - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress_-_Snippets&amp;diff=20264"/>
		<updated>2014-02-07T13:54:39Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Nach Login auf Homepage weiterleiten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nach Login auf Homepage weiterleiten ==&lt;br /&gt;
Es gibt ein paar Plugins dazu. Prinzipiell kann man einfach eine action ins Theme nehmen.&lt;br /&gt;
&lt;br /&gt;
In die &amp;#039;&amp;#039;&amp;#039;function.php&amp;#039;&amp;#039;&amp;#039; des Themes einfügen (z.b. einfach ganz oben nach dem &amp;lt;?php ):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* redirect users to front page after login */&lt;br /&gt;
function redirect_to_front_page() {&lt;br /&gt;
	global $redirect_to;&lt;br /&gt;
	if (!isset($_GET[&amp;#039;redirect_to&amp;#039;])) {&lt;br /&gt;
		$redirect_to = get_option(&amp;#039;siteurl&amp;#039;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
add_action(&amp;#039;login_form&amp;#039;, &amp;#039;redirect_to_front_page&amp;#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress_-_Snippets&amp;diff=20263</id>
		<title>Wordpress - Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress_-_Snippets&amp;diff=20263"/>
		<updated>2014-02-07T13:53:57Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: Die Seite wurde neu angelegt: „== Nach Login auf Homepage weiterleiten == Es gibt ein paar Plugins dazu. Prinzipiell kann man einfach eine action ins Theme nehmen.  In die &amp;#039;&amp;#039;&amp;#039;function.php&amp;#039;&amp;#039;&amp;#039; de…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Nach Login auf Homepage weiterleiten ==&lt;br /&gt;
Es gibt ein paar Plugins dazu. Prinzipiell kann man einfach eine action ins Theme nehmen.&lt;br /&gt;
&lt;br /&gt;
In die &amp;#039;&amp;#039;&amp;#039;function.php&amp;#039;&amp;#039;&amp;#039; des Themes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* redirect users to front page after login */&lt;br /&gt;
function redirect_to_front_page() {&lt;br /&gt;
	global $redirect_to;&lt;br /&gt;
	if (!isset($_GET[&amp;#039;redirect_to&amp;#039;])) {&lt;br /&gt;
		$redirect_to = get_option(&amp;#039;siteurl&amp;#039;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
add_action(&amp;#039;login_form&amp;#039;, &amp;#039;redirect_to_front_page&amp;#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress&amp;diff=20262</id>
		<title>Wordpress</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress&amp;diff=20262"/>
		<updated>2014-02-07T13:52:21Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wordpress ist ein Blog System auf Basis von mySQL und PHP. Hier finden sich einige Tipps zu Arbeit mit Wordpress.&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Editor anpassen]]&lt;br /&gt;
&lt;br /&gt;
[[Wordpress MU auf dem Mac installieren]]&lt;br /&gt;
Installation über Terminal auf XAMPP inkl. Buddypress&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Templates]]&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Plugins]]&lt;br /&gt;
&lt;br /&gt;
[[Wordpress - Snippets]]&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress_Templates_mit_Underscores_erstellen&amp;diff=20261</id>
		<title>Wordpress Templates mit Underscores erstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress_Templates_mit_Underscores_erstellen&amp;diff=20261"/>
		<updated>2014-02-05T09:12:48Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: Die Seite wurde neu angelegt: „2014-01  http://underscores.me/  http://notebook.gaslampmedia.com/adding-960-grid-system-960-gs-to-underscores-wordpress-theme/ (2014-01)  * Dort ein Template gen…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2014-01&lt;br /&gt;
&lt;br /&gt;
http://underscores.me/&lt;br /&gt;
&lt;br /&gt;
http://notebook.gaslampmedia.com/adding-960-grid-system-960-gs-to-underscores-wordpress-theme/ (2014-01)&lt;br /&gt;
&lt;br /&gt;
* Dort ein Template generieren&lt;br /&gt;
* 960gs hinzufügen:&lt;br /&gt;
&lt;br /&gt;
=== Auszug aus gaslampmedia.com Tutorial ===&lt;br /&gt;
The Underscores WordPress Theme (aka “_s”) is a great starter theme for anyone know who knows their way around markup and CSS. However, it doesn’t come with our favorite layout tool, the 960 grid system.&lt;br /&gt;
&lt;br /&gt;
This tutorial shows you how to add 960gs to your WordPress theme in just a few minutes. This is not a tutorial on how to use the 960 grid system, only how to implement it into a WordPress theme. You’ll need at least a copy of WordPress installed (version 3.5.x as of this writing) and a fresh Underscores theme.&lt;br /&gt;
Install Underscores&lt;br /&gt;
&lt;br /&gt;
Go to http://underscores.me, generate a theme, and upload it to wp-content/themes.&lt;br /&gt;
Copy 960.css file to your theme folder&lt;br /&gt;
&lt;br /&gt;
Download the 960 grid system files from http://960.gs. Extract the files anywhere on your computer.&lt;br /&gt;
&lt;br /&gt;
The only file you need is the minified 960.css file at “core/css/min/960.css“.&lt;br /&gt;
Note If you’re really trying to save space, you can upload just the minified versions of the columns structure you need (960_12_col.css, 960_16_col.css, or 960_24_col.css). However, 960.css contains all 3 versions, so that will cover nearly all use cases.&lt;br /&gt;
&lt;br /&gt;
Upload 960.css to your themes folder. It should be in the same folder as style.css.&lt;br /&gt;
Add 960.css to your theme&lt;br /&gt;
&lt;br /&gt;
Now that it’s in your theme, you have to tell WordPress to use it.&lt;br /&gt;
&lt;br /&gt;
The proper way is to edit your functions.php file and use the “wp_enqueue_style“. This makes it available to caching and minifying plugins like W3 Total Cache.&lt;br /&gt;
&lt;br /&gt;
At approximately line 126 of a fresh Underscores theme’s functions.php, you’ll find “function mytheme_scripts()”. Add a line at the top of the function to include 960.css:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function mytheme_scripts() {&lt;br /&gt;
	wp_enqueue_style( &amp;#039;mytheme-960&amp;#039;, get_template_directory_uri() . &amp;#039;/960.css&amp;#039; );&lt;br /&gt;
...&lt;br /&gt;
}&lt;br /&gt;
add_action( &amp;#039;wp_enqueue_scripts&amp;#039;, &amp;#039;mytheme_scripts&amp;#039; );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
“mytheme” should be the name of the theme you generated earlier.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you could include it from your style.css file:&lt;br /&gt;
&lt;br /&gt;
 @import url(&amp;quot;960.css&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Apply 960 Container classes&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Underscores has three 3 main sections in the body. These are where you need to add the container classes. Use your choice of “container_12“, “container_16“, or “container_24” depending on your design.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;header.php:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;header id=&amp;quot;masthead&amp;quot; class=&amp;quot;site-header container_16&amp;quot; role=&amp;quot;banner&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;main&amp;quot; class=&amp;quot;site-main container_16&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;footer.php:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;footer id=&amp;quot;colophon&amp;quot; class=&amp;quot;site-footer container_16&amp;quot; role=&amp;quot;contentinfo&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
What you should see at this point is all of your content in a 960px box, centered on the page.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Apply Grid Classes&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Every WordPress theme will be different. I suggest applying classes on at least the following:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;header.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
First children of the &amp;lt;header&amp;gt; tag, such as &amp;lt;hgroup&amp;gt; and &amp;lt;nav&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All instances of &amp;lt;div id=”primary”&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    index.php&lt;br /&gt;
    404.php&lt;br /&gt;
    image.php&lt;br /&gt;
    index.php&lt;br /&gt;
    page.php&lt;br /&gt;
    single.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
sidebar.php&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;div id=”secondary” role=”complementary”&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;footer.php&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
First children of &amp;lt;footer&amp;gt; tag, such as &amp;lt;div class=”site-info”&amp;gt;&lt;br /&gt;
This tutorial was written specifically for Underscores due to the popularity of the theme. The same general procedure can be applied to any existing WordPress theme. The key strategies are adding the 960.css file, including it in the theme, and applying “container_” and “grid_” classes to key layout elements.&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wordpress_-_Templates&amp;diff=20260</id>
		<title>Wordpress - Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wordpress_-_Templates&amp;diff=20260"/>
		<updated>2014-02-05T09:09:16Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Links ==&lt;br /&gt;
* http://codex.wordpress.org/Template_Tags&lt;br /&gt;
&lt;br /&gt;
== Template Tools ==&lt;br /&gt;
Template Starter : http://underscores.me/&lt;br /&gt;
 &lt;br /&gt;
[[Wordpress Templates mit Underscores erstellen]]&lt;br /&gt;
&lt;br /&gt;
== Snippets ==&lt;br /&gt;
=== Kommentare einschränken ===&lt;br /&gt;
* Nur 1 Kommentar für jeden Post und Tag, außer für User höherer Level.&lt;br /&gt;
&lt;br /&gt;
/wp-content/themes/myTheme/comments.php&lt;br /&gt;
&lt;br /&gt;
 comment_form();&lt;br /&gt;
ersetzen durch folgenden Code (siehe auskommentierte Teile für zusätzliche Funktionalität):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
global $wpdb, $current_user;&lt;br /&gt;
$limit = 1;&lt;br /&gt;
//this is limit per day per user&lt;br /&gt;
$minUserLevel = 6;&lt;br /&gt;
// no limit for users above this level&lt;br /&gt;
$myUser_level = 0;&lt;br /&gt;
$myUser_level = intval($current_user -&amp;gt; user_level);&lt;br /&gt;
$myUser_login = $current_user -&amp;gt; user_login;&lt;br /&gt;
$myUser_id = $current_user -&amp;gt; ID;&lt;br /&gt;
$myComment_id = get_comment_ID();&lt;br /&gt;
$myComment_post_id = get_the_ID();&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;user id: &amp;quot; . $myUser_id . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;comment id: &amp;quot; . $myComment_id . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;comment post id: &amp;quot; . $myComment_post_id . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;user level: &amp;quot; . $myUser_level . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
echo(&amp;quot;&amp;lt;div&amp;gt;min user level: &amp;quot; . $minUserLevel . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
*/&lt;br /&gt;
$comment_count = $wpdb -&amp;gt; get_var($wpdb -&amp;gt; prepare(&amp;quot;&lt;br /&gt;
        SELECT count(*)&lt;br /&gt;
        FROM kas_wp_comments &lt;br /&gt;
        WHERE user_id = &amp;#039;%d&amp;#039; AND comment_parent = &amp;#039;0&amp;#039; AND comment_post_ID = &amp;#039;%d&amp;#039;&lt;br /&gt;
        ;&amp;quot;, $myUser_id, $myComment_post_id));&lt;br /&gt;
&lt;br /&gt;
/*	$comment_count = $wpdb -&amp;gt; get_var($wpdb -&amp;gt; prepare(&amp;quot;&lt;br /&gt;
 SELECT count(*)&lt;br /&gt;
 FROM kas_wp_comments&lt;br /&gt;
 WHERE user_id = &amp;#039;%d&amp;#039; AND comment_parent = 0 AND comment_post_ID = &amp;#039;%d&amp;#039;&lt;br /&gt;
 AND comment_date &amp;gt;= DATE_SUB(NOW(),INTERVAL 1 DAY);&amp;quot;, $myUser_id,$myComment_post_id));&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
//echo(&amp;quot;&amp;lt;div&amp;gt;Beitr&amp;amp;auml;ge zum Thema: &amp;quot; . $comment_count . &amp;quot;/&amp;quot; . $limit . &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$level_ok = 0;&lt;br /&gt;
$limit_ok = 0;&lt;br /&gt;
if ($comment_count &amp;lt; $limit) {&lt;br /&gt;
	$limit_ok = 1;&lt;br /&gt;
//	echo &amp;quot;&amp;lt;div&amp;gt;limit_ok&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ($myUser_level &amp;gt; $minUserLevel) {&lt;br /&gt;
	$level_ok = 1;&lt;br /&gt;
//	echo &amp;quot;&amp;lt;div&amp;gt;level_ok&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ($level_ok || $limit_ok) {&lt;br /&gt;
	comment_form();&lt;br /&gt;
} else {&lt;br /&gt;
	//echo &amp;#039;Sie haben die maximale Anzahl von Fragen (&amp;#039;.$limit.&amp;#039;) gestellt. Sie k&amp;amp;ouml;nnen weiterhin auf gestellte Fragen antworten.&amp;#039;;&lt;br /&gt;
	echo(&amp;#039;&amp;lt;div class=&amp;quot;invisible&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&amp;#039;);&lt;br /&gt;
	comment_form();&lt;br /&gt;
	echo(&amp;#039;&amp;lt;/div&amp;gt;&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Backend_anpassen&amp;diff=20259</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=20259"/>
		<updated>2014-01-31T16:58:29Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Kurzbeschreibung */&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;
# Ordner für Backend Layout Datensatz erstellen&lt;br /&gt;
# 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.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Backend_anpassen&amp;diff=20258</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=20258"/>
		<updated>2014-01-31T16:58:17Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Kurzbeschreibung */&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;
# 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.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Spr%C3%BCche&amp;diff=20256</id>
		<title>Sprüche</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spr%C3%BCche&amp;diff=20256"/>
		<updated>2014-01-26T21:08:39Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* IT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch [[Witze]]&lt;br /&gt;
&lt;br /&gt;
Eine Sammlung mit Sprüchen aus Foren etc.&lt;br /&gt;
&lt;br /&gt;
== IT ==&lt;br /&gt;
=== Anwälte ===&lt;br /&gt;
Erst wenn der letzte Programmierer eingesperrt und die letzte Idee patentiert ist, werdet ihr merken, dass Anwälte nicht programmieren können.&lt;br /&gt;
=== Senioren ===&lt;br /&gt;
Ständig verschwinden Senioren spurlos im Internet, weil sie &amp;#039;Alt&amp;#039; und &amp;#039;Entfernen&amp;#039; gleichzeitig drücken ...&lt;br /&gt;
=== Deutsche Rechtschreibung ist Freeware ===&lt;br /&gt;
Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen. Klar soweit?&lt;br /&gt;
&lt;br /&gt;
== Gesellschaft ==&lt;br /&gt;
&lt;br /&gt;
===Tatsachen und Meinungen===&lt;br /&gt;
Es wird darum gebeten, Tatsachen zu unterdrücken, um die Meinungen nicht zu stören &lt;br /&gt;
(Marco Travaglio)&lt;br /&gt;
&lt;br /&gt;
===Versklavt oder frei===&lt;br /&gt;
Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. [J. W. Goethe]&lt;br /&gt;
&lt;br /&gt;
===Tinnitus in den Augen===&lt;br /&gt;
Ich habe Tinnitus in den Augen - ich sehe nur Pfeifen!&lt;br /&gt;
&lt;br /&gt;
===Sommer und Winter===&lt;br /&gt;
»Sommer ist die Zeit, in der es zu heiß ist, um das zu tun, wozu es im Winter zu kalt war.«&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Morgens zerknittert===&lt;br /&gt;
Wenn du morgens zerknittert aufstehst hast du den ganzen Tag Zeit dich zu entfalten.&lt;br /&gt;
&lt;br /&gt;
== Technik ==&lt;br /&gt;
Am Öl kanns nicht liegen - war ja keins drin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sonstiges ==&lt;br /&gt;
=== 2 Planeten ===&lt;br /&gt;
Treffen sich zwei Planeten:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Na, wie gehts dir?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Uuhh, schlecht. Ich hab&amp;#039; Homo Sapiens&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Keine Angst, das geht vorbei&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Umwege ===&lt;br /&gt;
Umwege erhöhen die Ortskenntnis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schulsprüche==&lt;br /&gt;
&lt;br /&gt;
===Ferien===&lt;br /&gt;
&lt;br /&gt;
In den Ferien ist was los,&lt;br /&gt;
die Schüler findens ganz famos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Auch das Leben auf dem Land&lt;br /&gt;
ist für den Schüler interesant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Witzige Sprüche==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der größte Feind des Menschen wohl, das ist und bleibt der Alkohol. Doch in der Bibel steht geschrieben: &amp;quot;Du sollst auch deine Feinde lieben.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Im Himmel gibts kein Bier, drum trinken wir es hier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Ein kleines Schaf hüpft übern Zaun, wünscht dir einen süßen Traum. Schöne Träume, Gute Nacht bis das &lt;br /&gt;
Morgenlicht erwacht!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Der Alkohol macht die Birne hohl! Ist die Birne hohl, hast mehr Platz für Alkohol!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Kunden, die unser Personal unverschämt finden, sollten esrst mal dem Chef begegnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Du bist für mich süßer als Pralinen,heißer als der Wüstensand,prickelnder als Champagner, sinnlicher als ein Kuss,aber leider gerade unerreichbar wie ein Stern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Ich werde für dich die Sterne klauen und ein neues Sternbild bauen. Wenn du es siehst, denk an mich, weil am Himmel steht, ich liebe nur dich!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Reiß nie das Band der Freundschaft im Streit zu schnell entzwei - wird es auch neu gebunden, ein Knoten bleibt stets dabei.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Du bist schuld das ich rückwärts laufen muss. Du hast mir den Kopf verdreht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Verschiedene Witz-Sprüche==&lt;br /&gt;
----&lt;br /&gt;
1 Wenn der Krieg ausbricht, war der Frieden offenbar ein Gefängnis.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
2 Liebe fängt dort an,wo keine Gegenleistungen mehr erwartet werden!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
3 Genieße das Leben ständig,denn du bist länger tot als lebendig!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
4 Nur die harten komm in Garten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
5 Das Reh springt hoch, das Reh springt weit, wieso auch nicht es hat ja Zeit.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
6 Träume Dein Leben, bis du aufwachst. Dann beschwere Dich bei dem, der Dich geweckt hat.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
7 Letztes Jahr habe ich eine Weltreise gemacht, dieses Jahr fahre ich mal woanders hin.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
8 Heute ist der Tag um glücklich zu sein! Gestern: Schon vorbei. Morgen: Kommt erst noch.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
9 Je mehr Ecken und Kanten ein Diamant hat, um so mehr funkelt und strahlt der Stein.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
10 Bereue nie was du getan hast wenn du es zum Zeitpunkt des Geschehens auch wolltest.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
11 Mich kriegt ihr nicht, ich bin frei wie der Wind.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
12 &amp;quot;Leben heißt Veränderung!&amp;quot;, sagte der Stein zur Blume und flog davon.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
13 Wenn du auf der Schattenseite der Welt bist, denke daran: Die Erde dreht sich.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
14 Wer das liest kann lesen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
15 Ein Kompromiss ist die Kunst, einen Kuchen so zu teilen, dass alle meinen, sie hätten das größte Stück bekommen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
16 Mein Bett und ich, wir lieben uns, nur der Wecker will es nicht akzeptieren.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
17 Es kommt nie so, wie man denkt. Es kommt so, wie man nie gedacht hat.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
18 Das Leben ist wie ein Puzzle. Du musst es nur zusammensetzen, damit etwas daraus wird.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
19 Das Gesicht ist der Spiegel unserer Persönlichkeit.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
20 Auch im Alphabet kommt Anstrengung vor Erfolg.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
21 Der Mut ist wie ein Regenschirm. Wenn man ihn am dringendsten braucht, fehlt er einem.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
22 Pessimisten stehen im Regen. Optimisten duschen unter den Wolken.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
23 Du kannst gegen Wellen ankämpfen oder dich von ihnen in die Zukunft tragen lassen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
24 Manchmal denkt man, es ist stark festzuhalten. Doch es ist das Loslassen, das die wahre Stärke zeigt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
25 Ein Lächeln kostet nichts, aber es ist viel Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
26 Schuhe verändern dein Leben. Frag Cinderella.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
27 Man kann nicht in die Zukunft schauen, wenn die Augen noch voller Tränen der Vergangenheit sind.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
28 Wenn einem das Wasser bis zum Halse steht, sollte man nicht auch noch den Kopf hängen lassen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
29 Vorhersagen sind schwierig. Vor allem, wenn sie sich auf die Zukunft beziehen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
30 Reden ist Silber, Ausreden sind Gold!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
31 Vertrauen wird oft dadurch erschöpft, dass es in Anspruch genommen wird.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
32 Ein Pessimist ist ein Mensch, der sich über schlechte Erfahrungen freut, weil sie ihm recht geben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Spr%C3%BCche&amp;diff=20255</id>
		<title>Sprüche</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spr%C3%BCche&amp;diff=20255"/>
		<updated>2014-01-26T21:07:34Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Verschidene witz Sprüche */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe auch [[Witze]]&lt;br /&gt;
&lt;br /&gt;
Eine Sammlung mit Sprüchen aus Foren etc.&lt;br /&gt;
&lt;br /&gt;
== IT ==&lt;br /&gt;
&lt;br /&gt;
Erst wenn der letzte Programmierer eingesperrt und die letzte Idee patentiert ist, werdet ihr merken, dass Anwälte nicht programmieren können.&lt;br /&gt;
&lt;br /&gt;
Ständig verschwinden Senioren spurlos im Internet, weil sie &amp;#039;Alt&amp;#039; und &amp;#039;Entfernen&amp;#039; gleichzeitig drücken ...&lt;br /&gt;
&lt;br /&gt;
== Gesellschaft ==&lt;br /&gt;
&lt;br /&gt;
===Tatsachen und Meinungen===&lt;br /&gt;
Es wird darum gebeten, Tatsachen zu unterdrücken, um die Meinungen nicht zu stören &lt;br /&gt;
(Marco Travaglio)&lt;br /&gt;
&lt;br /&gt;
===Versklavt oder frei===&lt;br /&gt;
Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. [J. W. Goethe]&lt;br /&gt;
&lt;br /&gt;
===Tinnitus in den Augen===&lt;br /&gt;
Ich habe Tinnitus in den Augen - ich sehe nur Pfeifen!&lt;br /&gt;
&lt;br /&gt;
===Sommer und Winter===&lt;br /&gt;
»Sommer ist die Zeit, in der es zu heiß ist, um das zu tun, wozu es im Winter zu kalt war.«&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Morgens zerknittert===&lt;br /&gt;
Wenn du morgens zerknittert aufstehst hast du den ganzen Tag Zeit dich zu entfalten.&lt;br /&gt;
&lt;br /&gt;
== Technik ==&lt;br /&gt;
Am Öl kanns nicht liegen - war ja keins drin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sonstiges ==&lt;br /&gt;
=== 2 Planeten ===&lt;br /&gt;
Treffen sich zwei Planeten:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Na, wie gehts dir?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Uuhh, schlecht. Ich hab&amp;#039; Homo Sapiens&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Keine Angst, das geht vorbei&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Umwege ===&lt;br /&gt;
Umwege erhöhen die Ortskenntnis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schulsprüche==&lt;br /&gt;
&lt;br /&gt;
===Ferien===&lt;br /&gt;
&lt;br /&gt;
In den Ferien ist was los,&lt;br /&gt;
die Schüler findens ganz famos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Auch das Leben auf dem Land&lt;br /&gt;
ist für den Schüler interesant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Witzige Sprüche==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der größte Feind des Menschen wohl, das ist und bleibt der Alkohol. Doch in der Bibel steht geschrieben: &amp;quot;Du sollst auch deine Feinde lieben.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Im Himmel gibts kein Bier, drum trinken wir es hier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Ein kleines Schaf hüpft übern Zaun, wünscht dir einen süßen Traum. Schöne Träume, Gute Nacht bis das &lt;br /&gt;
Morgenlicht erwacht!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Der Alkohol macht die Birne hohl! Ist die Birne hohl, hast mehr Platz für Alkohol!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Kunden, die unser Personal unverschämt finden, sollten esrst mal dem Chef begegnen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Du bist für mich süßer als Pralinen,heißer als der Wüstensand,prickelnder als Champagner, sinnlicher als ein Kuss,aber leider gerade unerreichbar wie ein Stern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Ich werde für dich die Sterne klauen und ein neues Sternbild bauen. Wenn du es siehst, denk an mich, weil am Himmel steht, ich liebe nur dich!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Reiß nie das Band der Freundschaft im Streit zu schnell entzwei - wird es auch neu gebunden, ein Knoten bleibt stets dabei.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Du bist schuld das ich rückwärts laufen muss. Du hast mir den Kopf verdreht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Verschiedene Witz-Sprüche==&lt;br /&gt;
----&lt;br /&gt;
1 Wenn der Krieg ausbricht, war der Frieden offenbar ein Gefängnis.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
2 Liebe fängt dort an,wo keine Gegenleistungen mehr erwartet werden!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
3 Genieße das Leben ständig,denn du bist länger tot als lebendig!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
4 Nur die harten komm in Garten.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
5 Das Reh springt hoch, das Reh springt weit, wieso auch nicht es hat ja Zeit.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
6 Träume Dein Leben, bis du aufwachst. Dann beschwere Dich bei dem, der Dich geweckt hat.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
7 Letztes Jahr habe ich eine Weltreise gemacht, dieses Jahr fahre ich mal woanders hin.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
8 Heute ist der Tag um glücklich zu sein! Gestern: Schon vorbei. Morgen: Kommt erst noch.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
9 Je mehr Ecken und Kanten ein Diamant hat, um so mehr funkelt und strahlt der Stein.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
10 Bereue nie was du getan hast wenn du es zum Zeitpunkt des Geschehens auch wolltest.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
11 Mich kriegt ihr nicht, ich bin frei wie der Wind.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
12 &amp;quot;Leben heißt Veränderung!&amp;quot;, sagte der Stein zur Blume und flog davon.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
13 Wenn du auf der Schattenseite der Welt bist, denke daran: Die Erde dreht sich.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
14 Wer das liest kann lesen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
15 Ein Kompromiss ist die Kunst, einen Kuchen so zu teilen, dass alle meinen, sie hätten das größte Stück bekommen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
16 Mein Bett und ich, wir lieben uns, nur der Wecker will es nicht akzeptieren.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
17 Es kommt nie so, wie man denkt. Es kommt so, wie man nie gedacht hat.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
18 Das Leben ist wie ein Puzzle. Du musst es nur zusammensetzen, damit etwas daraus wird.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
19 Das Gesicht ist der Spiegel unserer Persönlichkeit.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
20 Auch im Alphabet kommt Anstrengung vor Erfolg.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
21 Der Mut ist wie ein Regenschirm. Wenn man ihn am dringendsten braucht, fehlt er einem.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
22 Pessimisten stehen im Regen. Optimisten duschen unter den Wolken.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
23 Du kannst gegen Wellen ankämpfen oder dich von ihnen in die Zukunft tragen lassen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
24 Manchmal denkt man, es ist stark festzuhalten. Doch es ist das Loslassen, das die wahre Stärke zeigt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
25 Ein Lächeln kostet nichts, aber es ist viel Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
26 Schuhe verändern dein Leben. Frag Cinderella.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
27 Man kann nicht in die Zukunft schauen, wenn die Augen noch voller Tränen der Vergangenheit sind.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
28 Wenn einem das Wasser bis zum Halse steht, sollte man nicht auch noch den Kopf hängen lassen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
29 Vorhersagen sind schwierig. Vor allem, wenn sie sich auf die Zukunft beziehen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
30 Reden ist Silber, Ausreden sind Gold!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
31 Vertrauen wird oft dadurch erschöpft, dass es in Anspruch genommen wird.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
32 Ein Pessimist ist ein Mensch, der sich über schlechte Erfahrungen freut, weil sie ihm recht geben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Mac_-_Tipps_und_Tricks&amp;diff=20254</id>
		<title>Mac - Tipps und Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Mac_-_Tipps_und_Tricks&amp;diff=20254"/>
		<updated>2014-01-26T13:50:46Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Prozesse und System */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tools ==&lt;br /&gt;
=== Screenshots erstellen ===&lt;br /&gt;
&lt;br /&gt;
 Command-Shift-3 -&amp;gt; Desktop Foto&lt;br /&gt;
 Command-Shift-4 -&amp;gt; Bereich auswählen und fotografieren&lt;br /&gt;
 Command-Shift-4 danach Space -&amp;gt; App Window fotografieren&lt;br /&gt;
 + Control -&amp;gt; speichert das Foto in einem beliebigen Ordner&lt;br /&gt;
&lt;br /&gt;
Außerdem ist die App &amp;#039;&amp;#039;&amp;#039;Bildschirmfoto&amp;#039;&amp;#039;&amp;#039; (Grab) mit an Bord&lt;br /&gt;
&lt;br /&gt;
=== Dictionary ===&lt;br /&gt;
Cursor über Text und Command + Control + D&lt;br /&gt;
&lt;br /&gt;
== Sonderzeichen ==&lt;br /&gt;
f you need to type a special character, the easiest way is to hold down the letter and a character menu will pop up.&lt;br /&gt;
&lt;br /&gt;
== Nützliche Shortcuts ==&lt;br /&gt;
Grundsätzlich viel was auf Windows mit STRG + Taste geht, geht auf dem Mac mit Apfel (CMD) + Taste&lt;br /&gt;
&lt;br /&gt;
 Command + Shift + V to paste text without formatting.&lt;br /&gt;
 Command + Entfernen -&amp;gt; Löschen statt Papierkorb&lt;br /&gt;
 Command + Option + Control + 8 -&amp;gt; Invertierte Farben (geht bei mir auf Maverick nicht)&lt;br /&gt;
&lt;br /&gt;
== Prozesse und System ==&lt;br /&gt;
=== Schnell mal Speicher frei machen wenn der Rechner langsam wird===&lt;br /&gt;
&lt;br /&gt;
Terminal eingeben:&lt;br /&gt;
 purge&lt;br /&gt;
=== Schnell zwischen Audiodevices umschalten ===&lt;br /&gt;
Option + Klick auf Lautsprechersymbol&lt;br /&gt;
&lt;br /&gt;
=== Lautstärke und Helligkeit ===&lt;br /&gt;
FineTuning&lt;br /&gt;
 Shift + Alt + Lautstärke/Helligkeit&lt;br /&gt;
Kein Restart Sound&lt;br /&gt;
 Beim Restart Mute Knopf drücken&lt;br /&gt;
Kein Geräusch beim Lautstärke verändern&lt;br /&gt;
 + Shift&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Mac_-_Tipps_und_Tricks&amp;diff=20253</id>
		<title>Mac - Tipps und Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Mac_-_Tipps_und_Tricks&amp;diff=20253"/>
		<updated>2014-01-26T12:45:57Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Prozesse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tools ==&lt;br /&gt;
=== Screenshots erstellen ===&lt;br /&gt;
&lt;br /&gt;
 Command-Shift-3 -&amp;gt; Desktop Foto&lt;br /&gt;
 Command-Shift-4 -&amp;gt; Bereich auswählen und fotografieren&lt;br /&gt;
 Command-Shift-4 danach Space -&amp;gt; App Window fotografieren&lt;br /&gt;
 + Control -&amp;gt; speichert das Foto in einem beliebigen Ordner&lt;br /&gt;
&lt;br /&gt;
Außerdem ist die App &amp;#039;&amp;#039;&amp;#039;Bildschirmfoto&amp;#039;&amp;#039;&amp;#039; (Grab) mit an Bord&lt;br /&gt;
&lt;br /&gt;
=== Dictionary ===&lt;br /&gt;
Cursor über Text und Command + Control + D&lt;br /&gt;
&lt;br /&gt;
== Sonderzeichen ==&lt;br /&gt;
f you need to type a special character, the easiest way is to hold down the letter and a character menu will pop up.&lt;br /&gt;
&lt;br /&gt;
== Nützliche Shortcuts ==&lt;br /&gt;
Grundsätzlich viel was auf Windows mit STRG + Taste geht, geht auf dem Mac mit Apfel (CMD) + Taste&lt;br /&gt;
&lt;br /&gt;
 Command + Shift + V to paste text without formatting.&lt;br /&gt;
 Command + Entfernen -&amp;gt; Löschen statt Papierkorb&lt;br /&gt;
 Command + Option + Control + 8 -&amp;gt; Invertierte Farben (geht bei mir auf Maverick nicht)&lt;br /&gt;
&lt;br /&gt;
== Prozesse und System ==&lt;br /&gt;
=== Schnell mal Speicher frei machen wenn der Rechner langsam wird===&lt;br /&gt;
&lt;br /&gt;
Terminal eingeben:&lt;br /&gt;
 purge&lt;br /&gt;
=== Schnell zwischen Audiodevices umschalten ===&lt;br /&gt;
Option + Klick auf Lautsprechersymbol&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Mac_-_Tipps_und_Tricks&amp;diff=20252</id>
		<title>Mac - Tipps und Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Mac_-_Tipps_und_Tricks&amp;diff=20252"/>
		<updated>2014-01-26T12:43:17Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tools ==&lt;br /&gt;
=== Screenshots erstellen ===&lt;br /&gt;
&lt;br /&gt;
 Command-Shift-3 -&amp;gt; Desktop Foto&lt;br /&gt;
 Command-Shift-4 -&amp;gt; Bereich auswählen und fotografieren&lt;br /&gt;
 Command-Shift-4 danach Space -&amp;gt; App Window fotografieren&lt;br /&gt;
 + Control -&amp;gt; speichert das Foto in einem beliebigen Ordner&lt;br /&gt;
&lt;br /&gt;
Außerdem ist die App &amp;#039;&amp;#039;&amp;#039;Bildschirmfoto&amp;#039;&amp;#039;&amp;#039; (Grab) mit an Bord&lt;br /&gt;
&lt;br /&gt;
=== Dictionary ===&lt;br /&gt;
Cursor über Text und Command + Control + D&lt;br /&gt;
&lt;br /&gt;
== Sonderzeichen ==&lt;br /&gt;
f you need to type a special character, the easiest way is to hold down the letter and a character menu will pop up.&lt;br /&gt;
&lt;br /&gt;
== Nützliche Shortcuts ==&lt;br /&gt;
Grundsätzlich viel was auf Windows mit STRG + Taste geht, geht auf dem Mac mit Apfel (CMD) + Taste&lt;br /&gt;
&lt;br /&gt;
 Command + Shift + V to paste text without formatting.&lt;br /&gt;
 Command + Entfernen -&amp;gt; Löschen statt Papierkorb&lt;br /&gt;
 Command + Option + Control + 8 -&amp;gt; Invertierte Farben (geht bei mir auf Maverick nicht)&lt;br /&gt;
&lt;br /&gt;
== Prozesse ==&lt;br /&gt;
Schnell mal Speicher frei machen wenn der Rechner langsam wird&lt;br /&gt;
&lt;br /&gt;
Terminal eingeben:&lt;br /&gt;
 purge&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Mac_-_Tipps_und_Tricks&amp;diff=20251</id>
		<title>Mac - Tipps und Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Mac_-_Tipps_und_Tricks&amp;diff=20251"/>
		<updated>2014-01-26T12:42:33Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Nützliche Shortcuts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Tools ==&lt;br /&gt;
=== Screenshots erstellen ===&lt;br /&gt;
&lt;br /&gt;
 Command-Shift-3 -&amp;gt; Desktop Foto&lt;br /&gt;
 Command-Shift-4 -&amp;gt; Bereich auswählen und fotografieren&lt;br /&gt;
 Command-Shift-4 danach Space -&amp;gt; App Window fotografieren&lt;br /&gt;
 + Control -&amp;gt; speichert das Foto in einem beliebigen Ordner&lt;br /&gt;
&lt;br /&gt;
Außerdem ist die App &amp;#039;&amp;#039;&amp;#039;Bildschirmfoto&amp;#039;&amp;#039;&amp;#039; (Grab) mit an Bord&lt;br /&gt;
&lt;br /&gt;
=== Dictionary ===&lt;br /&gt;
Cursor über Text und Command + Control + D&lt;br /&gt;
&lt;br /&gt;
== Sonderzeichen ==&lt;br /&gt;
f you need to type a special character, the easiest way is to hold down the letter and a character menu will pop up.&lt;br /&gt;
&lt;br /&gt;
== Nützliche Shortcuts ==&lt;br /&gt;
Grundsätzlich viel was auf Windows mit STRG + Taste geht, geht auf dem Mac mit Apfel (CMD) + Taste&lt;br /&gt;
&lt;br /&gt;
 Command + Shift + V to paste text without formatting.&lt;br /&gt;
 Command + Entfernen -&amp;gt; Löschen statt Papierkorb&lt;br /&gt;
 Command + Option + Control + 8 -&amp;gt; Invertierte Farben (geht bei mir auf Maverick nicht)&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Mac_-_Tipps_und_Tricks&amp;diff=20250</id>
		<title>Mac - Tipps und Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Mac_-_Tipps_und_Tricks&amp;diff=20250"/>
		<updated>2014-01-26T12:41:19Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Tools ==&lt;br /&gt;
=== Screenshots erstellen ===&lt;br /&gt;
&lt;br /&gt;
 Command-Shift-3 -&amp;gt; Desktop Foto&lt;br /&gt;
 Command-Shift-4 -&amp;gt; Bereich auswählen und fotografieren&lt;br /&gt;
 Command-Shift-4 danach Space -&amp;gt; App Window fotografieren&lt;br /&gt;
 + Control -&amp;gt; speichert das Foto in einem beliebigen Ordner&lt;br /&gt;
&lt;br /&gt;
Außerdem ist die App &amp;#039;&amp;#039;&amp;#039;Bildschirmfoto&amp;#039;&amp;#039;&amp;#039; (Grab) mit an Bord&lt;br /&gt;
&lt;br /&gt;
=== Dictionary ===&lt;br /&gt;
Cursor über Text und Command + Control + D&lt;br /&gt;
&lt;br /&gt;
== Sonderzeichen ==&lt;br /&gt;
f you need to type a special character, the easiest way is to hold down the letter and a character menu will pop up.&lt;br /&gt;
&lt;br /&gt;
== Nützliche Shortcuts ==&lt;br /&gt;
Grundsätzlich viel was auf Windows mit STRG + Taste geht, geht auf dem Mac mit Apfel (CMD) + Taste&lt;br /&gt;
&lt;br /&gt;
 Command + Shift + V to paste text without formatting.&lt;br /&gt;
 Command + Entfernen -&amp;gt; Löschen statt Papierkorb&lt;br /&gt;
 Command + Option + Control + 8 -&amp;gt; Invertierte Farben&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Arduino_Snippets&amp;diff=20249</id>
		<title>Arduino Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Arduino_Snippets&amp;diff=20249"/>
		<updated>2014-01-25T08:23:41Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: Die Seite wurde neu angelegt: „Viele Beispiele finden sich direkt in der Arduino IDE“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Viele Beispiele finden sich direkt in der Arduino IDE&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Arduino_Programmieren&amp;diff=20248</id>
		<title>Arduino Programmieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Arduino_Programmieren&amp;diff=20248"/>
		<updated>2014-01-25T08:23:08Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
Beispiele http://arduino.cc/en/Tutorial/HomePage &lt;br /&gt;
&lt;br /&gt;
[[Arduino Snippets]]&lt;br /&gt;
&lt;br /&gt;
=== IDE ===&lt;br /&gt;
Standard ist die IDE von Arduino es lassen sich aber auch qt und andere Verwenden. Interessant ist qm von http://state-machine.com. Wenn es um fortgeschrittene Aufgaben dreht. &lt;br /&gt;
&lt;br /&gt;
==== Grafische Programmieroberflächen ====&lt;br /&gt;
Hier kann man sich Programme zusammenklicken.&lt;br /&gt;
&lt;br /&gt;
 Ardublock http://blog.ardublock.com/ arbeitet direkt aus Arduino heraus. Dürfte mehr oder weniger Standard sein.&lt;br /&gt;
 Minibloq http://blog.minibloq.org/ scheint weniger Mächtig im Moment (Anfang 2014) aber einfacher mit schlechten Englisch Kenntnissen.&lt;br /&gt;
 http://www.state-machine.com/ fortgeschrittenes Tool für professionellere Ansprüche und verschiedene Prozessoren (Event Model, C++ ...)&lt;br /&gt;
&lt;br /&gt;
==Basic Structure of a programm==&lt;br /&gt;
Der klassische Ansatz beim Arduino sind sequenzielle Programme mit ihren Vorteilen (einfachheit gute Nachvollziehbarkeit) und  Nachteilen (Problematisch wenn viele Events verarbeitet werden, Prozessorauslastung).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly: &lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Multitasking und Eventgesteuerte Programme ==&lt;br /&gt;
Damit ein modernerer Ansatz möglich ist gibt es einige Libraries. Damit ist Multitasking, bzw. Das reagieren auf Events einfacher und performanter. Hier eine kleine Liste: http://blog.ardublock.com/2013/10/29/evaluating-of-event-driven-libraries-on-arduino/&lt;br /&gt;
&lt;br /&gt;
Außerdem scheint in diesem Zusammenhang auch FreeRTOS ein interessantes Projekt zu sein. Es geht einen Schritt weiter und verfolgt den Anspruch eine Art Betriebssystem zu implementieren, von dem dann die Aufgaben verwaltet werden können. Zudem steht es für viele Mikrocontroller zur Verfügung und ist OpenSource. Allerdings brauchen die Programme durch das vorgeschaltene &amp;quot;OS&amp;quot; recht viel Speicherplatz. Also vielleicht eher was für größere Prozessoren und Projekte.&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Arduino_Programmieren&amp;diff=20247</id>
		<title>Arduino Programmieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Arduino_Programmieren&amp;diff=20247"/>
		<updated>2014-01-25T08:22:56Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
Beispiele http://arduino.cc/en/Tutorial/HomePage &lt;br /&gt;
[[Arduino Snippets]]&lt;br /&gt;
=== IDE ===&lt;br /&gt;
Standard ist die IDE von Arduino es lassen sich aber auch qt und andere Verwenden. Interessant ist qm von http://state-machine.com. Wenn es um fortgeschrittene Aufgaben dreht. &lt;br /&gt;
&lt;br /&gt;
==== Grafische Programmieroberflächen ====&lt;br /&gt;
Hier kann man sich Programme zusammenklicken.&lt;br /&gt;
&lt;br /&gt;
 Ardublock http://blog.ardublock.com/ arbeitet direkt aus Arduino heraus. Dürfte mehr oder weniger Standard sein.&lt;br /&gt;
 Minibloq http://blog.minibloq.org/ scheint weniger Mächtig im Moment (Anfang 2014) aber einfacher mit schlechten Englisch Kenntnissen.&lt;br /&gt;
 http://www.state-machine.com/ fortgeschrittenes Tool für professionellere Ansprüche und verschiedene Prozessoren (Event Model, C++ ...)&lt;br /&gt;
&lt;br /&gt;
==Basic Structure of a programm==&lt;br /&gt;
Der klassische Ansatz beim Arduino sind sequenzielle Programme mit ihren Vorteilen (einfachheit gute Nachvollziehbarkeit) und  Nachteilen (Problematisch wenn viele Events verarbeitet werden, Prozessorauslastung).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly: &lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Multitasking und Eventgesteuerte Programme ==&lt;br /&gt;
Damit ein modernerer Ansatz möglich ist gibt es einige Libraries. Damit ist Multitasking, bzw. Das reagieren auf Events einfacher und performanter. Hier eine kleine Liste: http://blog.ardublock.com/2013/10/29/evaluating-of-event-driven-libraries-on-arduino/&lt;br /&gt;
&lt;br /&gt;
Außerdem scheint in diesem Zusammenhang auch FreeRTOS ein interessantes Projekt zu sein. Es geht einen Schritt weiter und verfolgt den Anspruch eine Art Betriebssystem zu implementieren, von dem dann die Aufgaben verwaltet werden können. Zudem steht es für viele Mikrocontroller zur Verfügung und ist OpenSource. Allerdings brauchen die Programme durch das vorgeschaltene &amp;quot;OS&amp;quot; recht viel Speicherplatz. Also vielleicht eher was für größere Prozessoren und Projekte.&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Arduino&amp;diff=20246</id>
		<title>Arduino</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Arduino&amp;diff=20246"/>
		<updated>2014-01-25T08:21:54Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
Arduino Homepage: http://arduino.cc&lt;br /&gt;
&lt;br /&gt;
Fritzing Software, Links zu Anleitungen, Beispielprojekte, etc. http://fritzing.org&lt;br /&gt;
&lt;br /&gt;
Fritzing Creator Kit Beispiele: http://fritzing.org/creatorkit-code&lt;br /&gt;
&lt;br /&gt;
Graphical Arduino Programming with QM http://www.youtube.com/watch?v=OdX_-6f6-OY&lt;br /&gt;
&lt;br /&gt;
== Bezugsquellen ==&lt;br /&gt;
Gutes Starter Kit: http://www.fritzing.org&lt;br /&gt;
&lt;br /&gt;
==Programmieren==&lt;br /&gt;
[[Arduino Programmieren]]&lt;br /&gt;
&lt;br /&gt;
== Arduino Projekte ==&lt;br /&gt;
[[Arduino Projekte]]&lt;br /&gt;
&lt;br /&gt;
== Arduino Firmware Flashen  ==&lt;br /&gt;
[[Arduino Firmware]]&lt;br /&gt;
&lt;br /&gt;
== Processing ==&lt;br /&gt;
Programmiersprache gedacht für Installationen. Ist im Prinzip ein abgespecktes JAVA&lt;br /&gt;
[[Processing]]&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_Extensions_programmieren_-_Links&amp;diff=20245</id>
		<title>TYPO3 Extensions programmieren - Links</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_Extensions_programmieren_-_Links&amp;diff=20245"/>
		<updated>2014-01-24T17:02:27Z</updated>

		<summary type="html">&lt;p&gt;149.172.152.210: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links funktionen ==&lt;br /&gt;
=== Link auf Seite mit bestimmter ID ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;pi_linkToPage ($str, $id, $target=&amp;#039;&amp;#039;, $urlParameters=array())&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 // aktuelle Seite&lt;br /&gt;
 $content .= &amp;#039;&amp;lt;p&amp;gt;&amp;#039;.$this-&amp;gt;pi_linkToPage(&amp;#039;diese Seite neu aufrufen&amp;#039;,$GLOBALS[&amp;#039;TSFE&amp;#039;]-&amp;gt;id).&amp;#039;&amp;lt;/p&amp;gt;&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Link mit Post Vars und zusätzlichen Attributen (css-Klasse, title) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$linkText = &amp;quot;Mein Link&amp;quot;;&lt;br /&gt;
$myPageID = 123;&lt;br /&gt;
$myTarget = &amp;quot;_blank&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
$urlParamArray = array(&lt;br /&gt;
    &amp;#039;wert1&amp;#039; =&amp;gt; &amp;#039;test&amp;#039;,&lt;br /&gt;
    &amp;#039;wert2&amp;#039; =&amp;gt; &amp;#039;1234&amp;#039;&lt;br /&gt;
);&lt;br /&gt;
$attributeArray = array(&lt;br /&gt;
    &amp;#039;class&amp;#039; =&amp;gt; &amp;#039;linkklasse&amp;#039;,&lt;br /&gt;
    &amp;#039;title&amp;#039; =&amp;gt; &amp;#039;titeltext&amp;#039;&lt;br /&gt;
);&lt;br /&gt;
 &lt;br /&gt;
$tempLinkString = $this-&amp;gt;pi_linkToPage( $linkText, $myPageID, $myTarget, $urlParamArray );&lt;br /&gt;
$myBrandnewLink = $this-&amp;gt;cObj-&amp;gt;addParams( $tempLinkString, $attributeArray );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== URL ohne a Tags ===&lt;br /&gt;
 $this-&amp;gt;pi_getPageLink($GLOBALS[&amp;#039;TSFE&amp;#039;]-&amp;gt;id)&lt;br /&gt;
&lt;br /&gt;
=== URL ohne a Tags aber mit Parametern ===&lt;br /&gt;
 $this-&amp;gt;pi_linkTP_keepPIvars_url($override, $cache, $clearAnyway, $altPageId)&lt;/div&gt;</summary>
		<author><name>149.172.152.210</name></author>
	</entry>
</feed>