<?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=193.196.133.66</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=193.196.133.66"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/193.196.133.66"/>
	<updated>2026-05-06T14:33:18Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Baukasten&amp;diff=13202</id>
		<title>Typo3 - Baukasten</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Baukasten&amp;diff=13202"/>
		<updated>2010-08-19T13:16:17Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Bild aus Media-Feld auslesen */&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;
== 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;
=== 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;
&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;
&lt;br /&gt;
temp.addHeaderData=COA&lt;br /&gt;
[browser = msie]&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;
[global]&lt;br /&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;
=== 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;
&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>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Baukasten&amp;diff=2068</id>
		<title>Typo3 - Baukasten</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Baukasten&amp;diff=2068"/>
		<updated>2010-08-19T10:34:18Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Die Ausgabe von Inhalten verändern */&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;
== 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;
=== 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;
&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;
&lt;br /&gt;
temp.addHeaderData=COA&lt;br /&gt;
[browser = msie]&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;
[global]&lt;br /&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;
&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;
=== 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;
&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>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=News_(tt_news)&amp;diff=18445</id>
		<title>News (tt news)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=News_(tt_news)&amp;diff=18445"/>
		<updated>2010-08-19T10:30:54Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Weitere Tricks für tt_news */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kurzanleitung ==&lt;br /&gt;
Ausführliche Anleitung auf Typo3.org:&lt;br /&gt;
&lt;br /&gt;
http://typo3.org/documentation/document-library/extension-manuals/tt_news/current/view/&lt;br /&gt;
&lt;br /&gt;
TS-Config Referenz:&lt;br /&gt;
&lt;br /&gt;
http://typo3.org/documentation/document-library/extension-manuals/tt_news/current/view/1/4/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Extension installieren&lt;br /&gt;
** Wichtig! In der neueren Version 2 müssen erst die Statischen Templates im Haupttemplate eingebunden werden (je nachdem ob Tabellen oder CSS basiert gibt es verschiedene)&lt;br /&gt;
* Ort für die Speicherung der Datensätze (z.B. Ordner) anlegen&lt;br /&gt;
* Plugin als Seitenelement anlegen (List, Single, Archiv...)&lt;br /&gt;
** Pflichtkonfiguration: Ausgangspunkt,&lt;br /&gt;
&lt;br /&gt;
===TypoScript Template===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Grund Setup ###&lt;br /&gt;
plugin.tt_news.useBidirectionalRelations = 1&lt;br /&gt;
plugin.tt_news.useSubCategories = 1&lt;br /&gt;
plugin.tt_news.pid_list = 71&lt;br /&gt;
# Standard - Einzelansicht&lt;br /&gt;
plugin.tt_news.singlePid = 70&lt;br /&gt;
plugin.tt_news.templateFile = fileadmin/user/templates/news/news.html&lt;br /&gt;
&lt;br /&gt;
### News Normal&lt;br /&gt;
&lt;br /&gt;
plugin.tt_news{&lt;br /&gt;
    listMaxW = 116&lt;br /&gt;
    listMaxH = 160&lt;br /&gt;
    singleMaxW = 160&lt;br /&gt;
    singleMaxH = 160&lt;br /&gt;
    latestMaxW = 80&lt;br /&gt;
    latestMaxH = 80&lt;br /&gt;
    useHRDates = 1&lt;br /&gt;
    limit = 10&lt;br /&gt;
    latestLimit = 4&lt;br /&gt;
    showCatRootline = 0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
plugin.tt_news.showCatRootline = 0&lt;br /&gt;
plugin.tt_news.useHRDates = 1&lt;br /&gt;
&lt;br /&gt;
### Layout&lt;br /&gt;
plugin.tt_news{&lt;br /&gt;
#  wrap1 =&lt;br /&gt;
   wrap2 = &amp;lt;div class=&amp;quot;teaser&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;&lt;br /&gt;
#  color1 = &lt;br /&gt;
#  color2 = &lt;br /&gt;
#  color3 = &lt;br /&gt;
}&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;
### Setup ###&lt;br /&gt;
# Standard - Template&lt;br /&gt;
plugin.tt_news.templateFile = &lt;br /&gt;
plugin.tt_news.templateFile = fileadmin/user/templates/news/news.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
### Standard-Ausgabe anpassen ###&lt;br /&gt;
plugin.tt_news._LOCAL_LANG.de.pi_list_browseresults_next = weiter &lt;br /&gt;
plugin.tt_news._LOCAL_LANG.de.backToList = %s &lt;br /&gt;
&lt;br /&gt;
### PageBrowser auch in Single-Ansicht ermöglichen (Skript muß vorhanden sein) ###&lt;br /&gt;
#includeLibs.displayNewsBrowser = Pfad/zum/Skript/news_itemMarkerArrayFunc.php&lt;br /&gt;
#plugin.tt_news.itemMarkerArrayFunc = user_displayNewsBrowser&lt;br /&gt;
&lt;br /&gt;
plugin.tt_news{&lt;br /&gt;
  limit = 6&lt;br /&gt;
  latestLimit = 4&lt;br /&gt;
  showCatRootline = 0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
### Standard CSS rauswerfen&lt;br /&gt;
plugin.tt_news._CSS_DEFAULT_STYLE &amp;gt;&lt;br /&gt;
#plugin.tt_news.displaySingle.subheader_stdWrap.wrap = &lt;br /&gt;
&lt;br /&gt;
### Seitenumbruch ###&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  useMultiPageSingleView = 1&lt;br /&gt;
  pageBreakToken = &amp;lt;break&amp;gt;&lt;br /&gt;
  maxWordsInSingleView = 300&lt;br /&gt;
  useParagraphAsPagebreak = 1&lt;br /&gt;
  subheaderOnAllSViewPages = 0&lt;br /&gt;
  appendSViewPBtoContent = 0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
### Nur Inhalte der aktuellen Sprache: ###&lt;br /&gt;
plugin.tt_news.sys_language_mode = strict&lt;br /&gt;
&lt;br /&gt;
### Bei alternierenden Layouts hier die Anzahl eingeben&lt;br /&gt;
#plugin.tt_news.alternatingLayouts = 4&lt;br /&gt;
&lt;br /&gt;
### Datumsformat für Listenansicht&lt;br /&gt;
plugin.tt_news.displayList.date_stdWrap.strftime= %A %d. %B %Y &lt;br /&gt;
&lt;br /&gt;
### News Archiv ###&lt;br /&gt;
plugin.tt_news.enableArchiveDate=1&lt;br /&gt;
#plugin.tt_news.archiveTypoLink.parameter = 246&lt;br /&gt;
&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  archiveMode = year&lt;br /&gt;
  archiveTitleCObject &amp;gt;&lt;br /&gt;
  archiveTitleCObject = COA&lt;br /&gt;
  archiveTitleCObject {&lt;br /&gt;
          10 = TEXT&lt;br /&gt;
          10.field = start&lt;br /&gt;
          10.strftime = %B&lt;br /&gt;
          15 = TEXT&lt;br /&gt;
          15.value =  - &lt;br /&gt;
          20 = TEXT&lt;br /&gt;
          20.field = stop&lt;br /&gt;
          20.strftime = %B %Y&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einen Benutzer nur für das News-Modul anlegen ==&lt;br /&gt;
Wenn man einen Benutzer anlegen will der nur die Aufgabe hat neue News einzupflegen kann man folgende Konfiguration anlegen damit der nur das nötigste sieht.&lt;br /&gt;
&lt;br /&gt;
=== Benutzergruppe ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Modules&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Web&lt;br /&gt;
**Seite&lt;br /&gt;
**Anzeigen&lt;br /&gt;
**Liste&lt;br /&gt;
*Datei&lt;br /&gt;
**Dateiliste&lt;br /&gt;
**Bilder&lt;br /&gt;
*Benutzer&lt;br /&gt;
**Aufgaben&lt;br /&gt;
**Einstellungen&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tables (Listing)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Seite&lt;br /&gt;
*News&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tables (Modify)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*News&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed Excludefields&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*News&lt;br /&gt;
** no automatic pagebreaks&lt;br /&gt;
** Datum&lt;br /&gt;
** Archivdatum&lt;br /&gt;
** Bilder&lt;br /&gt;
** Bildtext&lt;br /&gt;
** Alt-Text&lt;br /&gt;
** Titel Autor&lt;br /&gt;
&lt;br /&gt;
=== Seitenrechte ===&lt;br /&gt;
&lt;br /&gt;
=== Vorgabewerte für die Flexforms (Eingabefelder im Backend) ===&lt;br /&gt;
&lt;br /&gt;
== Nützliche Zusatz Tools ==&lt;br /&gt;
=== Bessere Datumseingabe ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
=== Links in tt_news funktionieren nicht ===&lt;br /&gt;
Links werden zwar angezeigt, im Quelltext wird aber ein link Tag statt des a Tags angezeigt.&lt;br /&gt;
&lt;br /&gt;
Lösung: tt_news kopiert sich die parse lib aus tt_content die in css_styled_content definiert ist. Deshalb muß css_styled_content unbedingt vor tt_news inkludiert werden (static templates). Generell ist es sinnvoll css_styled_content immer als erstes einzubinden.&lt;br /&gt;
&lt;br /&gt;
=== Kategorien werden nicht angezeigt ===&lt;br /&gt;
Entweder use General Record Storage Page in der Extension Einstellung deaktivieren oder in der Rootpage der Website (die Seite wo das Haupttemplate liegt) eine Definieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RTE fehlt, man kann keine neuen Inhaltselemente mehr anlegen.===&lt;br /&gt;
&lt;br /&gt;
Lösung:&lt;br /&gt;
&lt;br /&gt;
Für Typo3 V 3.7 die tt_news Version 2.2.24 einsetzten.&lt;br /&gt;
&lt;br /&gt;
Nach Update der Extension und Klick auf die Single Ansicht erscheint die Fehlermeldung: &lt;br /&gt;
&lt;br /&gt;
=== Fatal error: Call to undefined function: fullquotestr() ===&lt;br /&gt;
 &lt;br /&gt;
in /www/htdocs/tourrt/typo3conf/ext/tt_news/pi/class.tx_ttnews.php on line 2386&lt;br /&gt;
&lt;br /&gt;
Der Fehler taucht in Foren vor allem bei der realURL Extension und Typo3.7 auf. Folgendes hilft auch bei anderen Extensions &lt;br /&gt;
&lt;br /&gt;
Zitat aus typo3forum.hosting-agency.de/realurl-t40.html&lt;br /&gt;
&lt;br /&gt;
Hi, ich verwende Typo3 3.7.0 und hatte das gleiche Problem... die Lösung war: update der Datei: &amp;quot;class.t3lib_db.php&amp;quot; auf Version 1.10&lt;br /&gt;
&lt;br /&gt;
Lösung bei tourismus-reutlingen.de war Update auf V 1.12.1.2 (aus der Typo3 V3.8.1)&lt;br /&gt;
&lt;br /&gt;
=== Archiv in Englisch statt deutsch ===&lt;br /&gt;
die Konfiguration auf deutsch stellen (bei multilanguage settings nicht vergessen auch ohne L-Variable die Sprache einzuschalten:&lt;br /&gt;
&lt;br /&gt;
 config.language = de&lt;br /&gt;
 config.locale_all = de_DE&lt;br /&gt;
&lt;br /&gt;
=== Pagebrowser ===&lt;br /&gt;
&lt;br /&gt;
Pagebrowser ab Nwsmodul V 2&lt;br /&gt;
&lt;br /&gt;
Ab Version 2 hat das News Plugin einen eigenen PageBrowser. Man kann wählen ob man den Internen, den von Typo3 oder eine eigene UserFunc benutzen will. Für Typo3 V3.7 ist der aus dem Newsmodul sehr geeignet. Ab 3.8 gibt es einen guten von Typo3.&lt;br /&gt;
&lt;br /&gt;
 # eingebauten PageBrowser benutzen&lt;br /&gt;
 usePiBasePagebrowser=0&lt;br /&gt;
&lt;br /&gt;
== Beispiel: Konifguration tourismus-reutlingen.de ==&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;
# Layout&lt;br /&gt;
plugin.tt_news{&lt;br /&gt;
wrap1 = &amp;lt;span class=&amp;quot;news_title&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
wrap2 = &amp;lt;span class=&amp;quot;content&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
color1 = #A23343&lt;br /&gt;
color2 =&lt;br /&gt;
color3 =&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#plugin.tt_news.wrap1=&amp;lt;h3&amp;gt;|&amp;lt;/h3&amp;gt;&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;
plugin.tt_news.templateFile = fileadmin/template/news.tmpl&lt;br /&gt;
plugin.tt_news.showResultCount = 0&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
   _LOCAL_LANG.de {&lt;br /&gt;
       more =&lt;br /&gt;
       pi_list_browseresults_displays = Sie sehen Artikel ###SPAN_BEGIN###%s bis %s&amp;lt;/span&amp;gt; von ###SPAN_BEGIN### %s&amp;lt;/span&amp;gt;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Hier sind die News Artikel:&lt;br /&gt;
#plugin.tt_news.pid_list &amp;gt;&lt;br /&gt;
plugin.tt_news.pid_list = 214&lt;br /&gt;
plugin.tt_news.PIDitemDisplay = 255&lt;br /&gt;
plugin.tt_news.backPID = 254&lt;br /&gt;
plugin.tt_news.displaySingle.title_stdWrap.wrap = |&lt;br /&gt;
### News Archiv ###&lt;br /&gt;
plugin.tt_news.enableArchiveDate=1&lt;br /&gt;
plugin.tt_news.archiveTypoLink.parameter = 254&lt;br /&gt;
&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  archiveMode = year&lt;br /&gt;
  archiveTitleCObject &amp;gt;&lt;br /&gt;
  archiveTitleCObject = COA&lt;br /&gt;
  archiveTitleCObject {&lt;br /&gt;
          10 = TEXT&lt;br /&gt;
          10.field = start&lt;br /&gt;
          10.strftime = %B&lt;br /&gt;
          15 = TEXT&lt;br /&gt;
          15.value =  - &lt;br /&gt;
          20 = TEXT&lt;br /&gt;
          20.field = stop&lt;br /&gt;
          20.strftime = %B %Y&lt;br /&gt;
  }&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispielkonfiguration hb-tech (Tabellenfrei) ==&lt;br /&gt;
Nicht vergessen&lt;br /&gt;
* Damit die Kategorien gefunden werden muß in einer Seite unterhalb der News-Plugins die General record storage ID angegeben werden damit sie gefunden werden. Alternativ kann man useStoragePid = 0 setzen. Oder direkt in den Einstellungen des News Plugin deaktivieren (Extension Modul)&lt;br /&gt;
* Im Main Template &amp;#039;&amp;#039;muß&amp;#039;&amp;#039; Die statische Extension &amp;#039;&amp;#039;css-based tmpl (tt_news)&amp;#039;&amp;#039; eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
=== Übersicht ===&lt;br /&gt;
Das TypoScript Template ist extern als Basis-Template angelegt. Im Main Template wird ein zusätzliches CSS eingebunden (s.u.) Außerdem wurde ein zweites HTML-Template angelegt daß ein weiteres Layout für die Teaser auf der Startseite enthält, wenn bei einem Produkt &amp;#039;Angebot&amp;#039; gewählt wird. Damit das funktioniert wird auf der entsprechenden Seite (in diesem Fall Home) Ein weiteres TS-Template angelegt (s.u.).&lt;br /&gt;
&lt;br /&gt;
=== TypoScript Template ===&lt;br /&gt;
&lt;br /&gt;
==== News CSS einbinden ====&lt;br /&gt;
 #news CSS:&lt;br /&gt;
 page.includeCSS.file1 = fileadmin/templates/news/news_css.css&lt;br /&gt;
&lt;br /&gt;
====TypoScript - Constants====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tt_news.pid_list = 242,243,344,245&lt;br /&gt;
plugin.tt_news.singlePid = 247&lt;br /&gt;
#plugin.tt_news.archiveTypoLink.parameter = 246&lt;br /&gt;
plugin.tt_news.backPid = 251&lt;br /&gt;
#plugin.tt_news.datetimeDaysToArchive = 30&lt;br /&gt;
plugin.tt_news.showCatRootline = 0&lt;br /&gt;
plugin.tt_news.useHRDates = 1&lt;br /&gt;
&lt;br /&gt;
###News###&lt;br /&gt;
plugin.tt_news{&lt;br /&gt;
&lt;br /&gt;
  listMaxW = 160&lt;br /&gt;
  listMaxH = 160&lt;br /&gt;
&lt;br /&gt;
  singleMaxW = 240&lt;br /&gt;
  singleMaxH = 180&lt;br /&gt;
&lt;br /&gt;
  latestMaxW = 80&lt;br /&gt;
  latestMaxH = 80&lt;br /&gt;
&lt;br /&gt;
  useHRDates = 1&lt;br /&gt;
  #datetimeDaysToArchive = 30&lt;br /&gt;
  limit = 10&lt;br /&gt;
  latestLimit = 4&lt;br /&gt;
  showCatRootline = 0&lt;br /&gt;
}&lt;br /&gt;
#Konfiguration&lt;br /&gt;
plugin.tt_news.file.templateFile = fileadmin/templates/news/news_css.html &lt;br /&gt;
&lt;br /&gt;
# Layout&lt;br /&gt;
plugin.tt_news{&lt;br /&gt;
  wrap1 =&lt;br /&gt;
  wrap2 = &amp;lt;div class=&amp;quot;teaser&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;&lt;br /&gt;
  color1 = &lt;br /&gt;
  color2 = &lt;br /&gt;
  color3 = &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====TypoScript - Setup====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tt_news{&lt;br /&gt;
&lt;br /&gt;
  limit = 10&lt;br /&gt;
  latestLimit = 4&lt;br /&gt;
  showCatRootline = 0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
plugin.tt_news._CSS_DEFAULT_STYLE &amp;gt;&lt;br /&gt;
plugin.tt_news.displaySingle.subheader_stdWrap.wrap = &lt;br /&gt;
&lt;br /&gt;
### Seitenumbruch ###&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  useMultiPageSingleView = 1&lt;br /&gt;
  pageBreakToken = &amp;lt;break&amp;gt;&lt;br /&gt;
  maxWordsInSingleView = 300&lt;br /&gt;
  useParagraphAsPagebreak = 1&lt;br /&gt;
  subheaderOnAllSViewPages = 0&lt;br /&gt;
  appendSViewPBtoContent = 0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
### Nur Inhalte der aktuellen Sprache: ###&lt;br /&gt;
plugin.tt_news.sys_language_mode = strict&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
plugin.tt_news.displayList.date_stdWrap.strftime= %A %d. %B %Y &lt;br /&gt;
[global]&lt;br /&gt;
### News Archiv ###&lt;br /&gt;
plugin.tt_news.enableArchiveDate=1&lt;br /&gt;
plugin.tt_news.archiveTypoLink.parameter = 246&lt;br /&gt;
&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  archiveMode = year&lt;br /&gt;
  archiveTitleCObject &amp;gt;&lt;br /&gt;
  archiveTitleCObject = COA&lt;br /&gt;
  archiveTitleCObject {&lt;br /&gt;
          10 = TEXT&lt;br /&gt;
          10.field = start&lt;br /&gt;
          10.strftime = %B&lt;br /&gt;
          15 = TEXT&lt;br /&gt;
          15.value =  - &lt;br /&gt;
          20 = TEXT&lt;br /&gt;
          20.field = stop&lt;br /&gt;
          20.strftime = %B %Y&lt;br /&gt;
  }&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== CSS ===&lt;br /&gt;
Anmerkung: Die Größenangaben für Bilder müssen mit dem TypoScript - Vorgaben zusammenpassen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*News Modul*/&lt;br /&gt;
#news_list_rahmen h2{&lt;br /&gt;
  color: #C30009;&lt;br /&gt;
  text-transform: uppercase;&lt;br /&gt;
  font-size: .9em;&lt;br /&gt;
  line-height: 1.2em;&lt;br /&gt;
  margin: 4px 0 0 0;&lt;br /&gt;
}&lt;br /&gt;
#news_list_rahmen h2 a:link, #news_list_rahmen h2 a:visited, #news_list_rahmen h2 a:hover, #news_list_rahmen h2 a:active{&lt;br /&gt;
  color: #C30009;	&lt;br /&gt;
}&lt;br /&gt;
#news_list_rahmen h2 span {&lt;br /&gt;
  color: #666;&lt;br /&gt;
  font-size: .9em;&lt;br /&gt;
  font-weight: normal;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#news_list_rahmen .teaser {&lt;br /&gt;
  width: 560px;&lt;br /&gt;
  padding: 12px 0;&lt;br /&gt;
  border-bottom: 1px solid #CCC;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#news_list_rahmen .bild {&lt;br /&gt;
  float: left;&lt;br /&gt;
  width: 160px;&lt;br /&gt;
  margin-right: 12px;&lt;br /&gt;
  margin-top:4px;&lt;br /&gt;
  text-align:left;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== HTML-Template ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;News css based template&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;strong&amp;gt;Global markers, as set up in TypoScript:&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These are substituted throughout the whole template.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;em&amp;gt;Markers:&amp;lt;/em&amp;gt;&lt;br /&gt;
GW1B / GW1E&lt;br /&gt;
GW2B / GW2E&lt;br /&gt;
GW3B / GW3E&lt;br /&gt;
&lt;br /&gt;
GC1&lt;br /&gt;
GC2&lt;br /&gt;
GC3&lt;br /&gt;
GC4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Common markers:&amp;lt;/strong&amp;gt;&lt;br /&gt;
These are substituted in all news item displaying templates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;em&amp;gt;Markers:&amp;lt;/em&amp;gt;&lt;br /&gt;
NEWS_UID - ID number (uid) of the news item&lt;br /&gt;
NEWS_TITLE - News item title&lt;br /&gt;
NEWS_AUTHOR - name of author&lt;br /&gt;
NEWS_EMAIL - email of author&lt;br /&gt;
NEWS_DATE - date&lt;br /&gt;
NEWS_TIME - time&lt;br /&gt;
NEWS_AGE - age of news item in minutes, hours, days or years&lt;br /&gt;
NEWS_SUBHEADER - subheader, if empty main content is inserted here in LIST and LATEST&lt;br /&gt;
NEWS_CONTENT - main content&lt;br /&gt;
NEWS_LINKS - news links&lt;br /&gt;
NEWS_CATEGORY - news item category&lt;br /&gt;
NEWS_RELATED - links to related news&lt;br /&gt;
NEWS_IMAGE - news item images&lt;br /&gt;
&lt;br /&gt;
PAGE_UID - Page id of the parent page (pid)&lt;br /&gt;
PAGE_TITLE - Title of the parent page of the news item&lt;br /&gt;
PAGE_AUTHOR - Page author, if any&lt;br /&gt;
PAGE_AUTHOR_EMAIL - Page author email, if any&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;em&amp;gt;Wrapped Subparts:&amp;lt;/em&amp;gt;&lt;br /&gt;
LINK_ITEM - link to the news item single display&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;hr&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;TEMPLATE_LATEST&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;em&amp;gt;This is the template for the latest news, typically displayed on a frontpage.&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ###TEMPLATE_LATEST### begin&lt;br /&gt;
	This is the template for the latest news, typically displayed on a frontpage &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;news_latest_rahmen&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###CONTENT### begin  list of news--&amp;gt;&lt;br /&gt;
	&amp;lt;!-- ###NEWS### begin Template for a single item--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;div class=&amp;quot;news_latest_date&amp;quot;&amp;gt;&lt;br /&gt;
		###NEWS_DATE### ###NEWS_TIME###&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;h3&amp;gt;&amp;lt;!--###LINK_ITEM###--&amp;gt;###NEWS_TITLE###&amp;lt;!--###LINK_ITEM###--&amp;gt;&amp;lt;/h3&amp;gt; &lt;br /&gt;
	&amp;lt;div class=&amp;quot;news_latest_bild&amp;quot;&amp;gt;###NEWS_IMAGE###&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;###NEWS_SUBHEADER###&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;!-- ###NEWS### end--&amp;gt;&lt;br /&gt;
	&amp;lt;!-- ###NEWS_1### begin Template for an alternative item --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;news_latest_rahmen_even&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###CONTENT### begin  list of news--&amp;gt;&lt;br /&gt;
	&amp;lt;!-- ###NEWS### begin Template for a single item--&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;date&amp;quot;&amp;gt;&lt;br /&gt;
		###NEWS_DATE### ###NEWS_TIME###&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;h3&amp;gt;&amp;lt;!--###LINK_ITEM###--&amp;gt;###NEWS_TITLE###&amp;lt;!--###LINK_ITEM###--&amp;gt;&amp;lt;/h3&amp;gt; &lt;br /&gt;
	&amp;lt;div class=&amp;quot;bild&amp;quot;&amp;gt;###NEWS_IMAGE###&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;teaser&amp;quot;&amp;gt; ###NEWS_SUBHEADER### &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
	&amp;lt;!-- ###NEWS_1### end--&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###CONTENT###  end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ###TEMPLATE_LATEST### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;hr&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ########################################### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;TEMPLATE_LIST&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###TEMPLATE_LIST### begin  list of news in archive or news page or search --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;news_list_rahmen&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- ###CONTENT### begin  list of news:	--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;!-- ###NEWS### begin	Template for a single item --&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;teaser&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;bild&amp;quot;&amp;gt;&amp;lt;!--###LINK_ITEM###--&amp;gt;###NEWS_IMAGE###&amp;lt;!--###LINK_ITEM###--&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;h2&amp;gt;&amp;lt;span&amp;gt;###NEWS_DATE###&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
			  &amp;lt;!--###LINK_ITEM###--&amp;gt;###NEWS_TITLE###&amp;lt;!--###LINK_ITEM###--&amp;gt;&amp;lt;/h2&amp;gt;&lt;br /&gt;
			&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			  ###NEWS_SUBHEADER### &amp;lt;!--###LINK_ITEM###--&amp;gt;###MORE###&amp;lt;!--###LINK_ITEM###--&amp;gt;&lt;br /&gt;
			&amp;lt;/p&amp;gt;&lt;br /&gt;
		&amp;lt;/div&amp;gt;&lt;br /&gt;
		&amp;lt;span class=&amp;quot;stopFloat&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
	&amp;lt;/div&amp;gt; &amp;lt;!-- Ende Teaser Klasse --&amp;gt;&lt;br /&gt;
		&amp;lt;!-- ###NEWS### end--&amp;gt;&lt;br /&gt;
	&amp;lt;!-- ###CONTENT###  end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
###BROWSE_LINKS### &lt;br /&gt;
&amp;lt;!-- ###TEMPLATE_LIST### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;hr&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ########################################### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;TEMPLATE_SINGLE&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;em&amp;gt;This subpart is used to display single news items&amp;lt;/em&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###TEMPLATE_SINGLE### begin  &lt;br /&gt;
display single news items --&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;news_single_rahmen&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;date&amp;quot;&amp;gt;###NEWS_DATE###&amp;lt;/div&amp;gt; &lt;br /&gt;
  &amp;lt;h1&amp;gt;###NEWS_TITLE###&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div class=&amp;quot;teaser&amp;quot;&amp;gt;###NEWS_SUBHEADER###&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;bild&amp;quot;&amp;gt;###NEWS_IMAGE###&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;###NEWS_CONTENT###&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;p class=&amp;quot;autor&amp;quot;&amp;gt;###PAGE_AUTHOR### &amp;lt;a href=&amp;quot;mailto:###PAGE_AUTHOR_EMAIL###&amp;quot; class=&amp;quot;email&amp;quot;&amp;gt;###PAGE_AUTHOR_EMAIL###&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;!-- ende rahmen --&amp;gt;&lt;br /&gt;
&amp;lt;!--###LINK_ITEM###--&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;###BACK_TO_LIST###&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--###LINK_ITEM###--&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###TEMPLATE_SINGLE### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;hr&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ########################################### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;TEMPLATE_ARCHIVE&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;em&amp;gt;Subpart for the news archive menu.&amp;lt;/em&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###TEMPLATE_ARCHIVE### begin --&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;news_archive_rahmen&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;!-- ###CONTENT### begin --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- ###MENUITEM### begin --&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;odd&amp;quot;&amp;gt;&amp;lt;!--###LINK_ITEM###--&amp;gt;###ARCHIVE_TITLE### &amp;lt;!--###LINK_ITEM###--&amp;gt; - (###ARCHIVE_COUNT###)&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;!-- ###MENUITEM### end--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- ###MENUITEM_1### begin --&amp;gt;&lt;br /&gt;
	&amp;lt;li class=&amp;quot;even&amp;quot;&amp;gt;&amp;lt;!--###LINK_ITEM###--&amp;gt;###ARCHIVE_TITLE### &amp;lt;!--###LINK_ITEM###--&amp;gt; - (###ARCHIVE_COUNT###)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- ###MENUITEM_1### end--&amp;gt;&lt;br /&gt;
	&amp;lt;!-- ###CONTENT###  end --&amp;gt;&lt;br /&gt;
	&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;stopFloat&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###TEMPLATE_ARCHIVE### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;hr&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ########################################### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;TEMPLATE_ARCHIVE_NOITEMS&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;em&amp;gt;Shown if the archive has no items!&amp;lt;/em&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###TEMPLATE_ARCHIVE_NOITEMS### begin if the archive has no items! --&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;news_archive_rahmen&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;ul&amp;gt;&lt;br /&gt;
		&amp;lt;li&amp;gt;Es sind keine Einträge im Archiv&amp;lt;/li&amp;gt;&lt;br /&gt;
	&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;stopFloat&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###TEMPLATE_ARCHIVE_NOITEMS### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;hr&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ########################################### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;TEMPLATE_SEARCH&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;em&amp;gt;Subpart for the search-form.&amp;lt;/em&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ###TEMPLATE_SEARCH### begin  Subpart for the search-form --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form class=&amp;quot;news_search&amp;quot; method=&amp;quot;post&amp;quot; action=&amp;quot;###FORM_URL###&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;input size=&amp;quot;30&amp;quot; maxlength=&amp;quot;100&amp;quot; name=&amp;quot;swords&amp;quot; value=&amp;quot;###SWORDS###&amp;quot; type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;input name=&amp;quot;order&amp;quot; value=&amp;quot;Search&amp;quot; type=&amp;quot;submit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###TEMPLATE_SEARCH### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weitere Tricks für tt_news ==&lt;br /&gt;
&lt;br /&gt;
http://www.rs-websystems.de/typo-3/tipps-tricks/typoscript-snippets/tt-news-im-menu-anzeigen.html&lt;br /&gt;
&lt;br /&gt;
16.10.08&lt;br /&gt;
=== Cache von News Seiten automatisch löschen ===&lt;br /&gt;
Wenn man eine News eingibt, muß man bei den Seiten in denen die News angezeigt wird den Cache löschen damit sie sofort angezeigt wird. Man kann den Cache der tt_news Seiten aber auch automatisch löschen lassen. Dazu gibt man in den Seiteneigenschaften bei den TS Optionen folgendes an:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Löscht Seitencaches automatisch bei Neuerstellung&lt;br /&gt;
# oder Änderung von Newseinträgen&lt;br /&gt;
TCEMAIN.clearCacheCmd = 203, 7787, 82, 316, 452, 8348&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Die Kommaseparierte Liste enthält die IDs der Seiten bei denen der Cache gelöscht werden soll. Dies funktioniert auch bei anderen Extensions.&lt;br /&gt;
&lt;br /&gt;
=== Beiträge aus tt_news im Menü darstellen ===&lt;br /&gt;
&lt;br /&gt;
tt_news ist die wohl meist verwandte News-Extension von TYPO3. Sie bietet nahezu alles was die Ansprüche an ein modernes News-System befriedigt.&lt;br /&gt;
&lt;br /&gt;
Will man jedoch die Einzel-Ansichten der Artikel im Menü auftauchen lassen, so müsste man für jeden Artikel händisch eine Seite anlegen und in diese den Datensatz einfügen. Der Vorteil einer News-Extension ist für diesen Fall nicht ersichtlich, könnte man den Artikel doch gleich in die Seite ablegen, eine automatisierte Lösung in tt_news gibt es nicht.&lt;br /&gt;
&lt;br /&gt;
Hier stelle ich eine Lösung zur Verfügung, wie dieses Problem umgangen werden kann. Ein paar Zeilen TypoScript und ein TMENU kann News-Beiträge darstellen.&lt;br /&gt;
&lt;br /&gt;
Das folgende Snippet ist bisher mit folgenden Versionen funktionsfähig getestet:&lt;br /&gt;
&lt;br /&gt;
    TYPO3: ab Version 4.1.0&lt;br /&gt;
    tt_news: ab Version 2.4.0&lt;br /&gt;
&lt;br /&gt;
Sollten Sie diesen Code auf anderen Versionen erfolgreich testen, bitten wir uns dies kurz mitzuteilen.&lt;br /&gt;
Die Anpassung&lt;br /&gt;
&lt;br /&gt;
Im folgenden wird das TypoScript-Snippet dargestellt, mit dem die News-Beiträge aus der Tabelle tt_news aus der entsprechenden Kategorie als Listenelemente gerendert werden.&lt;br /&gt;
&lt;br /&gt;
Es müssen auf jedenfall der Speicherort der News (PID des SysOrdner), die PID der Seite mit dem Single-View Modul von tt_news sowie die anzuzeigende Kategorie angepasst werden. Wenn alle Kategorien angezeigt werden sollen oder keine Kategorien verwandt werden, die entsprechende Zeile auskommentieren.&lt;br /&gt;
&lt;br /&gt;
Die typolink-Funktion die zur Generierung der Links benutzt wird, garantiert die Kompatibilität der Links zu realUrl oder SimulateStaticDocuments gerendert.&lt;br /&gt;
&lt;br /&gt;
Binden Sie den folgenden Code z.B. als Extensiontemplate ein.&lt;br /&gt;
Modul zum Rendern der Listenelemente mit tt_news Titeln&lt;br /&gt;
&lt;br /&gt;
temp.newsMenuLinkParams = COA&lt;br /&gt;
temp.newsMenuLinkParams {&lt;br /&gt;
     10 = TEXT&lt;br /&gt;
     10.field = uid&lt;br /&gt;
     10.wrap = &amp;amp;tx_ttnews[tt_news]=|&lt;br /&gt;
     20 = TEXT&lt;br /&gt;
     20.field = tstamp&lt;br /&gt;
     20.date = Y&lt;br /&gt;
     20.wrap = &amp;amp;tx_ttnews[year]=|&lt;br /&gt;
     30 = TEXT&lt;br /&gt;
     30.field = tstamp&lt;br /&gt;
     30.date = m&lt;br /&gt;
     30.wrap = &amp;amp;tx_ttnews[month]=|&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
temp.newsMenu = CONTENT&lt;br /&gt;
temp.newsMenu {&lt;br /&gt;
     table = tt_news&lt;br /&gt;
     select {&lt;br /&gt;
          // Speicherort der News&lt;br /&gt;
          pidInList = 53 &lt;br /&gt;
          orderBy = tstamp DESC&lt;br /&gt;
          selectField = uid,tstamp,title&lt;br /&gt;
          // Kategorie ID der News die gelistet werden sollen&lt;br /&gt;
          where = uid_foreign=1&lt;br /&gt;
          join = tt_news_cat_mm ON (tt_news.uid=tt_news_cat_mm.uid_local)&lt;br /&gt;
     }     &lt;br /&gt;
     renderObj =  TEXT&lt;br /&gt;
     renderObj {&lt;br /&gt;
          wrap = &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
          // tt_news DB Feld das als Linktext benutzt werden soll&lt;br /&gt;
          field = title&lt;br /&gt;
          // Page-ID mit dem gewünschten Single View&lt;br /&gt;
          typolink.parameter = 78&lt;br /&gt;
          typolink.additionalParams.cObject &amp;lt; temp.newsMenuLinkParams&lt;br /&gt;
          //Link-Klasse&lt;br /&gt;
          typolink.ATagParams = class=&amp;quot;men-no&amp;quot;&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Nun muss dem Menü noch mitgeteilt werden wie und wo das Element gerendert werden soll.&lt;br /&gt;
&lt;br /&gt;
Dazu benutzen wir den Seitentyp Abstand. An der Stelle, an der wir die Liste der News anzeigen möchten, fügen wir eine Seite vom Typ Abstand ein. Diese wird normalerweise in einem Menü nicht gerendert, stellt aber den Menüzustand SPC bereit.&lt;br /&gt;
&lt;br /&gt;
Nun aktivieren wir den Menüzustand SPC und kopieren den Inhalt von temp.menuNews in seine Ausgabe. Es wird davon ausgegangen, dass das zu rendernde Menü ein konformes UL-Menü ist.&lt;br /&gt;
&lt;br /&gt;
Mein Beispiel inkl. 3 Ebenen Menü:&lt;br /&gt;
Menü mit Darstellung von News&lt;br /&gt;
&lt;br /&gt;
temp.menu = HMENU&lt;br /&gt;
temp.menu {&lt;br /&gt;
     special = directory&lt;br /&gt;
     special.value = 1&lt;br /&gt;
     &lt;br /&gt;
     alwaysActivePIDlist = 3&lt;br /&gt;
     &lt;br /&gt;
     1 = TMENU&lt;br /&gt;
     1 {&lt;br /&gt;
          wrap = &amp;lt;ul class=&amp;quot;men-e1&amp;quot;&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
          noBlur = 1&lt;br /&gt;
          &lt;br /&gt;
          NO.wrapItemAndSub = &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt;&lt;br /&gt;
          NO.altText = subtitle // title&lt;br /&gt;
          NO.title = subtitle // title&lt;br /&gt;
          NO.ATagParams = class=&amp;quot;men-no&amp;quot;&lt;br /&gt;
          NO = 1&lt;br /&gt;
          &lt;br /&gt;
          ACTIFSUB &amp;lt; .NO&lt;br /&gt;
          ACTIFSUB.ATagParams = class=&amp;quot;men-actifsub&amp;quot;&lt;br /&gt;
          ACTIFSUB = 1&lt;br /&gt;
          &lt;br /&gt;
          CUR &amp;lt; .NO&lt;br /&gt;
          CUR.ATagParams = class=&amp;quot;men-cur&amp;quot;&lt;br /&gt;
          CUR = 1&lt;br /&gt;
          &lt;br /&gt;
          CURIFSUB &amp;lt; .NO&lt;br /&gt;
          CURIFSUB.ATagParams = class=&amp;quot;men-curifsub&amp;quot;&lt;br /&gt;
          CURIFSUB = 1&lt;br /&gt;
         &lt;br /&gt;
          // hier wird der Menüzustand aktiviert und besetzt&lt;br /&gt;
          SPC &amp;lt; .NO&lt;br /&gt;
          SPC.wrapItemAndSub &amp;gt;&lt;br /&gt;
          SPC.stdWrap.cObject &amp;lt; temp.newsMenu&lt;br /&gt;
          // jetzt kennt HMENU tt_news&lt;br /&gt;
&lt;br /&gt;
          &lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
     2 &amp;lt; .1&lt;br /&gt;
     2.wrap = &amp;lt;ul class=&amp;quot;men-e2&amp;quot;&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
     3 &amp;lt; .1&lt;br /&gt;
     3.wrap = &amp;lt;ul class=&amp;quot;men-e3&amp;quot;&amp;gt;|&amp;lt;/ul&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Es ist wichtig zu wissen, dass die News in der gleichen Ebene dargestellt werden, wie die Seite vom Typ Abstand - also anstelle bzw. &amp;quot;unterhalb&amp;quot; der Seite vom Typ Abstand.&lt;br /&gt;
&lt;br /&gt;
Zurzeit arbeite ich daran, die Kategorie aus dem Seitentitel der Seite &amp;quot;Abstand&amp;quot; zu generieren.&lt;br /&gt;
&lt;br /&gt;
Anregungen, Probleme und Erweiterungen sind willkommen.&lt;br /&gt;
&lt;br /&gt;
== RSS - Feeds in tt_news ==&lt;br /&gt;
&lt;br /&gt;
=== Quickstart ===&lt;br /&gt;
* statisches Template einbinden&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Die_wichtigsten_Linux_Befehle&amp;diff=18502</id>
		<title>Die wichtigsten Linux Befehle</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Die_wichtigsten_Linux_Befehle&amp;diff=18502"/>
		<updated>2010-08-06T13:59:25Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* curl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://cb.vu/unixtoolbox.xhtml&lt;br /&gt;
&lt;br /&gt;
== Die wichtigsten LINUX Befehle auf der Kommandozeile ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE BORDER=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Basics&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;startx&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;startet das X-Window-System und eine grafische Benutzeroberfl&amp;amp;auml;che&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;logout&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;ordnungsgem&amp;amp;auml;&amp;amp;szlig;es Abmelden von der Konsole&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;[BEFEHL] --help&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt einen kurzen Hilfetext zum [BEFEHL] aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;man [BEFEHL]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die Manual-Page zum [BEFEHL] an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td class=&amp;quot;fixed&amp;quot;&amp;gt;info [BEFEHL]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;zeigt Dokument zu [BEFEHL] im Info-System an&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;shutdown -r now&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Rechner neustarten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;shutdown -h now&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Rechner herunterfahren&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Suchen&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;whereis [PROGRAMM]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;sucht in den Verzeichnissen der Umgebungsvariablen PATH nach [PROGRAMM]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;find . | grep [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;sucht ausgehend vom aktuellen Verzeichnis nach [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;grep [SUCHSTRING] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;durchsucht DATEI nach dem Suchbegriff [SUCHSTRING]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;locate [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;durchsucht die Locate-Datenbank nach [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Programme starten&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;[PROG]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Programm [PROG], welches sich im Pfad befindet, starten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;./[PROG]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Programm [PROG], welches sich im aktuellen Verzeichnis befindet, starten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;[PFAD]/[PROG]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Programm [PROG], welches sich im Verzeichnis [PFAD] befindet, starten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Navigation im Dateisystem&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;pwd&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt das aktuelle Verzeichnis aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd /&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt ins Hauptverzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd ..&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt in das &amp;amp;uuml;bergeordnete Verzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt ins Verzeichnis [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd -&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt in das vorherige Verzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt ins Home-Verzeichnis des Benutzers&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Dateien&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cat [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt den Inhalt der Datei [DATEI] auf dem Bildschirm an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;more [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt den Inhalt der Datei [DATEI] seitenweise an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;less [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wie more, man kann aber auch nach oben bl&amp;amp;auml;ttern&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cp [DATEI1] [DATEI2]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;kopiert Datei [DATEI1] in Datei [DATEI2]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mv [DATEI1] [DATEI2]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;benennt Datei [DATEI1] in [DATEI2] um&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mv [DATEI] [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;verschiebt Datei [DATEI] ins Verzeichnis [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;rm [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;l&amp;amp;ouml;scht die Datei [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;touch [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;erzeugt die leere Datei [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Verzeichnisse&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ls&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;kurze Liste des Verzeichnisinhaltes&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ls -l&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;ausf&amp;amp;uuml;hrliche Liste des Verzeichnisinhaltes&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ls -la&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;alle Dateien des Verzeichnisses ausf&amp;amp;uuml;hrlich auflisten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mkdir [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;neues Verzeichnis [VERZ] erstellen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;rmdir [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;das leere Verzeichnis [VERZ] l&amp;amp;ouml;schen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;rm -rf [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;alle Dateien/Verzeichnisse unterhalb des Verzeichnisses [VERZ] l&amp;amp;ouml;schen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Ger&amp;amp;auml;te partitionieren, formatieren, &amp;amp;uuml;berpr&amp;amp;uuml;fen, mounten&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;fdisk [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Partitionierung der Festplatte [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mke2fs [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Anlegen eines ext2-Dateisystems auf dem Ger&amp;amp;auml;t [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;fsck [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Ger&amp;amp;auml;t [DEVICE] auf Fehler &amp;amp;uuml;berpr&amp;amp;uuml;fen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mount /mnt/cdrom&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;bindet eine eingelegte CD-ROM in das Dateisystem ein&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;umount /mnt/cdrom&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;entfernt eine CD-ROM aus dem Dateisystem&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Zugriffsrechte&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;chmod [OPTIONEN] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert die Zugriffsrechte der Datei [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;chgrp [GRUPPE] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert die Gruppe der Datei [DATEI] in [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;chown [OWNER] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert den Eigent&amp;amp;uuml;mer der Datei [DATEI] in [OWNER]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Systeminformationen&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mount&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Ausgabe aller gemounteter Partitionen/Ger&amp;amp;auml;te&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;df&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Ausgabe der Nutzung der gemounteten Ger&amp;amp;auml;te&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;date&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Anzeige von Datum und Uhrzeit&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;free&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt die Nutzung des Arbeitsspeichers aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;uptime&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die Prozessorauslastung und -laufzeit an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;top&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die h&amp;amp;ouml;chsten Ressourcenverbraucher an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ps ax&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt Informationen &amp;amp;uuml;ber laufende Prozesse an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;kill [PID]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;beendet den Prozess mit der Prozess-ID [PID]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;killall [PROZESSNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;beendet alle Prozesse mit dem Namen [PROZESSNAME] (z. B. mozilla)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;uname -a&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt Kernel-Informationen aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;arch&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die Prozessorfamilie an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Benutzerverwaltung&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;id&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt deinen Benutzernamen und die Gruppenmitgliedschaften aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;whoami&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Wer bin ich? Ausgabe des Benutzernamens&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;who&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Wer ist alles eingeloggt? Ausgabe der Benutzernamen, des Terminals und der Login-Zeit.&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;passwd&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert das Passwort des aktuellen Benutzers&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;useradd -m [USERNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;legt den neuen Benutzer [USERNAME] an und erzeugt ein Homeverzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;passwd [USERNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert das Passwort des Benutzers [USERNAME] (nur als root)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;userdel -r [USERNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;l&amp;amp;ouml;scht den Benutzer [USERNAME] und sein Homeverzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;groupadd [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;erzeugt eine neue Gruppe [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;groupdel [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;l&amp;amp;ouml;scht die Gruppe [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;screen&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;screen -S [name]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Erzeugt einen &amp;quot;Screen&amp;quot; den sich ein anderer Benutzer &amp;quot;holen&amp;quot; kann um die Aktionen zu beobachten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;screen -x [name]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Hole dir den Screen &amp;quot;name&amp;quot;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;STRG+D+A&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Deattached den Screen (um wieder zur Konsole zu gelangen)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;STRG+A+SPACE&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Wechselt zwischen mehreren Screens&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;exit&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Killt den Screen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;screen -ls&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Listet alle Screens&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weitere Befehle ==&lt;br /&gt;
=== diff und patch ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Typo3 - Patch einspielen]]&lt;br /&gt;
&lt;br /&gt;
Ein &amp;quot;diff&amp;quot; erzeugen mit dem GNU Programm diff&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 diff  [-optionen ]  dateiname1.php  dateiname2.php&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beschreibung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Diff vergleicht die beiden angegebenen Dateien und gibt auf die Standardausgabe aus, welche Zeilen wie geändert werden müssen. Ein &amp;quot;diff&amp;quot; kann dann unter Verwendung des GNU Programmes patch wieder in eine andere original Datei eingefügt werden, man nennt das auch Patchen. Das Programm patch weiß anhand der Informationen welche diff erzeugt hat, ganz genau an welcher Stelle (Zeile) was geändert werden muss.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Es besteht auch die Möglichkeit aus den Unterschieden von 2 Verzeichnissen ein &amp;quot;diff&amp;quot; zu erzeugen.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Wir erstellen erst mal ein &amp;quot;unified diff&amp;quot; mit Parameter -u (vereinheitlicht) aus zwei verschiedenen Dateien, diese Variante wird meistens angewendet bzw. gebraucht.&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe von diff wird dabei einfach mit &amp;gt; in eine neue Datei umgeleitet:&lt;br /&gt;
&lt;br /&gt;
 diff  -u  original.php  gaenderte.php  &amp;gt;  meinpatch.diff&lt;br /&gt;
&lt;br /&gt;
Wir erstellen nun ein &amp;quot;unified diff&amp;quot; aus zwei Verzeichnissen.&lt;br /&gt;
&lt;br /&gt;
Entscheidend hierfür ist der Parameter -r (Vergleiche jegliche Unterverzeichnisse rekursiv).:&lt;br /&gt;
&lt;br /&gt;
 diff  -ru  originalverzeichnis/  gaendertverzeichnis/  &amp;gt;  meindirpatch.diff&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Einen Patch einspielen mit dem GNU Programm patch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 patch  [-optionen]  &amp;lt;  name_des_Patch.diff&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Beschreibung:&lt;br /&gt;
&lt;br /&gt;
Das Unixprogram patch manipuliert Quelltext anhand eines Patches. Es ist somit das Gegenstück zu dem Programm diff, das Patches erzeugt.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Zum Testen kann der Parameter --dry-run (Keine änderungen an Dateien, nur die Ausgabe was währe wenn ...) verwendet werden. Weiter ist eventuell auch noch der Parameter -b oder --backup zu empfehlen, da hiermit automatisch Sicherheitskopien der betreffenden Dateien gemacht werden.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Der Parameter -p1 bringt patch dazu, die Änderungen der Dateien, die in dem Patch angegeben sind, anzuwenden und den ersten Teil des Pfades zu den Dateien zu überspringen. Patches werden oft so erstellt, dass das Hauptverzeichnis des Quellcode-Baumes in dem Patch enthalten ist, sollen die Dateien aber von innerhalb des Hauptverzeichnisses gepatcht werden, muss patch der Parameter -p1 übergeben werden.&lt;br /&gt;
&lt;br /&gt;
Zum Beispiel unter der Annahme der Dateiname in der Patchdatei war:&lt;br /&gt;
&lt;br /&gt;
 /u/howard/src/blurfl/blurfl.c&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Ein setzen des Parameters -p0 würde die Datei nicht modifizieren,&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Paramenter -p1 würde daraus u/howard/src/blurfl/blurfl.c ohne den führenden &amp;quot;/&amp;quot; machen ,&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Parameter -p4 würde daraus blurfl/blurfl.c machen&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
und ohne -p würde es blurfl.c sein.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Mit dem Parameter -R kann man Änderungen eines einmal angewendeten Patches zurücknehmen.&lt;br /&gt;
&lt;br /&gt;
 patch  -p1  &amp;lt;  patchdatei.diff&lt;br /&gt;
&lt;br /&gt;
== wget, scp und curl ==&lt;br /&gt;
Mit wget kann man Dateien von einem Server holen. &lt;br /&gt;
&lt;br /&gt;
curl kann das gleiche und zusätzlich auch Dateien auf einen Server spielen. Außerdem kann es wenn richtig konfiguriert auch sftp und andere Protokolle.&lt;br /&gt;
&lt;br /&gt;
scp ermöglicht ssh downloads&lt;br /&gt;
&lt;br /&gt;
=== wget ===&lt;br /&gt;
&lt;br /&gt;
wget -&amp;gt; siehe auch  z.B. im Kapitel Typo3 Installation unter Linux&lt;br /&gt;
&lt;br /&gt;
=== curl ===&lt;br /&gt;
&lt;br /&gt;
curl - Tool zum Transfer von Daten von und zu einem Server. Diverse Protokolle möglich:  (HTTP, HTTPS, FTP, FTPS, GOPHER, DICT, TELNET, LDAP or FILE)&lt;br /&gt;
&lt;br /&gt;
curl kann ohne Benutzerinteraktion z.B. über Skripte ausgeführ werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# curl [options] [URL...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es gibt sehr viele Optionen.&lt;br /&gt;
&lt;br /&gt;
Beispiele&lt;br /&gt;
&lt;br /&gt;
Eine Webseite holen und auf der Standardausgabe (stdout) ausgeben:&lt;br /&gt;
&lt;br /&gt;
 # curl http://www.domain.com&lt;br /&gt;
&lt;br /&gt;
Eine Webseite holen und in eine Datei speichern:&lt;br /&gt;
&lt;br /&gt;
 # curl http://www.domain.com -o &amp;quot;file1.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mehrere Dokumente holen und variable Ersetzungen mit dem aktuellen String der zu holenden URL durchführen:&lt;br /&gt;
&lt;br /&gt;
 # curl http://{one,two}.site.com -o &amp;quot;file_#1.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To download go to http://curl.haxx.se&lt;br /&gt;
Author: Daniel Stenberg&lt;br /&gt;
&lt;br /&gt;
(Quelle: http://www.coolcommands.com/index.php?option=com_cccat&amp;amp;task=display&amp;amp;id=341 Zugriff am 26.1.)&lt;br /&gt;
&lt;br /&gt;
Einfacher Download:&lt;br /&gt;
 # curl -C - -O http://www.mirror.com/path/to/NeoOffice-Patch.dmg&lt;br /&gt;
&lt;br /&gt;
Download mit Passwort&lt;br /&gt;
 # curl -u username sftp://shell.example.com/deepdir/foo.txt&lt;br /&gt;
oder&lt;br /&gt;
 curl -u username:password sftp://shell.example.com/deepdir/foo.txt&lt;br /&gt;
&lt;br /&gt;
http://curl.netmirror.org/docs/manual.html&lt;br /&gt;
&lt;br /&gt;
=== scp ===&lt;br /&gt;
 scp user@domain.com:/path/to/remote/file /path/to/local/file&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Die_wichtigsten_Linux_Befehle&amp;diff=2055</id>
		<title>Die wichtigsten Linux Befehle</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Die_wichtigsten_Linux_Befehle&amp;diff=2055"/>
		<updated>2010-08-06T13:55:08Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* curl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://cb.vu/unixtoolbox.xhtml&lt;br /&gt;
&lt;br /&gt;
== Die wichtigsten LINUX Befehle auf der Kommandozeile ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE BORDER=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Basics&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;startx&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;startet das X-Window-System und eine grafische Benutzeroberfl&amp;amp;auml;che&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;logout&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;ordnungsgem&amp;amp;auml;&amp;amp;szlig;es Abmelden von der Konsole&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;[BEFEHL] --help&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt einen kurzen Hilfetext zum [BEFEHL] aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;man [BEFEHL]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die Manual-Page zum [BEFEHL] an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td class=&amp;quot;fixed&amp;quot;&amp;gt;info [BEFEHL]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;zeigt Dokument zu [BEFEHL] im Info-System an&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;shutdown -r now&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Rechner neustarten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;shutdown -h now&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Rechner herunterfahren&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Suchen&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;whereis [PROGRAMM]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;sucht in den Verzeichnissen der Umgebungsvariablen PATH nach [PROGRAMM]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;find . | grep [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;sucht ausgehend vom aktuellen Verzeichnis nach [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;grep [SUCHSTRING] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;durchsucht DATEI nach dem Suchbegriff [SUCHSTRING]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;locate [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;durchsucht die Locate-Datenbank nach [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Programme starten&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;[PROG]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Programm [PROG], welches sich im Pfad befindet, starten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;./[PROG]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Programm [PROG], welches sich im aktuellen Verzeichnis befindet, starten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;[PFAD]/[PROG]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Programm [PROG], welches sich im Verzeichnis [PFAD] befindet, starten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Navigation im Dateisystem&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;pwd&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt das aktuelle Verzeichnis aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd /&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt ins Hauptverzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd ..&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt in das &amp;amp;uuml;bergeordnete Verzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt ins Verzeichnis [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd -&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt in das vorherige Verzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt ins Home-Verzeichnis des Benutzers&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Dateien&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cat [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt den Inhalt der Datei [DATEI] auf dem Bildschirm an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;more [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt den Inhalt der Datei [DATEI] seitenweise an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;less [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wie more, man kann aber auch nach oben bl&amp;amp;auml;ttern&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cp [DATEI1] [DATEI2]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;kopiert Datei [DATEI1] in Datei [DATEI2]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mv [DATEI1] [DATEI2]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;benennt Datei [DATEI1] in [DATEI2] um&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mv [DATEI] [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;verschiebt Datei [DATEI] ins Verzeichnis [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;rm [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;l&amp;amp;ouml;scht die Datei [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;touch [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;erzeugt die leere Datei [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Verzeichnisse&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ls&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;kurze Liste des Verzeichnisinhaltes&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ls -l&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;ausf&amp;amp;uuml;hrliche Liste des Verzeichnisinhaltes&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ls -la&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;alle Dateien des Verzeichnisses ausf&amp;amp;uuml;hrlich auflisten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mkdir [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;neues Verzeichnis [VERZ] erstellen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;rmdir [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;das leere Verzeichnis [VERZ] l&amp;amp;ouml;schen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;rm -rf [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;alle Dateien/Verzeichnisse unterhalb des Verzeichnisses [VERZ] l&amp;amp;ouml;schen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Ger&amp;amp;auml;te partitionieren, formatieren, &amp;amp;uuml;berpr&amp;amp;uuml;fen, mounten&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;fdisk [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Partitionierung der Festplatte [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mke2fs [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Anlegen eines ext2-Dateisystems auf dem Ger&amp;amp;auml;t [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;fsck [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Ger&amp;amp;auml;t [DEVICE] auf Fehler &amp;amp;uuml;berpr&amp;amp;uuml;fen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mount /mnt/cdrom&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;bindet eine eingelegte CD-ROM in das Dateisystem ein&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;umount /mnt/cdrom&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;entfernt eine CD-ROM aus dem Dateisystem&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Zugriffsrechte&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;chmod [OPTIONEN] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert die Zugriffsrechte der Datei [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;chgrp [GRUPPE] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert die Gruppe der Datei [DATEI] in [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;chown [OWNER] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert den Eigent&amp;amp;uuml;mer der Datei [DATEI] in [OWNER]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Systeminformationen&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mount&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Ausgabe aller gemounteter Partitionen/Ger&amp;amp;auml;te&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;df&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Ausgabe der Nutzung der gemounteten Ger&amp;amp;auml;te&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;date&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Anzeige von Datum und Uhrzeit&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;free&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt die Nutzung des Arbeitsspeichers aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;uptime&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die Prozessorauslastung und -laufzeit an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;top&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die h&amp;amp;ouml;chsten Ressourcenverbraucher an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ps ax&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt Informationen &amp;amp;uuml;ber laufende Prozesse an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;kill [PID]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;beendet den Prozess mit der Prozess-ID [PID]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;killall [PROZESSNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;beendet alle Prozesse mit dem Namen [PROZESSNAME] (z. B. mozilla)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;uname -a&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt Kernel-Informationen aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;arch&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die Prozessorfamilie an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Benutzerverwaltung&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;id&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt deinen Benutzernamen und die Gruppenmitgliedschaften aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;whoami&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Wer bin ich? Ausgabe des Benutzernamens&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;who&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Wer ist alles eingeloggt? Ausgabe der Benutzernamen, des Terminals und der Login-Zeit.&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;passwd&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert das Passwort des aktuellen Benutzers&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;useradd -m [USERNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;legt den neuen Benutzer [USERNAME] an und erzeugt ein Homeverzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;passwd [USERNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert das Passwort des Benutzers [USERNAME] (nur als root)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;userdel -r [USERNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;l&amp;amp;ouml;scht den Benutzer [USERNAME] und sein Homeverzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;groupadd [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;erzeugt eine neue Gruppe [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;groupdel [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;l&amp;amp;ouml;scht die Gruppe [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;screen&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;screen -S [name]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Erzeugt einen &amp;quot;Screen&amp;quot; den sich ein anderer Benutzer &amp;quot;holen&amp;quot; kann um die Aktionen zu beobachten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;screen -x [name]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Hole dir den Screen &amp;quot;name&amp;quot;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;STRG+D+A&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Deattached den Screen (um wieder zur Konsole zu gelangen)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;STRG+A+SPACE&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Wechselt zwischen mehreren Screens&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;exit&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Killt den Screen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;screen -ls&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Listet alle Screens&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weitere Befehle ==&lt;br /&gt;
=== diff und patch ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Typo3 - Patch einspielen]]&lt;br /&gt;
&lt;br /&gt;
Ein &amp;quot;diff&amp;quot; erzeugen mit dem GNU Programm diff&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 diff  [-optionen ]  dateiname1.php  dateiname2.php&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beschreibung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Diff vergleicht die beiden angegebenen Dateien und gibt auf die Standardausgabe aus, welche Zeilen wie geändert werden müssen. Ein &amp;quot;diff&amp;quot; kann dann unter Verwendung des GNU Programmes patch wieder in eine andere original Datei eingefügt werden, man nennt das auch Patchen. Das Programm patch weiß anhand der Informationen welche diff erzeugt hat, ganz genau an welcher Stelle (Zeile) was geändert werden muss.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Es besteht auch die Möglichkeit aus den Unterschieden von 2 Verzeichnissen ein &amp;quot;diff&amp;quot; zu erzeugen.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Wir erstellen erst mal ein &amp;quot;unified diff&amp;quot; mit Parameter -u (vereinheitlicht) aus zwei verschiedenen Dateien, diese Variante wird meistens angewendet bzw. gebraucht.&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe von diff wird dabei einfach mit &amp;gt; in eine neue Datei umgeleitet:&lt;br /&gt;
&lt;br /&gt;
 diff  -u  original.php  gaenderte.php  &amp;gt;  meinpatch.diff&lt;br /&gt;
&lt;br /&gt;
Wir erstellen nun ein &amp;quot;unified diff&amp;quot; aus zwei Verzeichnissen.&lt;br /&gt;
&lt;br /&gt;
Entscheidend hierfür ist der Parameter -r (Vergleiche jegliche Unterverzeichnisse rekursiv).:&lt;br /&gt;
&lt;br /&gt;
 diff  -ru  originalverzeichnis/  gaendertverzeichnis/  &amp;gt;  meindirpatch.diff&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Einen Patch einspielen mit dem GNU Programm patch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 patch  [-optionen]  &amp;lt;  name_des_Patch.diff&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Beschreibung:&lt;br /&gt;
&lt;br /&gt;
Das Unixprogram patch manipuliert Quelltext anhand eines Patches. Es ist somit das Gegenstück zu dem Programm diff, das Patches erzeugt.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Zum Testen kann der Parameter --dry-run (Keine änderungen an Dateien, nur die Ausgabe was währe wenn ...) verwendet werden. Weiter ist eventuell auch noch der Parameter -b oder --backup zu empfehlen, da hiermit automatisch Sicherheitskopien der betreffenden Dateien gemacht werden.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Der Parameter -p1 bringt patch dazu, die Änderungen der Dateien, die in dem Patch angegeben sind, anzuwenden und den ersten Teil des Pfades zu den Dateien zu überspringen. Patches werden oft so erstellt, dass das Hauptverzeichnis des Quellcode-Baumes in dem Patch enthalten ist, sollen die Dateien aber von innerhalb des Hauptverzeichnisses gepatcht werden, muss patch der Parameter -p1 übergeben werden.&lt;br /&gt;
&lt;br /&gt;
Zum Beispiel unter der Annahme der Dateiname in der Patchdatei war:&lt;br /&gt;
&lt;br /&gt;
 /u/howard/src/blurfl/blurfl.c&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Ein setzen des Parameters -p0 würde die Datei nicht modifizieren,&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Paramenter -p1 würde daraus u/howard/src/blurfl/blurfl.c ohne den führenden &amp;quot;/&amp;quot; machen ,&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Parameter -p4 würde daraus blurfl/blurfl.c machen&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
und ohne -p würde es blurfl.c sein.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Mit dem Parameter -R kann man Änderungen eines einmal angewendeten Patches zurücknehmen.&lt;br /&gt;
&lt;br /&gt;
 patch  -p1  &amp;lt;  patchdatei.diff&lt;br /&gt;
&lt;br /&gt;
== wget, scp und curl ==&lt;br /&gt;
Mit wget kann man Dateien von einem Server holen. &lt;br /&gt;
&lt;br /&gt;
curl kann das gleiche und zusätzlich auch Dateien auf einen Server spielen. Außerdem kann es wenn richtig konfiguriert auch sftp und andere Protokolle.&lt;br /&gt;
&lt;br /&gt;
scp ermöglicht ssh downloads&lt;br /&gt;
&lt;br /&gt;
=== wget ===&lt;br /&gt;
&lt;br /&gt;
wget -&amp;gt; siehe auch  z.B. im Kapitel Typo3 Installation unter Linux&lt;br /&gt;
&lt;br /&gt;
=== curl ===&lt;br /&gt;
&lt;br /&gt;
curl - Tool zum Transfer von Daten von und zu einem Server. Diverse Protokolle möglich:  (HTTP, HTTPS, FTP, FTPS, GOPHER, DICT, TELNET, LDAP or FILE)&lt;br /&gt;
&lt;br /&gt;
curl kann ohne Benutzerinteraktion z.B. über Skripte ausgeführ werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# curl [options] [URL...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Too many options to list, see that documentation!&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
To get a page from a web site and output it to stdout:&lt;br /&gt;
&lt;br /&gt;
 # curl http://www.domain.com&lt;br /&gt;
&lt;br /&gt;
To get a web page and output it to a file:&lt;br /&gt;
&lt;br /&gt;
 # curl http://www.domain.com -o &amp;quot;file1.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To get multiple documents using varaible replacement with the current string for the URL being fetched:&lt;br /&gt;
&lt;br /&gt;
 # curl http://{one,two}.site.com -o &amp;quot;file_#1.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To download go to http://curl.haxx.se&lt;br /&gt;
Author: Daniel Stenberg&lt;br /&gt;
&lt;br /&gt;
(Quelle: http://www.coolcommands.com/index.php?option=com_cccat&amp;amp;task=display&amp;amp;id=341 Zugriff am 26.1.)&lt;br /&gt;
&lt;br /&gt;
 curl -u username sftp://shell.example.com/deepdir/foo.txt&lt;br /&gt;
oder&lt;br /&gt;
 curl -u username:password sftp://shell.example.com/deepdir/foo.txt&lt;br /&gt;
&lt;br /&gt;
http://curl.netmirror.org/docs/manual.html&lt;br /&gt;
&lt;br /&gt;
=== scp ===&lt;br /&gt;
 scp user@domain.com:/path/to/remote/file /path/to/local/file&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Die_wichtigsten_Linux_Befehle&amp;diff=2054</id>
		<title>Die wichtigsten Linux Befehle</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Die_wichtigsten_Linux_Befehle&amp;diff=2054"/>
		<updated>2010-07-30T11:36:09Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://cb.vu/unixtoolbox.xhtml&lt;br /&gt;
&lt;br /&gt;
== Die wichtigsten LINUX Befehle auf der Kommandozeile ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE BORDER=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Basics&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;startx&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;startet das X-Window-System und eine grafische Benutzeroberfl&amp;amp;auml;che&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;logout&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;ordnungsgem&amp;amp;auml;&amp;amp;szlig;es Abmelden von der Konsole&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;[BEFEHL] --help&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt einen kurzen Hilfetext zum [BEFEHL] aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;man [BEFEHL]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die Manual-Page zum [BEFEHL] an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td class=&amp;quot;fixed&amp;quot;&amp;gt;info [BEFEHL]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;zeigt Dokument zu [BEFEHL] im Info-System an&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;shutdown -r now&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Rechner neustarten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;shutdown -h now&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Rechner herunterfahren&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Suchen&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;whereis [PROGRAMM]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;sucht in den Verzeichnissen der Umgebungsvariablen PATH nach [PROGRAMM]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;find . | grep [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;sucht ausgehend vom aktuellen Verzeichnis nach [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;grep [SUCHSTRING] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;durchsucht DATEI nach dem Suchbegriff [SUCHSTRING]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;locate [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;durchsucht die Locate-Datenbank nach [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Programme starten&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;[PROG]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Programm [PROG], welches sich im Pfad befindet, starten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;./[PROG]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Programm [PROG], welches sich im aktuellen Verzeichnis befindet, starten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;[PFAD]/[PROG]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Programm [PROG], welches sich im Verzeichnis [PFAD] befindet, starten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Navigation im Dateisystem&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;pwd&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt das aktuelle Verzeichnis aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd /&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt ins Hauptverzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd ..&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt in das &amp;amp;uuml;bergeordnete Verzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt ins Verzeichnis [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd -&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt in das vorherige Verzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt ins Home-Verzeichnis des Benutzers&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Dateien&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cat [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt den Inhalt der Datei [DATEI] auf dem Bildschirm an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;more [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt den Inhalt der Datei [DATEI] seitenweise an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;less [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wie more, man kann aber auch nach oben bl&amp;amp;auml;ttern&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cp [DATEI1] [DATEI2]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;kopiert Datei [DATEI1] in Datei [DATEI2]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mv [DATEI1] [DATEI2]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;benennt Datei [DATEI1] in [DATEI2] um&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mv [DATEI] [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;verschiebt Datei [DATEI] ins Verzeichnis [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;rm [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;l&amp;amp;ouml;scht die Datei [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;touch [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;erzeugt die leere Datei [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Verzeichnisse&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ls&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;kurze Liste des Verzeichnisinhaltes&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ls -l&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;ausf&amp;amp;uuml;hrliche Liste des Verzeichnisinhaltes&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ls -la&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;alle Dateien des Verzeichnisses ausf&amp;amp;uuml;hrlich auflisten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mkdir [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;neues Verzeichnis [VERZ] erstellen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;rmdir [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;das leere Verzeichnis [VERZ] l&amp;amp;ouml;schen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;rm -rf [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;alle Dateien/Verzeichnisse unterhalb des Verzeichnisses [VERZ] l&amp;amp;ouml;schen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Ger&amp;amp;auml;te partitionieren, formatieren, &amp;amp;uuml;berpr&amp;amp;uuml;fen, mounten&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;fdisk [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Partitionierung der Festplatte [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mke2fs [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Anlegen eines ext2-Dateisystems auf dem Ger&amp;amp;auml;t [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;fsck [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Ger&amp;amp;auml;t [DEVICE] auf Fehler &amp;amp;uuml;berpr&amp;amp;uuml;fen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mount /mnt/cdrom&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;bindet eine eingelegte CD-ROM in das Dateisystem ein&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;umount /mnt/cdrom&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;entfernt eine CD-ROM aus dem Dateisystem&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Zugriffsrechte&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;chmod [OPTIONEN] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert die Zugriffsrechte der Datei [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;chgrp [GRUPPE] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert die Gruppe der Datei [DATEI] in [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;chown [OWNER] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert den Eigent&amp;amp;uuml;mer der Datei [DATEI] in [OWNER]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Systeminformationen&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mount&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Ausgabe aller gemounteter Partitionen/Ger&amp;amp;auml;te&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;df&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Ausgabe der Nutzung der gemounteten Ger&amp;amp;auml;te&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;date&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Anzeige von Datum und Uhrzeit&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;free&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt die Nutzung des Arbeitsspeichers aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;uptime&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die Prozessorauslastung und -laufzeit an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;top&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die h&amp;amp;ouml;chsten Ressourcenverbraucher an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ps ax&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt Informationen &amp;amp;uuml;ber laufende Prozesse an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;kill [PID]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;beendet den Prozess mit der Prozess-ID [PID]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;killall [PROZESSNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;beendet alle Prozesse mit dem Namen [PROZESSNAME] (z. B. mozilla)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;uname -a&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt Kernel-Informationen aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;arch&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die Prozessorfamilie an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Benutzerverwaltung&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;id&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt deinen Benutzernamen und die Gruppenmitgliedschaften aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;whoami&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Wer bin ich? Ausgabe des Benutzernamens&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;who&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Wer ist alles eingeloggt? Ausgabe der Benutzernamen, des Terminals und der Login-Zeit.&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;passwd&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert das Passwort des aktuellen Benutzers&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;useradd -m [USERNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;legt den neuen Benutzer [USERNAME] an und erzeugt ein Homeverzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;passwd [USERNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert das Passwort des Benutzers [USERNAME] (nur als root)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;userdel -r [USERNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;l&amp;amp;ouml;scht den Benutzer [USERNAME] und sein Homeverzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;groupadd [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;erzeugt eine neue Gruppe [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;groupdel [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;l&amp;amp;ouml;scht die Gruppe [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;screen&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;screen -S [name]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Erzeugt einen &amp;quot;Screen&amp;quot; den sich ein anderer Benutzer &amp;quot;holen&amp;quot; kann um die Aktionen zu beobachten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;screen -x [name]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Hole dir den Screen &amp;quot;name&amp;quot;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;STRG+D+A&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Deattached den Screen (um wieder zur Konsole zu gelangen)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;STRG+A+SPACE&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Wechselt zwischen mehreren Screens&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;exit&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Killt den Screen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;screen -ls&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Listet alle Screens&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weitere Befehle ==&lt;br /&gt;
=== diff und patch ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Typo3 - Patch einspielen]]&lt;br /&gt;
&lt;br /&gt;
Ein &amp;quot;diff&amp;quot; erzeugen mit dem GNU Programm diff&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 diff  [-optionen ]  dateiname1.php  dateiname2.php&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beschreibung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Diff vergleicht die beiden angegebenen Dateien und gibt auf die Standardausgabe aus, welche Zeilen wie geändert werden müssen. Ein &amp;quot;diff&amp;quot; kann dann unter Verwendung des GNU Programmes patch wieder in eine andere original Datei eingefügt werden, man nennt das auch Patchen. Das Programm patch weiß anhand der Informationen welche diff erzeugt hat, ganz genau an welcher Stelle (Zeile) was geändert werden muss.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Es besteht auch die Möglichkeit aus den Unterschieden von 2 Verzeichnissen ein &amp;quot;diff&amp;quot; zu erzeugen.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Wir erstellen erst mal ein &amp;quot;unified diff&amp;quot; mit Parameter -u (vereinheitlicht) aus zwei verschiedenen Dateien, diese Variante wird meistens angewendet bzw. gebraucht.&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe von diff wird dabei einfach mit &amp;gt; in eine neue Datei umgeleitet:&lt;br /&gt;
&lt;br /&gt;
 diff  -u  original.php  gaenderte.php  &amp;gt;  meinpatch.diff&lt;br /&gt;
&lt;br /&gt;
Wir erstellen nun ein &amp;quot;unified diff&amp;quot; aus zwei Verzeichnissen.&lt;br /&gt;
&lt;br /&gt;
Entscheidend hierfür ist der Parameter -r (Vergleiche jegliche Unterverzeichnisse rekursiv).:&lt;br /&gt;
&lt;br /&gt;
 diff  -ru  originalverzeichnis/  gaendertverzeichnis/  &amp;gt;  meindirpatch.diff&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Einen Patch einspielen mit dem GNU Programm patch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 patch  [-optionen]  &amp;lt;  name_des_Patch.diff&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Beschreibung:&lt;br /&gt;
&lt;br /&gt;
Das Unixprogram patch manipuliert Quelltext anhand eines Patches. Es ist somit das Gegenstück zu dem Programm diff, das Patches erzeugt.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Zum Testen kann der Parameter --dry-run (Keine änderungen an Dateien, nur die Ausgabe was währe wenn ...) verwendet werden. Weiter ist eventuell auch noch der Parameter -b oder --backup zu empfehlen, da hiermit automatisch Sicherheitskopien der betreffenden Dateien gemacht werden.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Der Parameter -p1 bringt patch dazu, die Änderungen der Dateien, die in dem Patch angegeben sind, anzuwenden und den ersten Teil des Pfades zu den Dateien zu überspringen. Patches werden oft so erstellt, dass das Hauptverzeichnis des Quellcode-Baumes in dem Patch enthalten ist, sollen die Dateien aber von innerhalb des Hauptverzeichnisses gepatcht werden, muss patch der Parameter -p1 übergeben werden.&lt;br /&gt;
&lt;br /&gt;
Zum Beispiel unter der Annahme der Dateiname in der Patchdatei war:&lt;br /&gt;
&lt;br /&gt;
 /u/howard/src/blurfl/blurfl.c&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Ein setzen des Parameters -p0 würde die Datei nicht modifizieren,&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Paramenter -p1 würde daraus u/howard/src/blurfl/blurfl.c ohne den führenden &amp;quot;/&amp;quot; machen ,&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Parameter -p4 würde daraus blurfl/blurfl.c machen&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
und ohne -p würde es blurfl.c sein.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Mit dem Parameter -R kann man Änderungen eines einmal angewendeten Patches zurücknehmen.&lt;br /&gt;
&lt;br /&gt;
 patch  -p1  &amp;lt;  patchdatei.diff&lt;br /&gt;
&lt;br /&gt;
== wget, scp und curl ==&lt;br /&gt;
Mit wget kann man Dateien von einem Server holen. &lt;br /&gt;
&lt;br /&gt;
curl kann das gleiche und zusätzlich auch Dateien auf einen Server spielen. Außerdem kann es wenn richtig konfiguriert auch sftp und andere Protokolle.&lt;br /&gt;
&lt;br /&gt;
scp ermöglicht ssh downloads&lt;br /&gt;
&lt;br /&gt;
=== wget ===&lt;br /&gt;
&lt;br /&gt;
wget -&amp;gt; siehe auch  z.B. im Kapitel Typo3 Installation unter Linux&lt;br /&gt;
&lt;br /&gt;
=== curl ===&lt;br /&gt;
&lt;br /&gt;
curl - tool to transfer data to and from a server using http, https, ftp, telnet, ldap, gopher, file&lt;br /&gt;
Description&lt;br /&gt;
&lt;br /&gt;
curl is a tool to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, GOPHER, DICT, TELNET, LDAP or FILE). The command is designed to work without user interaction.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# curl [options] [URL...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Too many options to list, see that documentation!&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
To get a page from a web site and output it to stdout:&lt;br /&gt;
&lt;br /&gt;
 # curl http://www.domain.com&lt;br /&gt;
&lt;br /&gt;
To get a web page and output it to a file:&lt;br /&gt;
&lt;br /&gt;
 # curl http://www.domain.com -o &amp;quot;file1.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To get multiple documents using varaible replacement with the current string for the URL being fetched:&lt;br /&gt;
&lt;br /&gt;
 # curl http://{one,two}.site.com -o &amp;quot;file_#1.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To download go to http://curl.haxx.se&lt;br /&gt;
Author: Daniel Stenberg&lt;br /&gt;
&lt;br /&gt;
(Quelle: http://www.coolcommands.com/index.php?option=com_cccat&amp;amp;task=display&amp;amp;id=341 Zugriff am 26.1.)&lt;br /&gt;
&lt;br /&gt;
 curl -u username sftp://shell.example.com/deepdir/foo.txt&lt;br /&gt;
oder&lt;br /&gt;
 curl -u username:password sftp://shell.example.com/deepdir/foo.txt&lt;br /&gt;
&lt;br /&gt;
http://curl.netmirror.org/docs/manual.html&lt;br /&gt;
&lt;br /&gt;
=== scp ===&lt;br /&gt;
 scp user@domain.com:/path/to/remote/file /path/to/local/file&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Die_wichtigsten_Linux_Befehle&amp;diff=2053</id>
		<title>Die wichtigsten Linux Befehle</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Die_wichtigsten_Linux_Befehle&amp;diff=2053"/>
		<updated>2010-07-30T11:35:35Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://cb.vu/unixtoolbox.xhtml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TABLE BORDER=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Basics&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;startx&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;startet das X-Window-System und eine grafische Benutzeroberfl&amp;amp;auml;che&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;logout&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;ordnungsgem&amp;amp;auml;&amp;amp;szlig;es Abmelden von der Konsole&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;[BEFEHL] --help&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt einen kurzen Hilfetext zum [BEFEHL] aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;man [BEFEHL]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die Manual-Page zum [BEFEHL] an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
 &amp;lt;td class=&amp;quot;fixed&amp;quot;&amp;gt;info [BEFEHL]&amp;lt;/td&amp;gt;&lt;br /&gt;
 &amp;lt;td&amp;gt;zeigt Dokument zu [BEFEHL] im Info-System an&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;shutdown -r now&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Rechner neustarten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;shutdown -h now&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Rechner herunterfahren&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Suchen&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;whereis [PROGRAMM]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;sucht in den Verzeichnissen der Umgebungsvariablen PATH nach [PROGRAMM]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;find . | grep [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;sucht ausgehend vom aktuellen Verzeichnis nach [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;grep [SUCHSTRING] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;durchsucht DATEI nach dem Suchbegriff [SUCHSTRING]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;locate [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;durchsucht die Locate-Datenbank nach [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Programme starten&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;[PROG]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Programm [PROG], welches sich im Pfad befindet, starten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;./[PROG]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Programm [PROG], welches sich im aktuellen Verzeichnis befindet, starten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;[PFAD]/[PROG]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Programm [PROG], welches sich im Verzeichnis [PFAD] befindet, starten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Navigation im Dateisystem&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;pwd&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt das aktuelle Verzeichnis aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd /&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt ins Hauptverzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd ..&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt in das &amp;amp;uuml;bergeordnete Verzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt ins Verzeichnis [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd -&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt in das vorherige Verzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cd&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wechselt ins Home-Verzeichnis des Benutzers&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Dateien&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cat [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt den Inhalt der Datei [DATEI] auf dem Bildschirm an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;more [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt den Inhalt der Datei [DATEI] seitenweise an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;less [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;wie more, man kann aber auch nach oben bl&amp;amp;auml;ttern&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;cp [DATEI1] [DATEI2]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;kopiert Datei [DATEI1] in Datei [DATEI2]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mv [DATEI1] [DATEI2]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;benennt Datei [DATEI1] in [DATEI2] um&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mv [DATEI] [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;verschiebt Datei [DATEI] ins Verzeichnis [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;rm [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;l&amp;amp;ouml;scht die Datei [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;touch [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;erzeugt die leere Datei [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Verzeichnisse&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ls&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;kurze Liste des Verzeichnisinhaltes&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ls -l&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;ausf&amp;amp;uuml;hrliche Liste des Verzeichnisinhaltes&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ls -la&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;alle Dateien des Verzeichnisses ausf&amp;amp;uuml;hrlich auflisten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mkdir [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;neues Verzeichnis [VERZ] erstellen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;rmdir [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;das leere Verzeichnis [VERZ] l&amp;amp;ouml;schen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;rm -rf [VERZ]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;alle Dateien/Verzeichnisse unterhalb des Verzeichnisses [VERZ] l&amp;amp;ouml;schen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Ger&amp;amp;auml;te partitionieren, formatieren, &amp;amp;uuml;berpr&amp;amp;uuml;fen, mounten&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;fdisk [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Partitionierung der Festplatte [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mke2fs [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Anlegen eines ext2-Dateisystems auf dem Ger&amp;amp;auml;t [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;fsck [DEVICE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Ger&amp;amp;auml;t [DEVICE] auf Fehler &amp;amp;uuml;berpr&amp;amp;uuml;fen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mount /mnt/cdrom&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;bindet eine eingelegte CD-ROM in das Dateisystem ein&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;umount /mnt/cdrom&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;entfernt eine CD-ROM aus dem Dateisystem&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Zugriffsrechte&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;chmod [OPTIONEN] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert die Zugriffsrechte der Datei [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;chgrp [GRUPPE] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert die Gruppe der Datei [DATEI] in [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;chown [OWNER] [DATEI]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert den Eigent&amp;amp;uuml;mer der Datei [DATEI] in [OWNER]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Systeminformationen&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;mount&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Ausgabe aller gemounteter Partitionen/Ger&amp;amp;auml;te&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;df&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Ausgabe der Nutzung der gemounteten Ger&amp;amp;auml;te&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;date&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Anzeige von Datum und Uhrzeit&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;free&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt die Nutzung des Arbeitsspeichers aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;uptime&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die Prozessorauslastung und -laufzeit an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;top&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die h&amp;amp;ouml;chsten Ressourcenverbraucher an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;ps ax&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt Informationen &amp;amp;uuml;ber laufende Prozesse an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;kill [PID]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;beendet den Prozess mit der Prozess-ID [PID]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;killall [PROZESSNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;beendet alle Prozesse mit dem Namen [PROZESSNAME] (z. B. mozilla)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;uname -a&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt Kernel-Informationen aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;arch&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;zeigt die Prozessorfamilie an&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD CLASS=&amp;quot;tablehead&amp;quot; COLSPAN=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Benutzerverwaltung&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;id&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;TD&amp;gt;gibt deinen Benutzernamen und die Gruppenmitgliedschaften aus&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;whoami&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Wer bin ich? Ausgabe des Benutzernamens&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;who&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Wer ist alles eingeloggt? Ausgabe der Benutzernamen, des Terminals und der Login-Zeit.&amp;lt;/TD&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;passwd&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert das Passwort des aktuellen Benutzers&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;useradd -m [USERNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;legt den neuen Benutzer [USERNAME] an und erzeugt ein Homeverzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;passwd [USERNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;amp;auml;ndert das Passwort des Benutzers [USERNAME] (nur als root)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;userdel -r [USERNAME]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;l&amp;amp;ouml;scht den Benutzer [USERNAME] und sein Homeverzeichnis&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;groupadd [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;erzeugt eine neue Gruppe [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;groupdel [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;l&amp;amp;ouml;scht die Gruppe [GRUPPE]&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;screen&amp;lt;/strong&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;screen -S [name]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Erzeugt einen &amp;quot;Screen&amp;quot; den sich ein anderer Benutzer &amp;quot;holen&amp;quot; kann um die Aktionen zu beobachten&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;screen -x [name]&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Hole dir den Screen &amp;quot;name&amp;quot;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;STRG+D+A&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Deattached den Screen (um wieder zur Konsole zu gelangen)&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;STRG+A+SPACE&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Wechselt zwischen mehreren Screens&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;exit&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Killt den Screen&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;screen -ls&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;Listet alle Screens&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;TR&amp;gt;&lt;br /&gt;
 &amp;lt;TD class=&amp;quot;fixed&amp;quot;&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
 &amp;lt;TD&amp;gt;&amp;lt;/TD&amp;gt;&lt;br /&gt;
&amp;lt;/TR&amp;gt;&lt;br /&gt;
&amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weitere Befehle ==&lt;br /&gt;
=== diff und patch ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch: [[Typo3 - Patch einspielen]]&lt;br /&gt;
&lt;br /&gt;
Ein &amp;quot;diff&amp;quot; erzeugen mit dem GNU Programm diff&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 diff  [-optionen ]  dateiname1.php  dateiname2.php&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beschreibung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Diff vergleicht die beiden angegebenen Dateien und gibt auf die Standardausgabe aus, welche Zeilen wie geändert werden müssen. Ein &amp;quot;diff&amp;quot; kann dann unter Verwendung des GNU Programmes patch wieder in eine andere original Datei eingefügt werden, man nennt das auch Patchen. Das Programm patch weiß anhand der Informationen welche diff erzeugt hat, ganz genau an welcher Stelle (Zeile) was geändert werden muss.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Es besteht auch die Möglichkeit aus den Unterschieden von 2 Verzeichnissen ein &amp;quot;diff&amp;quot; zu erzeugen.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Wir erstellen erst mal ein &amp;quot;unified diff&amp;quot; mit Parameter -u (vereinheitlicht) aus zwei verschiedenen Dateien, diese Variante wird meistens angewendet bzw. gebraucht.&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe von diff wird dabei einfach mit &amp;gt; in eine neue Datei umgeleitet:&lt;br /&gt;
&lt;br /&gt;
 diff  -u  original.php  gaenderte.php  &amp;gt;  meinpatch.diff&lt;br /&gt;
&lt;br /&gt;
Wir erstellen nun ein &amp;quot;unified diff&amp;quot; aus zwei Verzeichnissen.&lt;br /&gt;
&lt;br /&gt;
Entscheidend hierfür ist der Parameter -r (Vergleiche jegliche Unterverzeichnisse rekursiv).:&lt;br /&gt;
&lt;br /&gt;
 diff  -ru  originalverzeichnis/  gaendertverzeichnis/  &amp;gt;  meindirpatch.diff&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Einen Patch einspielen mit dem GNU Programm patch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 patch  [-optionen]  &amp;lt;  name_des_Patch.diff&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Beschreibung:&lt;br /&gt;
&lt;br /&gt;
Das Unixprogram patch manipuliert Quelltext anhand eines Patches. Es ist somit das Gegenstück zu dem Programm diff, das Patches erzeugt.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Zum Testen kann der Parameter --dry-run (Keine änderungen an Dateien, nur die Ausgabe was währe wenn ...) verwendet werden. Weiter ist eventuell auch noch der Parameter -b oder --backup zu empfehlen, da hiermit automatisch Sicherheitskopien der betreffenden Dateien gemacht werden.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Der Parameter -p1 bringt patch dazu, die Änderungen der Dateien, die in dem Patch angegeben sind, anzuwenden und den ersten Teil des Pfades zu den Dateien zu überspringen. Patches werden oft so erstellt, dass das Hauptverzeichnis des Quellcode-Baumes in dem Patch enthalten ist, sollen die Dateien aber von innerhalb des Hauptverzeichnisses gepatcht werden, muss patch der Parameter -p1 übergeben werden.&lt;br /&gt;
&lt;br /&gt;
Zum Beispiel unter der Annahme der Dateiname in der Patchdatei war:&lt;br /&gt;
&lt;br /&gt;
 /u/howard/src/blurfl/blurfl.c&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Ein setzen des Parameters -p0 würde die Datei nicht modifizieren,&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Paramenter -p1 würde daraus u/howard/src/blurfl/blurfl.c ohne den führenden &amp;quot;/&amp;quot; machen ,&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Parameter -p4 würde daraus blurfl/blurfl.c machen&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
und ohne -p würde es blurfl.c sein.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Mit dem Parameter -R kann man Änderungen eines einmal angewendeten Patches zurücknehmen.&lt;br /&gt;
&lt;br /&gt;
 patch  -p1  &amp;lt;  patchdatei.diff&lt;br /&gt;
&lt;br /&gt;
== wget, scp und curl ==&lt;br /&gt;
Mit wget kann man Dateien von einem Server holen. &lt;br /&gt;
&lt;br /&gt;
curl kann das gleiche und zusätzlich auch Dateien auf einen Server spielen. Außerdem kann es wenn richtig konfiguriert auch sftp und andere Protokolle.&lt;br /&gt;
&lt;br /&gt;
scp ermöglicht ssh downloads&lt;br /&gt;
&lt;br /&gt;
=== wget ===&lt;br /&gt;
&lt;br /&gt;
wget -&amp;gt; siehe auch  z.B. im Kapitel Typo3 Installation unter Linux&lt;br /&gt;
&lt;br /&gt;
=== curl ===&lt;br /&gt;
&lt;br /&gt;
curl - tool to transfer data to and from a server using http, https, ftp, telnet, ldap, gopher, file&lt;br /&gt;
Description&lt;br /&gt;
&lt;br /&gt;
curl is a tool to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, GOPHER, DICT, TELNET, LDAP or FILE). The command is designed to work without user interaction.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# curl [options] [URL...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Too many options to list, see that documentation!&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
To get a page from a web site and output it to stdout:&lt;br /&gt;
&lt;br /&gt;
 # curl http://www.domain.com&lt;br /&gt;
&lt;br /&gt;
To get a web page and output it to a file:&lt;br /&gt;
&lt;br /&gt;
 # curl http://www.domain.com -o &amp;quot;file1.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To get multiple documents using varaible replacement with the current string for the URL being fetched:&lt;br /&gt;
&lt;br /&gt;
 # curl http://{one,two}.site.com -o &amp;quot;file_#1.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To download go to http://curl.haxx.se&lt;br /&gt;
Author: Daniel Stenberg&lt;br /&gt;
&lt;br /&gt;
(Quelle: http://www.coolcommands.com/index.php?option=com_cccat&amp;amp;task=display&amp;amp;id=341 Zugriff am 26.1.)&lt;br /&gt;
&lt;br /&gt;
 curl -u username sftp://shell.example.com/deepdir/foo.txt&lt;br /&gt;
oder&lt;br /&gt;
 curl -u username:password sftp://shell.example.com/deepdir/foo.txt&lt;br /&gt;
&lt;br /&gt;
http://curl.netmirror.org/docs/manual.html&lt;br /&gt;
&lt;br /&gt;
=== scp ===&lt;br /&gt;
 scp user@domain.com:/path/to/remote/file /path/to/local/file&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Musterinstallation_mit_eingebundenem_TypoScript&amp;diff=18665</id>
		<title>TYPO3 - Musterinstallation mit eingebundenem TypoScript</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Musterinstallation_mit_eingebundenem_TypoScript&amp;diff=18665"/>
		<updated>2010-07-30T10:08:11Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Quickstart&lt;br /&gt;
&lt;br /&gt;
* Installation über KAS&lt;br /&gt;
* evtl. Update über Script (TODO)&lt;br /&gt;
* Install Tool&lt;br /&gt;
* Datenbank auf utf-8 umstellen (alles)&lt;br /&gt;
* Seitenbaum importieren (uid erzwingen)&lt;br /&gt;
* baseURL anpassen&lt;br /&gt;
* Ordner mit CSS, HTML-Templates etc. hochspielen&lt;br /&gt;
* template selector Extension&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Musterinstallation_mit_eingebundenem_TypoScript&amp;diff=2051</id>
		<title>TYPO3 - Musterinstallation mit eingebundenem TypoScript</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_-_Musterinstallation_mit_eingebundenem_TypoScript&amp;diff=2051"/>
		<updated>2010-07-30T09:35:08Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Quickstart&lt;br /&gt;
&lt;br /&gt;
- Installation über KAS&lt;br /&gt;
- evtl. Update über Script (TODO)&lt;br /&gt;
- Install Tool&lt;br /&gt;
- Datenbank auf utf-8 umstellen (alles)&lt;br /&gt;
- Seitenbaum importieren (uid erzwingen)&lt;br /&gt;
- baseURL anpassen&lt;br /&gt;
- Ordner mit CSS, HTML-Templates etc. hochspielen&lt;br /&gt;
- template selector Extension&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=11055</id>
		<title>TYPO3 auf utf-8 umstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=11055"/>
		<updated>2010-07-16T10:06:36Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Konvertierung einer bestehenden Datenbank */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
Artikel aus dem t3n Magazin&lt;br /&gt;
[[http://t3n.de/magazin/mysql-typo3-utf-8-umstellen-tipps-wechsel-latin1-utf-8-220945/]]&lt;br /&gt;
&lt;br /&gt;
Guter Überblick im TYPO3 Wiki&lt;br /&gt;
[[http://wiki.typo3.org/index.php/UTF-8_support]]&lt;br /&gt;
&lt;br /&gt;
== Überblick / Overview ==&lt;br /&gt;
Verarbeitungskette prüfen vhost.conf - php.ini - my.cnf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Verarbeitungskette ===&lt;br /&gt;
Zuerst mal testen ob in der Verarbeitungskette überall utf-8 für die Übertragung von Daten verwendet wird:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Apache: vhost.conf ====&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
Dies ist für TYPO3 Versionen spätestens ab 4.3 nicht notwendig. Wenn man hier im Install Tool &amp;#039;&amp;#039;[BE][forceCharset]&amp;#039;&amp;#039; gesetzt hat&lt;br /&gt;
&lt;br /&gt;
Kann einfach getestet werden indem man sich die Header Daten einer Seite mit Firebug oder LiveHTTPTracker anschaut. Darin sollte eine Zeile in dieser Art enthalten sein:&lt;br /&gt;
&lt;br /&gt;
 Content-Type: text/html; charset=utf-8&lt;br /&gt;
&lt;br /&gt;
==== PHP: php.ini ====&lt;br /&gt;
 default_charset = &amp;quot;utf-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mit dieser Einstellung sollten auch standalone Skripte mit dem richtigen Zeichensatz arbeiten. Man kann in den Skripten aber auch &lt;br /&gt;
&lt;br /&gt;
Außerdem sollte mit der Erweiterung mbstring oder iconf gearbeitet werden. Deren Performance ist wesentlich besser als die Umwandlung über den PHP-Code von TYPO3 (s.u.)&lt;br /&gt;
&lt;br /&gt;
==== MySQL: my.cnf ====&lt;br /&gt;
Die folgende Einstellung setzt alle System Variablen für Zeichensätze und Kollationen für den MySQL SERVER. Dies betrifft also auch existierende Datenbanken. Deshalb sollte diese Einstellung nur gesetzt werden wenn ausschließlich mit utf-8 Datenbanken gearbeitet wird.&lt;br /&gt;
&lt;br /&gt;
Man benötigt die Einstellung nicht wenn im Install Tool &amp;#039;&amp;#039;[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;]&amp;#039;&amp;#039;  gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
==== localconf.php ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// For backend charset&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
// For GIFBUILDER support&lt;br /&gt;
// Set it to &amp;#039;iconv&amp;#039; or &amp;#039;mbstring&amp;#039;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_convMethod&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
// For &amp;#039;iconv&amp;#039; support you need at least PHP 5!&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_utils&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweise:&lt;br /&gt;
* Wenn die Datenbank auf  UTF-8 gesetzt ist, sollte man &amp;#039;&amp;#039;&amp;#039;nicht die Einstellung $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;multiplyDBfieldSize&amp;#039;] setzen&amp;#039;&amp;#039;&amp;#039;. Diese wird nur benötigt, wenn die Datenbank mit latin 1 arbeitet aber der Inhalt  utf-8 ist. Außerdem führt die Einstellung des öfteren zu Problemen.&lt;br /&gt;
*  $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; Setzt folgende 3 Einstellungen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 SET character_set_client = utf8; &lt;br /&gt;
 SET character_set_results = utf8; &lt;br /&gt;
 SET character_set_connection = utf8; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wenn &amp;#039;&amp;#039;&amp;#039;in phpMyAdmin Sonderzeichen als 2 seltsame Zeichen&amp;#039;&amp;#039;&amp;#039; angezeigt werden, reicht diese Einstellung nicht. Zuerst müssen die Inhaltstabellen konvertiert werden (oder löschen, umstellen, neu eingeben.&lt;br /&gt;
&lt;br /&gt;
* In &amp;#039;&amp;#039;&amp;#039;manchen Konfigurationen&amp;#039;&amp;#039;&amp;#039; muß man auch noch eine &amp;#039;&amp;#039;&amp;#039;Einstellung für die Sessions&amp;#039;&amp;#039;&amp;#039; machen:&lt;br /&gt;
&lt;br /&gt;
 SET NAMES utf8;&lt;br /&gt;
 SET SESSION character_set_server=utf8;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Benutze niemals SET CHARACTER SET utf8;&amp;#039;&amp;#039;&amp;#039; Dies kann große Probleme im TYPO3 Umfeld erzeugen. Mit der Einstellung SET NAMES hat sich das ohnehin erledigt, weil hier eigentlich die wichtigen Einstellungen gemacht werden&lt;br /&gt;
&lt;br /&gt;
* Wenn [BE][forceCharset] auf utf-8 gesetzt ist (siehe oben), dann wird auch &amp;#039;&amp;#039;config.renderCharset&amp;#039;&amp;#039; und &amp;#039;&amp;#039;config.metaCharset&amp;#039;&amp;#039; per default mit utf-8 arbeiten. Deshalb müssen hier keine Einstellungen mehr gemacht werden.&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
==== RealURL ====&lt;br /&gt;
&lt;br /&gt;
One problem is that RealURL might not be able to understand a page title if it is in unusual (i.e. not Roman) characters. For example, with a page title in Japanese, I found that the title was not interpreted and the page was rendered as jp.html. Using the Navigation title solves this problem (to follow on the example, setting &amp;quot;home&amp;quot; as the Navigation title, my page was then rendered as jp/home.html).&lt;br /&gt;
&lt;br /&gt;
==== TemplaVoila ====&lt;br /&gt;
&lt;br /&gt;
Templates müssen im UTF-8 Format gespeichert werden. Möglicherweise muß neu gemappt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Weitere Hinweise ===&lt;br /&gt;
&lt;br /&gt;
==== Extensions sollten nicht strlen() benutzen====&lt;br /&gt;
Stattdessen sollte die Funktion t3lib_cs benutzt werden.&lt;br /&gt;
&lt;br /&gt;
strlen() doesn&amp;#039;t care for UTF-8. UTF-8 uses 1 to 3 Bytes for one char, so using strlen() will likely lead to wrong results. Extensions should instead use the functions provided in t3lib_cs.&lt;br /&gt;
&lt;br /&gt;
==== Sortierung ====&lt;br /&gt;
It is highly recommended (although not strictly necessary) to use UTF-8 in the database. Otherwise database sorting functions will not work correctly.&lt;br /&gt;
[edit] Problem with indeces&lt;br /&gt;
&lt;br /&gt;
==== Fehlermeldung Specified key was too long bei indizes====&lt;br /&gt;
&lt;br /&gt;
SQL=Specified key was too long; max key length is 1000 bytes:&lt;br /&gt;
&lt;br /&gt;
This particular problem might occur when you are using UTF-8 encoding. UTF-8 uses up to 3 bytes per character, and the maximum index length is 1000 bytes, so the effective maximum index is 1000/3 = 333 characters. Some tables are longer than this, hence the error (many other packages are being bitten by this issue too).&lt;br /&gt;
&lt;br /&gt;
To solve this, simply remove the index from that field and reload.&lt;br /&gt;
&lt;br /&gt;
Note: Using indeces that big anyway is not recommended and shows bad DB design.&lt;br /&gt;
[edit] Convert an already existing database to UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konvertierung einer bestehenden Datenbank ===&lt;br /&gt;
Some links to the conversion topic:&lt;br /&gt;
&lt;br /&gt;
    * http://dev.mysql.com/doc/refman/4.1/en/charset-convert.html (MySQL based conversion)&lt;br /&gt;
    * http://www.typo3-media.com/blog/article/utf8-and-typo3-updated.html&lt;br /&gt;
    * http://m.tacker.org/blog/64.script-to-convert-wordpress-content-encoding.html (useful PHP script to convert charsets) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[edit] Possibility 1&lt;br /&gt;
Note 	This has been tested and works!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jigal van Hemert wrote a script, which can convert your database to utf-8. He offers it for download here: [[http://www.xs4all.nl/~dcbjht/typo3/db_utf8_fix.zip]] . This script converts all columns, tables and finally the setting for the whole database to utf-8.&lt;br /&gt;
&lt;br /&gt;
Jigal writes:&lt;br /&gt;
&lt;br /&gt;
Read the following very carefully, because you have to make a few adjustments depending on the situation!&lt;br /&gt;
&lt;br /&gt;
    * Make a backup of your database before you do such a conversion. &lt;br /&gt;
&lt;br /&gt;
    * The script was meant for the situation where utf-8 encoded data was stored in latin-1 (or other charsets) tables. This was very common in 2008. You can recognize this by looking in PHPmyAdmin and you find that characters with accents (diacriticals) are shown as weird double-character combinations:&lt;br /&gt;
      Instead of &amp;quot;Ali Gökgöz and Gültekin Tarcan&amp;quot; it shows as &amp;quot;Ali GÃ¶kgÃ¶z and GÃ¼ltekin Tarcan&amp;quot;.&lt;br /&gt;
      If this is *not* the case in your situation, turn lines 97 - 107 into comments by putting // in front of them. &lt;br /&gt;
&lt;br /&gt;
    * In line 19 of the script it says define(&amp;quot;SIMULATE&amp;quot;, TRUE); This makes sure that the tables are not really converted, it&amp;#039;s just a practice run; a simulation. After you executed the script at least once and there are no errors you can turn this into define(&amp;quot;SIMULATE&amp;quot;, FALSE); to do the conversion for real. &lt;br /&gt;
&lt;br /&gt;
    * Put the script in a subdirectory of the TYPO3 installation, for example inside &amp;#039;fileadmin&amp;#039;. It is designed to run from a subdirectory so it can pick up the database connection data from localconf.php. &lt;br /&gt;
&lt;br /&gt;
    * Run the script from your browser: http://domain.ext/fileadmin/db_utf8_fix.php It shows each table it found and after the name of a table a dot for each column it has converted. &lt;br /&gt;
&lt;br /&gt;
    * It really doesn&amp;#039;t matter if there are columns/tables already in utf-8 format. &lt;br /&gt;
&lt;br /&gt;
 Settings in TYPO3 &lt;br /&gt;
&lt;br /&gt;
Furthermore, if you use the following settings in the Install Tool you should have a UTF-8 installation:&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 Possibility 2&lt;br /&gt;
&lt;br /&gt;
Dump your database, modifiy the dumped file and import it again.&lt;br /&gt;
Note 	If you do it that way, setting [&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] might cause broken special chars inside TYPO3. See below for more information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Requirements:&lt;br /&gt;
&lt;br /&gt;
    * Shell access to your unix based server&lt;br /&gt;
    * &amp;quot;Sed&amp;quot; package installed on the server &lt;br /&gt;
&lt;br /&gt;
For this example we assume:&lt;br /&gt;
&lt;br /&gt;
    * hostname: domain.com&lt;br /&gt;
    * database: typo3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This example is for linux users. If your PC uses Windows, you can do the same using putty.exe. Enter the hostname in the field &amp;quot;Host Name (or IP adress)&amp;quot; and click on &amp;quot;Open&amp;quot;. Then enter your ssh username, press enter and enter the password (which will not be displayed) and press enter. Then you are connected to the server.&lt;br /&gt;
&lt;br /&gt;
Linux users connect to the server via ssh typing&lt;br /&gt;
&lt;br /&gt;
ssh -l (user) domain.com&lt;br /&gt;
&lt;br /&gt;
Create a backup of the database (for security reasons if things go wrong...)&lt;br /&gt;
&lt;br /&gt;
mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 typo3 &amp;gt; typo3_backup.sql&lt;br /&gt;
&lt;br /&gt;
Dump database (without table typo3.sys_refindex. This prevents the following error: SQL=Specified key was too long; max key length is 1000 bytes. You have to rebuild the reference index afterwards!)&lt;br /&gt;
&lt;br /&gt;
mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 --ignore-table=typo3.sys_refindex  typo3  &amp;gt; typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Now modifiy the dump: Newer versions of MySQL (at least 5.0) also save the collation for each column seperately. You have to convert all of them:&lt;br /&gt;
&lt;br /&gt;
First convert all occurences of &amp;quot;DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci&amp;quot; (use the character set which you have written in your file) in typo3_utf8.sql to &amp;quot;DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
sed  -e &amp;#039;s/DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci/DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci/g&amp;#039; -i typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Then convert all occurences of &amp;quot;COLLATE latin1_german1_ci&amp;quot; (use the charset you have written in your file) to &amp;quot;COLLATE utf8_general_ci&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
sed  -e &amp;#039;s/COLLATE latin1_german1_ci/COLLATE utf8_general_ci/g&amp;#039; -i typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Import database&lt;br /&gt;
&lt;br /&gt;
mysql -u (user) -p(pass) --default-character-set=utf8  typo3 &amp;lt; typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Alter character set and collation for the whole database&lt;br /&gt;
&lt;br /&gt;
mysql -u (user) -p(pass) -e &amp;quot;ALTER DATABASE typo3 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[edit] Settings in TYPO3&lt;br /&gt;
&lt;br /&gt;
Furthermore, if you use the following settings in the Install Tool you should have a UTF-8 installation:&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
[edit] Broken special chars?&lt;br /&gt;
&lt;br /&gt;
If the result of the above mentioned is that special chars are displayed incorrectly in TYPO3 (a small black box with a question mark in it instead of the special char), the following might help:&lt;br /&gt;
&lt;br /&gt;
Create a new database. Make sure that it uses utf8 as default charset and utf8_general_ci as collation:&lt;br /&gt;
&lt;br /&gt;
mysql -user (user) -password(password) -e &amp;quot;ALTER DATABASE (new-db) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Then import the dump into that database without using sed to replace the occurences of latin1 (or what you have) with utf8.&lt;br /&gt;
&lt;br /&gt;
The result will be that the tables and columns in your database still use latin1 (or what you had before).&lt;br /&gt;
&lt;br /&gt;
This might be a problem, e.g. when you now add new tables to this database, they will use utf8 as charset, because the database is set to utf8. This will lead to a mix of both charsets in your DB.&lt;br /&gt;
[edit] Possibility 3&lt;br /&gt;
&lt;br /&gt;
This might be the way to go for german speaking users with a Unix server:&lt;br /&gt;
&lt;br /&gt;
A way similar to possibility 2 is recommended by t3n (german).&lt;br /&gt;
&lt;br /&gt;
Basically they make the dump and replace the charset and collation statements.&lt;br /&gt;
&lt;br /&gt;
Then they use iconv on the dumped file to convert the signs inside:&lt;br /&gt;
&lt;br /&gt;
iconv -f iso-8859-1 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
After that they import the file using the switch --default-character-set=utf8:&lt;br /&gt;
&lt;br /&gt;
mysql -u USER -p PASSWORT -h HOST --default-character-set=utf8 DB &amp;lt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note 	If you did that and get umlauts displayed correctly, but ß and € displayed wrong inside TYPO3, you should use CP1252 in the iconv command as origin charset like that:&lt;br /&gt;
&lt;br /&gt;
iconv -f CP1252 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
=== Filesystem ===&lt;br /&gt;
&lt;br /&gt;
When setting [BE][forceCharset] all files in the TYPO3 root folder and below are handled as UTF-8 files by TYPO3; so you should make sure that they really are. You should e.g. check your HTML-Templates and CSS files for special chars like umlauts. If they are displayed incorrectly, you should fix that by saving the file in UTF-8 format.&lt;br /&gt;
&lt;br /&gt;
When editing such files only use editors which can save files in UTF-8 format. That is any editor on Linux and e.g. Notepad++ if you use Windows.&lt;br /&gt;
&lt;br /&gt;
Attention: Do not save the files in UTF-8 format with Byte Order Mark (BOM). Saving them as UTF-8 with BOM can cause problems, e.g. thumbnails in the BE will no longer be shown. Save the files in ANSI format (as UTF-8 without BOM) instead.&lt;br /&gt;
[edit] t3lib_cs&lt;br /&gt;
&lt;br /&gt;
Developers: Use these functions e.g. to get the length of a string. strlen doesn&amp;#039;t get the correct string-length, because the chars of UTF-8 can have 1...3 Bytes.&lt;br /&gt;
&lt;br /&gt;
In PHP 5.3 PECL/intl will be available, so maybe the TYPO3 Core-Developers switch to this.&lt;br /&gt;
[edit] Use unicode fonts&lt;br /&gt;
&lt;br /&gt;
If you use Gifbuilder to create some lines of text (e.g. in a menu) make sure that the font file you use is unicode. More info here.&lt;br /&gt;
&lt;br /&gt;
If there still are problems with broken special chars in these images, you should make sure that the configuration for mb_string or iconv (the one which you set in the Install Tool) is set to UTF-8. You can check that in phpinfo() and correct the settings in php.ini or .htaccess, if needed.&lt;br /&gt;
[edit] HTML Tidy&lt;br /&gt;
&lt;br /&gt;
If you are having problems with html entities like &amp;amp;nbsp; shown as ? in the browser, add the -utf8 option to the HTML tidy_path variable in the install tool, e.g.&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;FE&amp;#039;][&amp;#039;tidy_path&amp;#039;] = &amp;#039;tidy -i --quiet true --tidy-mark true -wrap 0 -raw --output-xhtml true -utf8&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== External links ====&lt;br /&gt;
&lt;br /&gt;
    * http://dev.mysql.com/doc/refman/5.0/en/charset.html&lt;br /&gt;
    * http://en.opensuse.org/SDB%3AConverting_Files_or_File_Names_to_UTF-8_Encoding&lt;br /&gt;
    * How to change the encoding like iso-8859-1, iso-8859-15, utf-8 of files: http://linuxwiki.de/tcs (just in german in the moment)&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=2046</id>
		<title>TYPO3 auf utf-8 umstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=2046"/>
		<updated>2010-07-16T10:03:45Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* TYPO3 Einstellungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
Artikel aus dem t3n Magazin&lt;br /&gt;
[[http://t3n.de/magazin/mysql-typo3-utf-8-umstellen-tipps-wechsel-latin1-utf-8-220945/]]&lt;br /&gt;
&lt;br /&gt;
Guter Überblick im TYPO3 Wiki&lt;br /&gt;
[[http://wiki.typo3.org/index.php/UTF-8_support]]&lt;br /&gt;
&lt;br /&gt;
== Überblick / Overview ==&lt;br /&gt;
Verarbeitungskette prüfen vhost.conf - php.ini - my.cnf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Verarbeitungskette ===&lt;br /&gt;
Zuerst mal testen ob in der Verarbeitungskette überall utf-8 für die Übertragung von Daten verwendet wird:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Apache: vhost.conf ====&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
Dies ist für TYPO3 Versionen spätestens ab 4.3 nicht notwendig. Wenn man hier im Install Tool &amp;#039;&amp;#039;[BE][forceCharset]&amp;#039;&amp;#039; gesetzt hat&lt;br /&gt;
&lt;br /&gt;
Kann einfach getestet werden indem man sich die Header Daten einer Seite mit Firebug oder LiveHTTPTracker anschaut. Darin sollte eine Zeile in dieser Art enthalten sein:&lt;br /&gt;
&lt;br /&gt;
 Content-Type: text/html; charset=utf-8&lt;br /&gt;
&lt;br /&gt;
==== PHP: php.ini ====&lt;br /&gt;
 default_charset = &amp;quot;utf-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mit dieser Einstellung sollten auch standalone Skripte mit dem richtigen Zeichensatz arbeiten. Man kann in den Skripten aber auch &lt;br /&gt;
&lt;br /&gt;
Außerdem sollte mit der Erweiterung mbstring oder iconf gearbeitet werden. Deren Performance ist wesentlich besser als die Umwandlung über den PHP-Code von TYPO3 (s.u.)&lt;br /&gt;
&lt;br /&gt;
==== MySQL: my.cnf ====&lt;br /&gt;
Die folgende Einstellung setzt alle System Variablen für Zeichensätze und Kollationen für den MySQL SERVER. Dies betrifft also auch existierende Datenbanken. Deshalb sollte diese Einstellung nur gesetzt werden wenn ausschließlich mit utf-8 Datenbanken gearbeitet wird.&lt;br /&gt;
&lt;br /&gt;
Man benötigt die Einstellung nicht wenn im Install Tool &amp;#039;&amp;#039;[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;]&amp;#039;&amp;#039;  gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
==== localconf.php ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// For backend charset&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
// For GIFBUILDER support&lt;br /&gt;
// Set it to &amp;#039;iconv&amp;#039; or &amp;#039;mbstring&amp;#039;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_convMethod&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
// For &amp;#039;iconv&amp;#039; support you need at least PHP 5!&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_utils&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweise:&lt;br /&gt;
* Wenn die Datenbank auf  UTF-8 gesetzt ist, sollte man &amp;#039;&amp;#039;&amp;#039;nicht die Einstellung $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;multiplyDBfieldSize&amp;#039;] setzen&amp;#039;&amp;#039;&amp;#039;. Diese wird nur benötigt, wenn die Datenbank mit latin 1 arbeitet aber der Inhalt  utf-8 ist. Außerdem führt die Einstellung des öfteren zu Problemen.&lt;br /&gt;
*  $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; Setzt folgende 3 Einstellungen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 SET character_set_client = utf8; &lt;br /&gt;
 SET character_set_results = utf8; &lt;br /&gt;
 SET character_set_connection = utf8; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wenn &amp;#039;&amp;#039;&amp;#039;in phpMyAdmin Sonderzeichen als 2 seltsame Zeichen&amp;#039;&amp;#039;&amp;#039; angezeigt werden, reicht diese Einstellung nicht. Zuerst müssen die Inhaltstabellen konvertiert werden (oder löschen, umstellen, neu eingeben.&lt;br /&gt;
&lt;br /&gt;
* In &amp;#039;&amp;#039;&amp;#039;manchen Konfigurationen&amp;#039;&amp;#039;&amp;#039; muß man auch noch eine &amp;#039;&amp;#039;&amp;#039;Einstellung für die Sessions&amp;#039;&amp;#039;&amp;#039; machen:&lt;br /&gt;
&lt;br /&gt;
 SET NAMES utf8;&lt;br /&gt;
 SET SESSION character_set_server=utf8;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Benutze niemals SET CHARACTER SET utf8;&amp;#039;&amp;#039;&amp;#039; Dies kann große Probleme im TYPO3 Umfeld erzeugen. Mit der Einstellung SET NAMES hat sich das ohnehin erledigt, weil hier eigentlich die wichtigen Einstellungen gemacht werden&lt;br /&gt;
&lt;br /&gt;
* Wenn [BE][forceCharset] auf utf-8 gesetzt ist (siehe oben), dann wird auch &amp;#039;&amp;#039;config.renderCharset&amp;#039;&amp;#039; und &amp;#039;&amp;#039;config.metaCharset&amp;#039;&amp;#039; per default mit utf-8 arbeiten. Deshalb müssen hier keine Einstellungen mehr gemacht werden.&lt;br /&gt;
&lt;br /&gt;
=== Extensions ===&lt;br /&gt;
&lt;br /&gt;
==== RealURL ====&lt;br /&gt;
&lt;br /&gt;
One problem is that RealURL might not be able to understand a page title if it is in unusual (i.e. not Roman) characters. For example, with a page title in Japanese, I found that the title was not interpreted and the page was rendered as jp.html. Using the Navigation title solves this problem (to follow on the example, setting &amp;quot;home&amp;quot; as the Navigation title, my page was then rendered as jp/home.html).&lt;br /&gt;
&lt;br /&gt;
==== TemplaVoila ====&lt;br /&gt;
&lt;br /&gt;
Templates müssen im UTF-8 Format gespeichert werden. Möglicherweise muß neu gemappt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Weitere Hinweise ===&lt;br /&gt;
&lt;br /&gt;
==== Extensions sollten nicht strlen() benutzen====&lt;br /&gt;
Stattdessen sollte die Funktion t3lib_cs benutzt werden.&lt;br /&gt;
&lt;br /&gt;
strlen() doesn&amp;#039;t care for UTF-8. UTF-8 uses 1 to 3 Bytes for one char, so using strlen() will likely lead to wrong results. Extensions should instead use the functions provided in t3lib_cs.&lt;br /&gt;
&lt;br /&gt;
==== Sortierung ====&lt;br /&gt;
It is highly recommended (although not strictly necessary) to use UTF-8 in the database. Otherwise database sorting functions will not work correctly.&lt;br /&gt;
[edit] Problem with indeces&lt;br /&gt;
&lt;br /&gt;
==== Fehlermeldung Specified key was too long bei indizes====&lt;br /&gt;
&lt;br /&gt;
SQL=Specified key was too long; max key length is 1000 bytes:&lt;br /&gt;
&lt;br /&gt;
This particular problem might occur when you are using UTF-8 encoding. UTF-8 uses up to 3 bytes per character, and the maximum index length is 1000 bytes, so the effective maximum index is 1000/3 = 333 characters. Some tables are longer than this, hence the error (many other packages are being bitten by this issue too).&lt;br /&gt;
&lt;br /&gt;
To solve this, simply remove the index from that field and reload.&lt;br /&gt;
&lt;br /&gt;
Note: Using indeces that big anyway is not recommended and shows bad DB design.&lt;br /&gt;
[edit] Convert an already existing database to UTF-8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Konvertierung einer bestehenden Datenbank ===&lt;br /&gt;
Some links to the conversion topic:&lt;br /&gt;
&lt;br /&gt;
    * http://dev.mysql.com/doc/refman/4.1/en/charset-convert.html (MySQL based conversion)&lt;br /&gt;
    * http://www.typo3-media.com/blog/article/utf8-and-typo3-updated.html&lt;br /&gt;
    * http://m.tacker.org/blog/64.script-to-convert-wordpress-content-encoding.html (useful PHP script to convert charsets) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[edit] Possibility 1&lt;br /&gt;
Note 	This has been tested and works!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jigal van Hemert wrote a script, which can convert your database to utf-8. He offers it for download here. This script converts all columns, tables and finally the setting for the whole database to utf-8.&lt;br /&gt;
&lt;br /&gt;
Jigal writes:&lt;br /&gt;
&lt;br /&gt;
Read the following very carefully, because you have to make a few adjustments depending on the situation!&lt;br /&gt;
&lt;br /&gt;
    * Make a backup of your database before you do such a conversion. &lt;br /&gt;
&lt;br /&gt;
    * The script was meant for the situation where utf-8 encoded data was stored in latin-1 (or other charsets) tables. This was very common in 2008. You can recognize this by looking in PHPmyAdmin and you find that characters with accents (diacriticals) are shown as weird double-character combinations:&lt;br /&gt;
      Instead of &amp;quot;Ali Gökgöz and Gültekin Tarcan&amp;quot; it shows as &amp;quot;Ali GÃ¶kgÃ¶z and GÃ¼ltekin Tarcan&amp;quot;.&lt;br /&gt;
      If this is *not* the case in your situation, turn lines 97 - 107 into comments by putting // in front of them. &lt;br /&gt;
&lt;br /&gt;
    * In line 19 of the script it says define(&amp;quot;SIMULATE&amp;quot;, TRUE); This makes sure that the tables are not really converted, it&amp;#039;s just a practice run; a simulation. After you executed the script at least once and there are no errors you can turn this into define(&amp;quot;SIMULATE&amp;quot;, FALSE); to do the conversion for real. &lt;br /&gt;
&lt;br /&gt;
    * Put the script in a subdirectory of the TYPO3 installation, for example inside &amp;#039;fileadmin&amp;#039;. It is designed to run from a subdirectory so it can pick up the database connection data from localconf.php. &lt;br /&gt;
&lt;br /&gt;
    * Run the script from your browser: http://domain.ext/fileadmin/db_utf8_fix.php It shows each table it found and after the name of a table a dot for each column it has converted. &lt;br /&gt;
&lt;br /&gt;
    * It really doesn&amp;#039;t matter if there are columns/tables already in utf-8 format. &lt;br /&gt;
&lt;br /&gt;
 Settings in TYPO3 &lt;br /&gt;
&lt;br /&gt;
Furthermore, if you use the following settings in the Install Tool you should have a UTF-8 installation:&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 Possibility 2&lt;br /&gt;
&lt;br /&gt;
Dump your database, modifiy the dumped file and import it again.&lt;br /&gt;
Note 	If you do it that way, setting [&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] might cause broken special chars inside TYPO3. See below for more information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Requirements:&lt;br /&gt;
&lt;br /&gt;
    * Shell access to your unix based server&lt;br /&gt;
    * &amp;quot;Sed&amp;quot; package installed on the server &lt;br /&gt;
&lt;br /&gt;
For this example we assume:&lt;br /&gt;
&lt;br /&gt;
    * hostname: domain.com&lt;br /&gt;
    * database: typo3 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This example is for linux users. If your PC uses Windows, you can do the same using putty.exe. Enter the hostname in the field &amp;quot;Host Name (or IP adress)&amp;quot; and click on &amp;quot;Open&amp;quot;. Then enter your ssh username, press enter and enter the password (which will not be displayed) and press enter. Then you are connected to the server.&lt;br /&gt;
&lt;br /&gt;
Linux users connect to the server via ssh typing&lt;br /&gt;
&lt;br /&gt;
ssh -l (user) domain.com&lt;br /&gt;
&lt;br /&gt;
Create a backup of the database (for security reasons if things go wrong...)&lt;br /&gt;
&lt;br /&gt;
mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 typo3 &amp;gt; typo3_backup.sql&lt;br /&gt;
&lt;br /&gt;
Dump database (without table typo3.sys_refindex. This prevents the following error: SQL=Specified key was too long; max key length is 1000 bytes. You have to rebuild the reference index afterwards!)&lt;br /&gt;
&lt;br /&gt;
mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 --ignore-table=typo3.sys_refindex  typo3  &amp;gt; typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Now modifiy the dump: Newer versions of MySQL (at least 5.0) also save the collation for each column seperately. You have to convert all of them:&lt;br /&gt;
&lt;br /&gt;
First convert all occurences of &amp;quot;DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci&amp;quot; (use the character set which you have written in your file) in typo3_utf8.sql to &amp;quot;DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
sed  -e &amp;#039;s/DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci/DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci/g&amp;#039; -i typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Then convert all occurences of &amp;quot;COLLATE latin1_german1_ci&amp;quot; (use the charset you have written in your file) to &amp;quot;COLLATE utf8_general_ci&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
sed  -e &amp;#039;s/COLLATE latin1_german1_ci/COLLATE utf8_general_ci/g&amp;#039; -i typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Import database&lt;br /&gt;
&lt;br /&gt;
mysql -u (user) -p(pass) --default-character-set=utf8  typo3 &amp;lt; typo3_utf8.sql&lt;br /&gt;
&lt;br /&gt;
Alter character set and collation for the whole database&lt;br /&gt;
&lt;br /&gt;
mysql -u (user) -p(pass) -e &amp;quot;ALTER DATABASE typo3 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[edit] Settings in TYPO3&lt;br /&gt;
&lt;br /&gt;
Furthermore, if you use the following settings in the Install Tool you should have a UTF-8 installation:&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
[edit] Broken special chars?&lt;br /&gt;
&lt;br /&gt;
If the result of the above mentioned is that special chars are displayed incorrectly in TYPO3 (a small black box with a question mark in it instead of the special char), the following might help:&lt;br /&gt;
&lt;br /&gt;
Create a new database. Make sure that it uses utf8 as default charset and utf8_general_ci as collation:&lt;br /&gt;
&lt;br /&gt;
mysql -user (user) -password(password) -e &amp;quot;ALTER DATABASE (new-db) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Then import the dump into that database without using sed to replace the occurences of latin1 (or what you have) with utf8.&lt;br /&gt;
&lt;br /&gt;
The result will be that the tables and columns in your database still use latin1 (or what you had before).&lt;br /&gt;
&lt;br /&gt;
This might be a problem, e.g. when you now add new tables to this database, they will use utf8 as charset, because the database is set to utf8. This will lead to a mix of both charsets in your DB.&lt;br /&gt;
[edit] Possibility 3&lt;br /&gt;
&lt;br /&gt;
This might be the way to go for german speaking users with a Unix server:&lt;br /&gt;
&lt;br /&gt;
A way similar to possibility 2 is recommended by t3n (german).&lt;br /&gt;
&lt;br /&gt;
Basically they make the dump and replace the charset and collation statements.&lt;br /&gt;
&lt;br /&gt;
Then they use iconv on the dumped file to convert the signs inside:&lt;br /&gt;
&lt;br /&gt;
iconv -f iso-8859-1 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
After that they import the file using the switch --default-character-set=utf8:&lt;br /&gt;
&lt;br /&gt;
mysql -u USER -p PASSWORT -h HOST --default-character-set=utf8 DB &amp;lt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note 	If you did that and get umlauts displayed correctly, but ß and € displayed wrong inside TYPO3, you should use CP1252 in the iconv command as origin charset like that:&lt;br /&gt;
&lt;br /&gt;
iconv -f CP1252 -t utf8 dump.sql &amp;gt; dump-iconv.sql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Filesystem ===&lt;br /&gt;
&lt;br /&gt;
When setting [BE][forceCharset] all files in the TYPO3 root folder and below are handled as UTF-8 files by TYPO3; so you should make sure that they really are. You should e.g. check your HTML-Templates and CSS files for special chars like umlauts. If they are displayed incorrectly, you should fix that by saving the file in UTF-8 format.&lt;br /&gt;
&lt;br /&gt;
When editing such files only use editors which can save files in UTF-8 format. That is any editor on Linux and e.g. Notepad++ if you use Windows.&lt;br /&gt;
&lt;br /&gt;
Attention: Do not save the files in UTF-8 format with Byte Order Mark (BOM). Saving them as UTF-8 with BOM can cause problems, e.g. thumbnails in the BE will no longer be shown. Save the files in ANSI format (as UTF-8 without BOM) instead.&lt;br /&gt;
[edit] t3lib_cs&lt;br /&gt;
&lt;br /&gt;
Developers: Use these functions e.g. to get the length of a string. strlen doesn&amp;#039;t get the correct string-length, because the chars of UTF-8 can have 1...3 Bytes.&lt;br /&gt;
&lt;br /&gt;
In PHP 5.3 PECL/intl will be available, so maybe the TYPO3 Core-Developers switch to this.&lt;br /&gt;
[edit] Use unicode fonts&lt;br /&gt;
&lt;br /&gt;
If you use Gifbuilder to create some lines of text (e.g. in a menu) make sure that the font file you use is unicode. More info here.&lt;br /&gt;
&lt;br /&gt;
If there still are problems with broken special chars in these images, you should make sure that the configuration for mb_string or iconv (the one which you set in the Install Tool) is set to UTF-8. You can check that in phpinfo() and correct the settings in php.ini or .htaccess, if needed.&lt;br /&gt;
[edit] HTML Tidy&lt;br /&gt;
&lt;br /&gt;
If you are having problems with html entities like &amp;amp;nbsp; shown as ? in the browser, add the -utf8 option to the HTML tidy_path variable in the install tool, e.g.&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;#039;FE&amp;#039;][&amp;#039;tidy_path&amp;#039;] = &amp;#039;tidy -i --quiet true --tidy-mark true -wrap 0 -raw --output-xhtml true -utf8&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== External links ====&lt;br /&gt;
&lt;br /&gt;
    * http://dev.mysql.com/doc/refman/5.0/en/charset.html&lt;br /&gt;
    * http://en.opensuse.org/SDB%3AConverting_Files_or_File_Names_to_UTF-8_Encoding&lt;br /&gt;
    * How to change the encoding like iso-8859-1, iso-8859-15, utf-8 of files: http://linuxwiki.de/tcs (just in german in the moment)&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=2045</id>
		<title>TYPO3 auf utf-8 umstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=2045"/>
		<updated>2010-07-16T09:50:00Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
Artikel aus dem t3n Magazin&lt;br /&gt;
[[http://t3n.de/magazin/mysql-typo3-utf-8-umstellen-tipps-wechsel-latin1-utf-8-220945/]]&lt;br /&gt;
&lt;br /&gt;
Guter Überblick im TYPO3 Wiki&lt;br /&gt;
[[http://wiki.typo3.org/index.php/UTF-8_support]]&lt;br /&gt;
&lt;br /&gt;
== Überblick / Overview ==&lt;br /&gt;
Verarbeitungskette prüfen vhost.conf - php.ini - my.cnf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Verarbeitungskette ===&lt;br /&gt;
Zuerst mal testen ob in der Verarbeitungskette überall utf-8 für die Übertragung von Daten verwendet wird:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Apache: vhost.conf ====&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
Dies ist für TYPO3 Versionen spätestens ab 4.3 nicht notwendig. Wenn man hier im Install Tool &amp;#039;&amp;#039;[BE][forceCharset]&amp;#039;&amp;#039; gesetzt hat&lt;br /&gt;
&lt;br /&gt;
Kann einfach getestet werden indem man sich die Header Daten einer Seite mit Firebug oder LiveHTTPTracker anschaut. Darin sollte eine Zeile in dieser Art enthalten sein:&lt;br /&gt;
&lt;br /&gt;
 Content-Type: text/html; charset=utf-8&lt;br /&gt;
&lt;br /&gt;
==== PHP: php.ini ====&lt;br /&gt;
 default_charset = &amp;quot;utf-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mit dieser Einstellung sollten auch standalone Skripte mit dem richtigen Zeichensatz arbeiten. Man kann in den Skripten aber auch &lt;br /&gt;
&lt;br /&gt;
Außerdem sollte mit der Erweiterung mbstring oder iconf gearbeitet werden. Deren Performance ist wesentlich besser als die Umwandlung über den PHP-Code von TYPO3 (s.u.)&lt;br /&gt;
&lt;br /&gt;
==== MySQL: my.cnf ====&lt;br /&gt;
Die folgende Einstellung setzt alle System Variablen für Zeichensätze und Kollationen für den MySQL SERVER. Dies betrifft also auch existierende Datenbanken. Deshalb sollte diese Einstellung nur gesetzt werden wenn ausschließlich mit utf-8 Datenbanken gearbeitet wird.&lt;br /&gt;
&lt;br /&gt;
Man benötigt die Einstellung nicht wenn im Install Tool &amp;#039;&amp;#039;[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;]&amp;#039;&amp;#039;  gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
==== localconf.php ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// For backend charset&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
// For GIFBUILDER support&lt;br /&gt;
// Set it to &amp;#039;iconv&amp;#039; or &amp;#039;mbstring&amp;#039;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_convMethod&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
// For &amp;#039;iconv&amp;#039; support you need at least PHP 5!&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_utils&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweise:&lt;br /&gt;
* Wenn die Datenbank auf  UTF-8 gesetzt ist, sollte man &amp;#039;&amp;#039;&amp;#039;nicht die Einstellung $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;multiplyDBfieldSize&amp;#039;] setzen&amp;#039;&amp;#039;&amp;#039;. Diese wird nur benötigt, wenn die Datenbank mit latin 1 arbeitet aber der Inhalt  utf-8 ist. Außerdem führt die Einstellung des öfteren zu Problemen.&lt;br /&gt;
*  $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; Setzt folgende 3 Einstellungen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 SET character_set_client = utf8; &lt;br /&gt;
 SET character_set_results = utf8; &lt;br /&gt;
 SET character_set_connection = utf8; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wenn &amp;#039;&amp;#039;&amp;#039;in phpMyAdmin Sonderzeichen als 2 seltsame Zeichen&amp;#039;&amp;#039;&amp;#039; angezeigt werden, reicht diese Einstellung nicht. Zuerst müssen die Inhaltstabellen konvertiert werden (oder löschen, umstellen, neu eingeben.&lt;br /&gt;
&lt;br /&gt;
* In &amp;#039;&amp;#039;&amp;#039;manchen Konfigurationen&amp;#039;&amp;#039;&amp;#039; muß man auch noch eine &amp;#039;&amp;#039;&amp;#039;Einstellung für die Sessions&amp;#039;&amp;#039;&amp;#039; machen:&lt;br /&gt;
&lt;br /&gt;
 SET NAMES utf8;&lt;br /&gt;
 SET SESSION character_set_server=utf8;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Benutze niemals SET CHARACTER SET utf8;&amp;#039;&amp;#039;&amp;#039; Dies kann große Probleme im TYPO3 Umfeld erzeugen. Mit der Einstellung SET NAMES hat sich das ohnehin erledigt, weil hier eigentlich die wichtigen Einstellungen gemacht werden&lt;br /&gt;
&lt;br /&gt;
* Wenn [BE][forceCharset] auf utf-8 gesetzt ist (siehe oben), dann wird auch &amp;#039;&amp;#039;config.renderCharset&amp;#039;&amp;#039; und &amp;#039;&amp;#039;config.metaCharset&amp;#039;&amp;#039; per default mit utf-8 arbeiten. Deshalb müssen hier keine Einstellungen mehr gemacht werden.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=2044</id>
		<title>TYPO3 auf utf-8 umstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=TYPO3_auf_utf-8_umstellen&amp;diff=2044"/>
		<updated>2010-07-16T09:36:21Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
[[http://www.a-vista-studios.de/avs/blog/208/typo3/datenbank-konvertierung-auf-utf-8/anleitung-und-manual/]]&lt;br /&gt;
&lt;br /&gt;
[[http://wiki.typo3.org/index.php/UTF-8_support]]&lt;br /&gt;
&lt;br /&gt;
== Überblick / Overview ==&lt;br /&gt;
Verarbeitungskette prüfen vhost.conf - php.ini - my.cnf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Verarbeitungskette ===&lt;br /&gt;
Zuerst mal testen ob in der Verarbeitungskette überall utf-8 für die Übertragung von Daten verwendet wird:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Apache: vhost.conf ====&lt;br /&gt;
&lt;br /&gt;
AddDefaultCharset UTF-8&lt;br /&gt;
&lt;br /&gt;
Dies ist für TYPO3 Versionen spätestens ab 4.3 nicht notwendig. Wenn man hier im Install Tool &amp;#039;&amp;#039;[BE][forceCharset]&amp;#039;&amp;#039; gesetzt hat&lt;br /&gt;
&lt;br /&gt;
Kann einfach getestet werden indem man sich die Header Daten einer Seite mit Firebug oder LiveHTTPTracker anschaut. Darin sollte eine Zeile in dieser Art enthalten sein:&lt;br /&gt;
&lt;br /&gt;
 Content-Type: text/html; charset=utf-8&lt;br /&gt;
&lt;br /&gt;
==== PHP: php.ini ====&lt;br /&gt;
 default_charset = &amp;quot;utf-8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mit dieser Einstellung sollten auch standalone Skripte mit dem richtigen Zeichensatz arbeiten. Man kann in den Skripten aber auch &lt;br /&gt;
&lt;br /&gt;
Außerdem sollte mit der Erweiterung mbstring oder iconf gearbeitet werden. Deren Performance ist wesentlich besser als die Umwandlung über den PHP-Code von TYPO3 (s.u.)&lt;br /&gt;
&lt;br /&gt;
==== MySQL: my.cnf ====&lt;br /&gt;
Die folgende Einstellung setzt alle System Variablen für Zeichensätze und Kollationen für den MySQL SERVER. Dies betrifft also auch existierende Datenbanken. Deshalb sollte diese Einstellung nur gesetzt werden wenn ausschließlich mit utf-8 Datenbanken gearbeitet wird.&lt;br /&gt;
&lt;br /&gt;
Man benötigt die Einstellung nicht wenn im Install Tool &amp;#039;&amp;#039;[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;]&amp;#039;&amp;#039;  gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== TYPO3 Einstellungen ===&lt;br /&gt;
&lt;br /&gt;
==== localconf.php ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// For backend charset&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;BE&amp;#039;][&amp;#039;forceCharset&amp;#039;] = &amp;#039;utf-8&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; &lt;br /&gt;
&lt;br /&gt;
// For GIFBUILDER support&lt;br /&gt;
// Set it to &amp;#039;iconv&amp;#039; or &amp;#039;mbstring&amp;#039;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_convMethod&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
// For &amp;#039;iconv&amp;#039; support you need at least PHP 5!&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;t3lib_cs_utils&amp;#039;] = &amp;#039;mbstring&amp;#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweise:&lt;br /&gt;
* Wenn die Datenbank auf  UTF-8 gesetzt ist, sollte man &amp;#039;&amp;#039;&amp;#039;nicht die Einstellung $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;multiplyDBfieldSize&amp;#039;] setzen&amp;#039;&amp;#039;&amp;#039;. Diese wird nur benötigt, wenn die Datenbank mit latin 1 arbeitet aber der Inhalt  utf-8 ist. Außerdem führt die Einstellung des öfteren zu Problemen.&lt;br /&gt;
*  $TYPO3_CONF_VARS[&amp;#039;SYS&amp;#039;][&amp;#039;setDBinit&amp;#039;] = &amp;#039;SET NAMES utf8;&amp;#039;; Setzt folgende 3 Einstellungen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 SET character_set_client = utf8; &lt;br /&gt;
 SET character_set_results = utf8; &lt;br /&gt;
 SET character_set_connection = utf8; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wenn &amp;#039;&amp;#039;&amp;#039;in phpMyAdmin Sonderzeichen als 2 seltsame Zeichen&amp;#039;&amp;#039;&amp;#039; angezeigt werden, reicht diese Einstellung nicht. Zuerst müssen die Inhaltstabellen konvertiert werden (oder löschen, umstellen, neu eingeben.&lt;br /&gt;
&lt;br /&gt;
* In &amp;#039;&amp;#039;&amp;#039;manchen Konfigurationen&amp;#039;&amp;#039;&amp;#039; muß man auch noch eine &amp;#039;&amp;#039;&amp;#039;Einstellung für die Sessions&amp;#039;&amp;#039;&amp;#039; machen:&lt;br /&gt;
&lt;br /&gt;
 SET NAMES utf8;&lt;br /&gt;
 SET SESSION character_set_server=utf8;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Benutze niemals SET CHARACTER SET utf8;&amp;#039;&amp;#039;&amp;#039; Dies kann große Probleme im TYPO3 Umfeld erzeugen. Mit der Einstellung SET NAMES hat sich das ohnehin erledigt, weil hier eigentlich die wichtigen Einstellungen gemacht werden&lt;br /&gt;
&lt;br /&gt;
* Wenn [BE][forceCharset] auf utf-8 gesetzt ist (siehe oben), dann wird auch &amp;#039;&amp;#039;config.renderCharset&amp;#039;&amp;#039; und &amp;#039;&amp;#039;config.metaCharset&amp;#039;&amp;#039; per default mit utf-8 arbeiten. Deshalb müssen hier keine Einstellungen mehr gemacht werden.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Tipps_und_Tricks&amp;diff=12315</id>
		<title>Typo3 - Tipps und Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Tipps_und_Tricks&amp;diff=12315"/>
		<updated>2010-07-16T08:27:16Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Sonderzeichen wie Kaufmannsund wird nicht korrekt umgesetzt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mehr auf &lt;br /&gt;
[[Typo3 - TS Templates]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Wichtige TypoScript Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Baukasten]]&lt;br /&gt;
&lt;br /&gt;
== Ausgabe aus der locallang_tca.xml Datei mit TypoScript verändern ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 plugin.tt_news._LOCAL_LANG.de.latestHeader = Aktuelles&lt;br /&gt;
&lt;br /&gt;
==Mit TS auf die Datenbank zugreifen==&lt;br /&gt;
 temp.veranstaltungstitel=TEXT&lt;br /&gt;
 temp.veranstaltungstitel.data = DB:tabelle:uid:feldname&lt;br /&gt;
&lt;br /&gt;
die uid kannst Du Dir aus der Url auslesen, z.B.&lt;br /&gt;
&lt;br /&gt;
 temp.veranstaltungstitel=TEXT&lt;br /&gt;
 temp.veranstaltungstitel.data = DB:tt_news:{GPvar:tx_ttnews|tt_news}:title&lt;br /&gt;
&lt;br /&gt;
== Zeichensatz ==&lt;br /&gt;
=== TYPO3 vollständig auf utf-8 umstellen ===&lt;br /&gt;
[[TYPO3 auf utf-8 umstellen]]&lt;br /&gt;
&lt;br /&gt;
===Sonderzeichen wie Kaufmannsund wird nicht korrekt umgesetzt===&lt;br /&gt;
 stdWrap.htmlSpecialChars = 1&lt;br /&gt;
&lt;br /&gt;
=== Pipe Symbol und andere Sonderzeichen verwenden ===&lt;br /&gt;
Das Pipesymbol wird in Wraps ja als Trennzeichen verwendet. Um es als Zeichen auszugeben kann man auch das HTML Entity verwenden (&amp;amp;#124;) das Funktioniert natürlich auch mit anderen Sonderzeichen.&lt;br /&gt;
&lt;br /&gt;
=== Zeilenumbruch im Quelltext ===&lt;br /&gt;
Dies läßt sich mit der stdWrap Eigenschaft char erreichen:&lt;br /&gt;
&lt;br /&gt;
 myObject.stdWrap.char = 10&lt;br /&gt;
&lt;br /&gt;
== Metatags ==&lt;br /&gt;
=== Extended Metatags ===&lt;br /&gt;
bis dato (Version 4.1.3) Unverzichtbar&lt;br /&gt;
&lt;br /&gt;
=== Title Tag ===&lt;br /&gt;
aus: http://www.jochen-froehlich.de/typo3-cms/service/typoscript-snippet/title-tag-im-html-header-dynamisch-erweitern/ Datum des Zugriffs: 30.10.2008&lt;br /&gt;
ypo3 setzt den Titel einer Seite (HTML-Tag &amp;#039;title&amp;#039;) standardmäßig auf den Seitentitel der aktuellen Seite. Es gibt jedoch Fälle, bei denen es von Vorteil sein kann, zusätzliche Informationen im Titel anzugeben: Beispielsweise ist es aussagekräftiger, wenn eine Seite im Ergebnis einer Suchmaschine wie Google erscheint und der Titel dabei nicht nur &amp;#039;Kontakt&amp;#039; sondern z.B. &amp;#039;Winkelmann GmbH - Kontakt&amp;#039; lautet.&lt;br /&gt;
&lt;br /&gt;
Mit folgendem TypoScript-Code lässt sich der Seitentitel dynamisch ändern:&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;
 config {&lt;br /&gt;
   # &amp;lt;title&amp;gt;-Tag entfernen&lt;br /&gt;
   noPageTitle = 1&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 page {&lt;br /&gt;
   headerData {&lt;br /&gt;
     10 = TEXT&lt;br /&gt;
     10 {&lt;br /&gt;
       field = title&lt;br /&gt;
       wrap = &amp;lt;title&amp;gt;Titel:&amp;amp;nbsp;|&amp;amp;nbsp;- Text dahinter&amp;lt;/title&amp;gt;&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Es gibt noch eine andere Möglichkeit, den Seitentitel zu ändern, indem Sie unter &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Web/Template&amp;#039;&amp;#039;&amp;#039; direkt das Feld &amp;#039;&amp;#039;&amp;#039;Sitetitle&amp;#039;&amp;#039;&amp;#039; ausfüllen. &lt;br /&gt;
&lt;br /&gt;
Allerdings wird hierdurch nur ermöglicht, einen Text vor den Seitentitel zu bringen.&lt;br /&gt;
&lt;br /&gt;
Wie man im obenstehenden Beispiel sieht, lässt sich durch den TypoScript-Code sowohl vor als auch nach dem eigentlichen Seitentitel ein Text platzieren. Ausserdem können Sie bei Bedarf auch ein anderes Datenbankfeld (&amp;#039;field&amp;#039;) anzeigen lassen, indem Sie in Zeile 10 einfach die Angabe &amp;#039;title&amp;#039; durch einen anderen Wert ersetzen - z.B. &amp;#039;nav_title&amp;#039;, um den Navigationstitel der aktuellen Seite zu bekommen.&lt;br /&gt;
&lt;br /&gt;
== Rendering von Content Elementen und HTML ==&lt;br /&gt;
weitere Infos unter:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Content Elemente anpassen]]&lt;br /&gt;
&lt;br /&gt;
==== Content auf allen Seiten einbinden ====&lt;br /&gt;
* Als erstes legen wir in einem separaten SysOrdner die benötigten Inhaltselemente an.&lt;br /&gt;
* In einem kleinen Extension Template fügen wir die gewünschten Inhalte in einen Marker ein (hier FOOTER)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
page.10.subparts.FOOTER = RECORDS&lt;br /&gt;
page.10.subparts.FOOTER {&lt;br /&gt;
   tables = tt_content&lt;br /&gt;
   source = 105, 56&lt;br /&gt;
   dontCheckPid = 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Erklärung:&lt;br /&gt;
Aus der Tabelle tt_content in der alle Inhaltselemente gespeichert sind werden die Elemente mit der id 1105 und 56 ausgelesen und in den Subpart FOOTER geschrieben. Der Subpart ist vom Typ RECORDS und kann somit beliebige Inhaltselemente enthalten.&lt;br /&gt;
Mit der Angabe dontCheckPid = 1 werden die Inhalte auch dann angezeigt, wenn die Seite versteckt ist.&lt;br /&gt;
&lt;br /&gt;
Die ids der Elemente erfährt man, wenn man mit der Maus über den Content Element Symbolen in der List-Ansicht verharrt.&lt;br /&gt;
&lt;br /&gt;
Wenn man auf einer Unterseite das Element nicht anzeigen will leert man einfach in einem Extension Template das Objekt:&lt;br /&gt;
&lt;br /&gt;
 page.10.subparts.FOOTER &amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Content zusätzlich auf Unterseiten anzeigen (Vererbung von Inhalten)====&lt;br /&gt;
In älteren Versionen (&amp;lt; 4.0) konnte man dazu die Extension KB Content Slide nutzen. In neueren Versionen gibt es die Vererbung von Content Elementen.&lt;br /&gt;
Und so Funktioniert es: &lt;br /&gt;
&lt;br /&gt;
Ein Content Element bekommt die Eigenschaft slide. Das führt dazu, daß z.B. die Inhaltselemente einer Spalte auch auf den Nachfolgenden Unterseiten angezeigt wird (z.B. eine Newsbox in der Randspalte) Es kann eingestellt werden ob bei vorhandensein eines Inhalts auf einer Unterseite dieser ersetzt wird, oder alle beide Inhalte angezeigt (gesammelt) werden.&lt;br /&gt;
&lt;br /&gt;
Zusätzliche Eigenschaften für das cObject &amp;quot;CONTENT&amp;quot;&lt;br /&gt;
Eigenschaft	Datentyp 	Beschreibung	                                   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slide           integer         Aktiviert die Content-Vererbung. &lt;br /&gt;
                                Die Anzahl der Ebenen muss angegeben werden, &lt;br /&gt;
                                die nach oben hin gesucht werden soll. &lt;br /&gt;
                                Bei -1 wird  bis zur Root-Seite  nach &lt;br /&gt;
                                Inhalten gesucht. &lt;br /&gt;
                                Bei der ersten Seite auf der etwas gefunden wird, wird gestoppt.&lt;br /&gt;
&lt;br /&gt;
slide.collect   integer         Aktiviert das Sammeln von Inhalten. &lt;br /&gt;
                                Die Anzahl der Ebenen muss angegeben werden, von denen der Inhalt &lt;br /&gt;
                                gesammelt werden soll. Bei -1 wird bis zur Root-Seite gesucht.&lt;br /&gt;
&lt;br /&gt;
                                Wenn sowohl collect als auch slide.collect mit einem anderen Wert als -1 &lt;br /&gt;
                                angegeben wurden, wird der kleinere Wert für das Sammeln genommen.&lt;br /&gt;
	&lt;br /&gt;
slide.collectReverse boolean    Normalerweise werden beim Sammeln der Content-Elemente die Inhalte der &lt;br /&gt;
                                aktuellen Seite oben gezeigt und dann erst die der übergeordneten Seiten. &lt;br /&gt;
                                Mit diesem Flag kann dies umgekehrt dargestellt werden.&lt;br /&gt;
	&lt;br /&gt;
slide.collectFuzzy boolean      Dieses Flag ist nur nützlich, wenn die Inhalte gesammelt werden. &lt;br /&gt;
                                Wenn keine Inhalte bis zur angegebenen Ebene gefunden wurden, versucht TYPO3 &lt;br /&gt;
                                weiter einen Inhalt zu finden.&lt;br /&gt;
	&lt;br /&gt;
[tsref:(cObject).CONTENT]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch mit TemplaVoila funktioniert es:&lt;br /&gt;
[[Content Slide mit TemplaVoila]]&lt;br /&gt;
&lt;br /&gt;
==== Beispiele ====&lt;br /&gt;
Beispiele aus: http://www.oliver-thiele.de/cms-typo3/tutorials/content-slide.html 12.11.2007&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Das erste Beispiel aktiviert die Content-Vererbung für die rechte Spalte.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
 styles.content.getRight.slide = -1&lt;br /&gt;
&lt;br /&gt;
2. Beispiel&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
styles.content.getRight.slide = -1&lt;br /&gt;
styles.content.getRight.slide {&lt;br /&gt;
    collect = -1&lt;br /&gt;
    # collectReverse = 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel 2 ohne Verwendung von styles.content.get&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   page.10.marks.CONTENT_NORMAL = CONTENT&lt;br /&gt;
   page.10.marks.CONTENT_NORMAL {&lt;br /&gt;
      table = tt_content&lt;br /&gt;
      slide = -1&lt;br /&gt;
      slide {&lt;br /&gt;
         collect = -1&lt;br /&gt;
         collectReverse = 1&lt;br /&gt;
      }&lt;br /&gt;
      select {&lt;br /&gt;
         where = colPos=0&lt;br /&gt;
         orderBy = sorting&lt;br /&gt;
         languageField = sys_language_uid&lt;br /&gt;
     }&lt;br /&gt;
  } &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei diesem Beispiel ist die Inhalts-Ausgabe auf dem Marker ###CONTENT_NORMAL### gemacht worden. Das Objekt 10 ist demnach das cObject &amp;quot;Template&amp;quot;. styles.content.get ist demnach nur eine vereinfachte Schreibweise, die auch erst nach dem Hinzufügen der Statischen Templates  css_styled_content oder damals content(default) funktionierte.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 3. Beispiel Sourcecode für Text-Editor optimiert zeigen.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
styles.content.getRight.slide = -1&lt;br /&gt;
styles.content.getRight.slide {&lt;br /&gt;
    collect = 2&lt;br /&gt;
    # collectReverse = 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Daten im Header &amp;lt;head&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
==== Daten einfügen ====&lt;br /&gt;
Allgemein kann man im Header beliebiges einbauen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
### Header-Data ###&lt;br /&gt;
page.headerData{&lt;br /&gt;
   90 = COA&lt;br /&gt;
   90{&lt;br /&gt;
      50 = TEXT&lt;br /&gt;
&lt;br /&gt;
      50.value (&lt;br /&gt;
&amp;lt;style type=&amp;quot;text/css&amp;quot; media=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
 @import &amp;quot;/fileadmin/templates/multiMenu/multimenu.css&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Multimenu js needed for it to work start--&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; &amp;gt;&lt;br /&gt;
function init(){&lt;br /&gt;
    activateMenu(&amp;#039;nav&amp;#039;);&lt;br /&gt;
/*    activateMenu(&amp;#039;vertnav&amp;#039;);*/&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;script src=&amp;quot;/fileadmin/templates/multiMenu/multimenu.js&amp;quot; &lt;br /&gt;
type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;!-- Multimenu js end --&amp;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;
Es geht oft auch einfacher z.B. mit &amp;#039;&amp;#039;&amp;#039;JavaScript&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
page.includeJS {&lt;br /&gt;
  file1 = fileadmin/helloworld.js&lt;br /&gt;
  file1.type = application/x-javascript&lt;br /&gt;
  file2 = javascript_uploaded_to_template*.js&lt;br /&gt;
  file3 = EXT:meineextension/res/js/meinJS.js (nicht getestet)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder &amp;#039;&amp;#039;&amp;#039;CSS Dateien&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
includeCSS {&lt;br /&gt;
  file1 = fileadmin/mystylesheet1.css&lt;br /&gt;
  file2 = stylesheet_uploaded_to_template*.css&lt;br /&gt;
  file2.title = High contrast&lt;br /&gt;
  file2.media = print&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datum einfügen ===&lt;br /&gt;
z.B. als Marker im Template und dann im TS-Setup so:&lt;br /&gt;
&lt;br /&gt;
 ### datum ###&lt;br /&gt;
 marks.DATE = COA_INT &lt;br /&gt;
 marks.DATE { &lt;br /&gt;
   10 = TEXT &lt;br /&gt;
   10.data = date:U&lt;br /&gt;
   10.strftime = %A, %d.%m.%Y&lt;br /&gt;
   10.wrap = &amp;lt;span class=&amp;quot;mini&amp;quot;&amp;gt; | &amp;lt;/span&amp;gt;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Neuste Inhalte anzeigen ===&lt;br /&gt;
Quelle: http://typo3.umloud.dk/index.php?id=360 22.5.2006&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This shows the content elements in the normal column of the page last created/edited.&lt;br /&gt;
&lt;br /&gt;
Note: &amp;quot;tstamp&amp;quot; ONLY get changed/set when you create a new page, or edit the page header NOT when you insert a content element on a page..&lt;br /&gt;
&lt;br /&gt;
lib.newestContent = COA&lt;br /&gt;
lib.newestContent {&lt;br /&gt;
  # First we collect the uids on all levels of the site&lt;br /&gt;
 &lt;br /&gt;
  # Gets the uids on 1st level&lt;br /&gt;
  10 = LOAD_REGISTER&lt;br /&gt;
  10.level1uids.cObject = CONTENT&lt;br /&gt;
  10.level1uids.cObject {&lt;br /&gt;
    table = pages&lt;br /&gt;
    select.pidInList.data = leveluid:0&lt;br /&gt;
    renderObj = TEXT&lt;br /&gt;
    renderObj.field = uid&lt;br /&gt;
    renderObj.wrap = |,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # Gets the uids on 2nd level&lt;br /&gt;
  20 = LOAD_REGISTER&lt;br /&gt;
  20.level2uids.cObject = CONTENT&lt;br /&gt;
  20.level2uids.cObject {&lt;br /&gt;
    table = pages&lt;br /&gt;
    select.pidInList.cObject = TEXT&lt;br /&gt;
    select.pidInList.cObject.data = register:level1uids&lt;br /&gt;
    renderObj = TEXT&lt;br /&gt;
    renderObj.field = uid&lt;br /&gt;
    renderObj.wrap = |,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # Gets the uids on 3rd level&lt;br /&gt;
  30 = LOAD_REGISTER&lt;br /&gt;
  30.level3uids.cObject = CONTENT&lt;br /&gt;
  30.level3uids.cObject {&lt;br /&gt;
    table = pages&lt;br /&gt;
    select.pidInList.cObject = TEXT&lt;br /&gt;
    select.pidInList.cObject.data = register:level2uids&lt;br /&gt;
    renderObj = TEXT&lt;br /&gt;
    renderObj.field = uid&lt;br /&gt;
    renderObj.wrap = |,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # Gets the uids on 4th level&lt;br /&gt;
  40 = LOAD_REGISTER&lt;br /&gt;
  40.level4uids.cObject = CONTENT&lt;br /&gt;
  40.level4uids.cObject {&lt;br /&gt;
    table = pages&lt;br /&gt;
    select.pidInList.cObject = TEXT&lt;br /&gt;
    select.pidInList.cObject.data = register:level3uids&lt;br /&gt;
    renderObj = TEXT&lt;br /&gt;
    renderObj.field = uid&lt;br /&gt;
    renderObj.wrap = |,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # Gets the uids on 5th level&lt;br /&gt;
  50 = LOAD_REGISTER&lt;br /&gt;
  50.level5uids.cObject = CONTENT&lt;br /&gt;
  50.level5uids.cObject {&lt;br /&gt;
    table = pages&lt;br /&gt;
    select.pidInList.cObject = TEXT&lt;br /&gt;
    select.pidInList.cObject.data = register:level4uids&lt;br /&gt;
    renderObj = TEXT&lt;br /&gt;
    renderObj.field = uid&lt;br /&gt;
    renderObj.wrap = |,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # Gets the uids on 6th level&lt;br /&gt;
  60 = LOAD_REGISTER&lt;br /&gt;
  60.level5uids.cObject = CONTENT&lt;br /&gt;
  60.level5uids.cObject {&lt;br /&gt;
    table = pages&lt;br /&gt;
    select.pidInList.cObject = TEXT&lt;br /&gt;
    select.pidInList.cObject.data = register:level5uids&lt;br /&gt;
    renderObj = TEXT&lt;br /&gt;
    renderObj.field = uid&lt;br /&gt;
    renderObj.wrap = |,&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # next we combine all of them into one list of uids&lt;br /&gt;
  70 = LOAD_REGISTER&lt;br /&gt;
  70.alluids.cObject = COA&lt;br /&gt;
  70.alluids.cObject {&lt;br /&gt;
    10 = TEXT&lt;br /&gt;
    10.data = register:level1uids&lt;br /&gt;
&lt;br /&gt;
    20 = TEXT&lt;br /&gt;
    20.data = register:level2uids&lt;br /&gt;
&lt;br /&gt;
    30 = TEXT&lt;br /&gt;
    30.data = register:level3uids&lt;br /&gt;
&lt;br /&gt;
    40 = TEXT&lt;br /&gt;
    40.data = register:level4uids&lt;br /&gt;
&lt;br /&gt;
    50 = TEXT&lt;br /&gt;
    50.data = register:level5uids&lt;br /&gt;
&lt;br /&gt;
    60 = TEXT&lt;br /&gt;
    60.data = register:level6uids&lt;br /&gt;
&lt;br /&gt;
    70 = TEXT&lt;br /&gt;
    70.data = leveluid:0&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # Test output&lt;br /&gt;
  #75 = TEXT&lt;br /&gt;
  #75.data = register:alluids&lt;br /&gt;
  #75.wrap = [|]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  # More Testoutput&lt;br /&gt;
  80 = CONTENT&lt;br /&gt;
  80 {&lt;br /&gt;
    table = pages&lt;br /&gt;
    select {&lt;br /&gt;
      pidInList.data = register:alluids&lt;br /&gt;
      orderBy = tstamp DESC&lt;br /&gt;
      max = 1&lt;br /&gt;
    }&lt;br /&gt;
    renderObj = COA&lt;br /&gt;
    renderObj {&lt;br /&gt;
      10 = TEXT&lt;br /&gt;
      10.field = title&lt;br /&gt;
      10.wrap = The newest page is:&amp;amp;nbsp;&amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
      20 = TEXT&lt;br /&gt;
      20.field = tstamp&lt;br /&gt;
      20.strftime = %d-%b-%Y %H:%M:%S&lt;br /&gt;
      20.wrap = which was last edited:&amp;amp;nbsp;|&amp;lt;br&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # And the final output of the content elements&lt;br /&gt;
  90 = COA&lt;br /&gt;
  90 {&lt;br /&gt;
    wrap = And here are the content in the normal column of that page:&amp;lt;hr&amp;gt;|&amp;lt;hr&amp;gt;&lt;br /&gt;
    10 = CONTENT&lt;br /&gt;
    10 {&lt;br /&gt;
      table = tt_content&lt;br /&gt;
      select {&lt;br /&gt;
        orderBy = sorting&lt;br /&gt;
        where = colPos=0&lt;br /&gt;
        languageField = sys_language_uid&lt;br /&gt;
        pidInList.cObject = CONTENT&lt;br /&gt;
        pidInList.cObject {&lt;br /&gt;
          table = pages&lt;br /&gt;
          select {&lt;br /&gt;
            pidInList.data = register:alluids&lt;br /&gt;
            orderBy = tstamp DESC&lt;br /&gt;
            max = 1&lt;br /&gt;
          }&lt;br /&gt;
          renderObj = TEXT&lt;br /&gt;
          renderObj.field = uid&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen für Bilder ===&lt;br /&gt;
Größe (maximal, minimal, Popups, Skalierung, Bildunterschriften...)&lt;br /&gt;
====Border Attribut loswerden====&lt;br /&gt;
config.config.disableImgBorderAttr = 1&lt;br /&gt;
&lt;br /&gt;
Wichtig wenn man mit CSS arbeiten möchte.&lt;br /&gt;
&lt;br /&gt;
=== Link to Top ===&lt;br /&gt;
&lt;br /&gt;
=== Darstellung von Tabellen ===&lt;br /&gt;
Betrifft hauptsächlich das static Template content(default)&lt;br /&gt;
&lt;br /&gt;
=== clear.gif und Absätze loswerden ===&lt;br /&gt;
content(default)&lt;br /&gt;
 # Entfernen der &amp;lt;img src=&amp;quot;clear.gif&amp;#039; ...&amp;gt;&lt;br /&gt;
 content.headerSpace = 0|0&lt;br /&gt;
 content.space = 0|0&lt;br /&gt;
&lt;br /&gt;
=== body tag ===&lt;br /&gt;
&lt;br /&gt;
Im Page Objekt kann man das REndering des body tag beeinflussen:&lt;br /&gt;
&lt;br /&gt;
 page.bodyTag = &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externe Links ===&lt;br /&gt;
_self oder _blank, aussehen...&lt;br /&gt;
 styles.content.links.extTarget (bei css_styled_content)&lt;br /&gt;
&lt;br /&gt;
=== Links und Sitemap ===&lt;br /&gt;
Die Links einer eingebundenen Sitemap sind standardmäßig auf den Wert &amp;#039;page&amp;#039; eingestellt (Typo 3.8). Das macht nur bei Framesets Sinn.&lt;br /&gt;
&lt;br /&gt;
Die relevanten Setup-Werte die man ändern muß (je nach ausgewählter Sitemap):&lt;br /&gt;
 tt_content.menu.20.1.1.target = _self&lt;br /&gt;
 tt_content.menu.20.2. [...]&lt;br /&gt;
&lt;br /&gt;
=== Link Target und Anzeige bei Downloadlisten (Filelinks) ===&lt;br /&gt;
So kann man z.B. bei der Extension cssfilelinks das aussehen der Links vernünftig einstellen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 tt_content.uploads.20.layout.fileSize.desc = Byte|kB|MB&lt;br /&gt;
 tt_content.uploads.20.layout.fileSize.char = none&lt;br /&gt;
 tt_content.uploads.20.layout.file = &amp;lt;div class=&amp;quot;###CLASS###&amp;quot;&amp;gt;&amp;lt;span&amp;gt;&amp;lt;a href=&amp;quot;###URL###&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;###TITLE###&amp;lt;/a&amp;gt; ###FILESIZE###  ###CRID### ###MYMARK###&amp;lt;/span&amp;gt;&amp;lt;span&amp;gt;###DESCRIPTION###&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Listenpunkte und Aufzählungen ===&lt;br /&gt;
&lt;br /&gt;
=== Layoutauswahl ===&lt;br /&gt;
siehe [[Typo3 - Rahmen (Frames)]] für Rahmen&lt;br /&gt;
&lt;br /&gt;
und [[Typo3 - Backend anpassen]] für Header (Überschriften)&lt;br /&gt;
&lt;br /&gt;
=== Inline CSS loswerden ===&lt;br /&gt;
Bei vielen Extensions und bei CSS Styled ImgText liegt das CSS Inline. Besser wäre ist es das CSS komplett in eigene Dateien auszulagern.&lt;br /&gt;
&lt;br /&gt;
 # Inline Styles auslagern&lt;br /&gt;
 config.inlineStyle2TempFile = true&lt;br /&gt;
&lt;br /&gt;
=== JavaScript in externe Datei auslagern ===&lt;br /&gt;
Z.B. der kleine JavaScript Schnipsel für das Blur im IE auslagern.&lt;br /&gt;
Wie bindet man externes JavaScript ein...&lt;br /&gt;
&lt;br /&gt;
siehe unter&lt;br /&gt;
[[Typo3 - HTML Code optimieren]]&lt;br /&gt;
&lt;br /&gt;
eine gute Beispielanwendung:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - CSS-Flyout Menü]]&lt;br /&gt;
&lt;br /&gt;
weitere Anwendungen:&lt;br /&gt;
&lt;br /&gt;
- Ajax Gallery auf baum-und-garten.de&lt;br /&gt;
&lt;br /&gt;
=== Ausgabe einer Spalte Wrappen ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #Inhalt rechts&lt;br /&gt;
 subparts.CONTENT_RIGHT &amp;lt; styles.content.getRight&lt;br /&gt;
 #Ganze Spalte Wrappen&lt;br /&gt;
 subparts.CONTENT_RIGHT.wrap = &amp;lt;div class=&amp;quot;content_right&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;&lt;br /&gt;
 #Einzelnes Element Wrappen &lt;br /&gt;
 subparts.CONTENT_RIGHT.renderObj.stdWrap.wrap=&amp;lt;div class=&amp;quot;bordered&amp;quot;&amp;gt;|&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Ausgabe einer Spalte Wrappen wenn nicht leer ===&lt;br /&gt;
Hier wird das content element nur mit einem div gewrapt wenn es nicht leer ist&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.rightContent &amp;lt; styles.content.getRight&lt;br /&gt;
temp.rightContent.stdWrap {&lt;br /&gt;
  wrap = &amp;lt;div id=&amp;quot;right-main&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;&lt;br /&gt;
  if.isTrue.numRows &amp;lt; styles.content.getRight&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(TypoWizard.com 9.1.2006)&lt;br /&gt;
&lt;br /&gt;
===p style=&amp;quot;margin:0 0 0 0;&amp;quot; aus dem p-Tag rausnehmen===&lt;br /&gt;
&lt;br /&gt;
 tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines.addAttributes.P.style=&lt;br /&gt;
&lt;br /&gt;
== Backend anpassen ==&lt;br /&gt;
=== Felder vorbelegen ===&lt;br /&gt;
[[Typo3 - Backend Felder vorbelegen]]&lt;br /&gt;
=== Email Empfänger im Inhaltstyp Formular wird nicht angezeigt ===&lt;br /&gt;
Damit die User den Inhaltstyp Formular nutzen können müssen Sie die E-Mail Empfänger Adresse eingeben. Das Funktioniert dann, wenn in den Rechten das Feld &amp;#039;&amp;#039;Seiteninhalt &amp;gt; Untertitel freigegeben&amp;#039;&amp;#039; ist. Nicht leicht zu finden...&lt;br /&gt;
=== Content element wizard ändern ===&lt;br /&gt;
aus http://krungkuene.org/krung/wiki/Typo3.html 18.5.2006&lt;br /&gt;
&lt;br /&gt;
Dafür erweitere die php-Klasse SC_db_new_content_el und speichere diese datei unter typo3conf/ux_SC_db_new_content_el.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class ux_SC_db_new_content_el extends SC_db_new_content_el {&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  // Modify the Wizard Array, which holds the values shown at create new&lt;br /&gt;
  //record page:&lt;br /&gt;
  function wizardArray() {&lt;br /&gt;
    global $LANG,$TBE_MODULES_EXT;&lt;br /&gt;
    &lt;br /&gt;
    $wizardItems = array(&lt;br /&gt;
                         &amp;quot;common&amp;quot; =&amp;gt; array(&amp;quot;header&amp;quot;=&amp;gt;&amp;quot;Typical page content&amp;quot;),&lt;br /&gt;
                         &lt;br /&gt;
                         &amp;#039;common_1&amp;#039; =&amp;gt; array(&lt;br /&gt;
                                             &amp;quot;icon&amp;quot;=&amp;gt;&amp;#039;../typo3conf/hos/intext_left_wi.gif&amp;#039;,&lt;br /&gt;
                                             &amp;#039;title&amp;#039;=&amp;gt;&amp;#039;Text with Image to the left&amp;#039;,&lt;br /&gt;
                                             &amp;#039;description&amp;#039;=&amp;gt;&amp;#039;A regular text element which contains a image positioned left to the text&amp;#039;,&lt;br /&gt;
                                             &amp;#039;params&amp;#039;=&amp;gt;&amp;#039;&amp;amp;defVals[tt_content][CType]=textpic&amp;amp;defVals[tt_content][imageorient]=26&amp;amp;defVals[tt_content][imagewidth]=80&amp;#039;,&lt;br /&gt;
                                             ),&lt;br /&gt;
&lt;br /&gt;
                         &lt;br /&gt;
                         &amp;quot;common_2&amp;quot; =&amp;gt; array(&lt;br /&gt;
                                             &amp;quot;icon&amp;quot;=&amp;gt;&amp;#039;../typo3conf/hos/fdfx_2cols.gif&amp;#039;,&lt;br /&gt;
                                             &amp;quot;title&amp;quot;=&amp;gt;&amp;#039;Two Column Text&amp;#039;,&lt;br /&gt;
                                             &amp;quot;description&amp;quot;=&amp;gt;&amp;#039;A Text with two Column&amp;#039;,&lt;br /&gt;
                                             &amp;#039;params&amp;#039;=&amp;gt;&amp;#039;&amp;amp;defVals[tt_content][CType]=fdfx_2cols_pi1&amp;#039;&lt;br /&gt;
                                             ),&lt;br /&gt;
                         &lt;br /&gt;
&lt;br /&gt;
                         &amp;#039;common_3&amp;#039; =&amp;gt; array(&lt;br /&gt;
                                             &amp;quot;icon&amp;quot;=&amp;gt;&amp;#039;../typo3conf/hos/intext_right_wi.gif&amp;#039;,&lt;br /&gt;
                                             &amp;#039;title&amp;#039;=&amp;gt;&amp;#039;Text with big Image to the right&amp;#039;,&lt;br /&gt;
                                             &amp;#039;description&amp;#039;=&amp;gt;&amp;#039;A regular text element which contains a image positioned right to the text&amp;#039;,&lt;br /&gt;
                                             &amp;#039;params&amp;#039;=&amp;gt;&amp;#039;&amp;amp;defVals[tt_content][CType]=textpic&amp;amp;defVals[tt_content][imageorient]=25&amp;amp;defVals[tt_content][imagewidth]=480&amp;#039;,&lt;br /&gt;
                                             &amp;#039;tt_content_defValues&amp;#039; =&amp;gt; array(&lt;br /&gt;
                                                                             &amp;#039;CType&amp;#039; =&amp;gt; &amp;#039;textpic&amp;#039;,&lt;br /&gt;
                                                                             &amp;#039;imageorient&amp;#039; =&amp;gt; 25,&lt;br /&gt;
                                                                             &amp;#039;imagewidth&amp;#039; =&amp;gt; 480,&lt;br /&gt;
                                                                             )&lt;br /&gt;
                                             ),&lt;br /&gt;
&lt;br /&gt;
                         );&lt;br /&gt;
    &lt;br /&gt;
    return $wizardItems;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um das ganze auch zu verwenden, mache diesen Eintrag in typo3conf/localconf.php&lt;br /&gt;
&lt;br /&gt;
 $TYPO3_CONF_VARS[&amp;quot;BE&amp;quot;][&amp;quot;XCLASS&amp;quot;][&amp;quot;ext/cms/layout/db_new_content_el.php&amp;quot;] = PATH_typo3conf.&amp;quot;class.ux_db_new_content_el.php&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Login Bild im Backend anpassen ===&lt;br /&gt;
&lt;br /&gt;
Quelle: http://www.allanime.org/?id=143&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Introduction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The TYPO3 backend login displays a nice image left of the actual username/password login box. Currently an image of a pair of gloves is used. If you happen to install the CVS version of TYPO3 the image will differ from what you&amp;#039;re used to see. I remember a yellow flower in older versions (3.6) of TYPO3 an image that is still present in /typo3/gfx/ named loginbox_image_360.jpg. What&amp;#039;s happening there?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TYPO3 has a very cute feature which changes the login box image on certain circumstances. The code is actually in /typo3/index.php. Browsing this code I found another great feature: TYPO3 is also able to „rotate“ images given in a certain directory! All you have to do is, point TYPO3 to this directory. TYPO3 will load all image files in this directory and display a random image.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The way to show TYPO3 this directory is by setting the variable $TBE_STYLES[&amp;#039;loginBoxImage_rotationFolder&amp;#039;] = path_to_dir/&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Unfortunately there is no way to to so without some programming. The TYPO3 init script explicitly deletes the whole array before initializing the backend. The only way to set variables is by creating an extension.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
This super-short Mini-howto will tell you how to set up this wonderful feature in 5 easy steps. I will assume you have access to your webserver by FTP and can create directories and upload files by FTP.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;This is a short overview how it works:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Set up a folder with images&lt;br /&gt;
# Create an extension&lt;br /&gt;
# Add 1 line to this extension and point TYPO3 to your image directory&lt;br /&gt;
# Install extension&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setting Up the Image Folder&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
First you have to prepare the images. One image is fine but of course the more the better. The original images are 200x133 pixel in size, I suggest you create some cute images of the same size but it&amp;#039;s not necessary. Allowed are png, jpg and gif images.&lt;br /&gt;
&lt;br /&gt;
Log on to your website using your favorite FTP tool. You can also set up a TYPO3 filemount to do the same.&lt;br /&gt;
&lt;br /&gt;
Go to the directory typo3conf/&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Create a new empty directory &amp;#039;logonimages&amp;#039;. (Without quotes)&lt;br /&gt;
&lt;br /&gt;
Copy the prepared images to this folder.&lt;br /&gt;
&lt;br /&gt;
Create the Extension&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click images to enlarge. Image count from top to bottom.&lt;br /&gt;
&lt;br /&gt;
„What? I never created an extension! I can never do this!“ - if that&amp;#039;s what you say you&amp;#039;re wrong. You can follow detailed instructions – and all we have to write is one single line of code – which you can as well copy from this document if you used the directory from the last step.&lt;br /&gt;
&lt;br /&gt;
Log on to the TYPO3 backend as administrator. Ignore the ugly log on image &amp;lt;(^.^)&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
    In the Tool menu use „Ext Manager.“ Of course you need to have this module installed. Showing you how to install extensions from the TER (TYPO Extension Repository) is not goal of this Mini-HOWTO.&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
Chose the item „Make new extension“ from the dropdown menu.&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
In the field &amp;quot;Enter Extension key&amp;quot; you type &amp;quot;user_enhancelogin&amp;quot;. Then click on the button &amp;quot;Update.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
Click on the plus symbol next to the line saying „General Info.“ Fill the form like shown in image . Don&amp;#039;t forget to hit the &amp;quot;Update&amp;quot; button!&lt;br /&gt;
[[Bild:ExtensionKickstarter01.jpg]]&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
    In the menu to the left click on the plus symbol next to „Extend existing tables.“ You do not need to type something there. It&amp;#039;s just done to create the empty framework for our single line of code.&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
    At the bottom left of the content frame there is a button now saying „View Result.“ Click it. The result will look like that in image [4]. One really, really important note: Before proceeding you need to make sure in the location dropdown &amp;quot;LOCAL&amp;quot; is chosen! If you fail to do so, your extension might show up for all installations and - if installed -might yield in unexpected results.&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
    Now click the &amp;quot;WRITE&amp;quot; button and the raw empty extension is created.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
That wasn&amp;#039;t too complicated, was it?&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Programming&lt;br /&gt;
&lt;br /&gt;
As a result of the last step, a basic framework of extension has been written to the directory /typo3conf/ext/user_enhancelogin/&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Now to the programming. Log on to your website using FTP and edit the following file:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
typo3conf/user_enhancelogin/ext_tables.php&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
There are different ways to do this. Most advanced FTP programs have an &amp;quot;edit&amp;quot; button. Please refer to your FTP program&amp;#039;s documentation.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Now this is what ext_tables.php should look like. As you can see there is only one line added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
if (!defined(&amp;#039;TYPO3_MODE&amp;#039;)) die(&amp;#039;Access denied.&amp;#039;)&lt;br /&gt;
$GLOBALS[&amp;#039;TBE_STYLES&amp;#039;][&amp;#039;loginBoxImage_rotationFolder&amp;#039;] = &lt;br /&gt;
                                         &amp;#039;../typo3conf/logonimages&amp;#039;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installing the Extension&lt;br /&gt;
&lt;br /&gt;
After saving the extension there should be a success message and a link to install your new extension. Click it.&lt;br /&gt;
&lt;br /&gt;
In the menu to the left please click the link „Clear temp_CACHED.“ In case you ever wondered what this link is for – this it is.&lt;br /&gt;
&lt;br /&gt;
Log out of the TYPO3 backend and test the setup. If you followed the instructions of this manual you should now see your prepared images instead of the glove.&lt;br /&gt;
&lt;br /&gt;
== Suche ==&lt;br /&gt;
===Index-Suche – kein eigenes Fenster öffnen===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 styles.content.searchresult.resultTarget = _self&lt;br /&gt;
 styles.content.searchresult.target = _self&lt;br /&gt;
&lt;br /&gt;
== Domains anlegen ==&lt;br /&gt;
Todo...&lt;br /&gt;
== Rootline Navigation ==&lt;br /&gt;
Ein Beispiel bei dem zusätzlich Englisch (L=1) berücksichtigt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.rootline_html= HMENU&lt;br /&gt;
temp.rootline_html.special = rootline&lt;br /&gt;
temp.rootline_html.special.range = 0|-1&lt;br /&gt;
temp.rootline_html.1 = TMENU&lt;br /&gt;
temp.rootline_html.1 {&lt;br /&gt;
    wrap = Sie sind hier:&amp;amp;nbsp;|&lt;br /&gt;
   # evt. bestimte Seiten ausblenden...&lt;br /&gt;
   excludeUidList =&lt;br /&gt;
   # Sprache mit der ID 1 (Englisch)&lt;br /&gt;
  target = _top&lt;br /&gt;
  NO {&lt;br /&gt;
    linkWrap= &amp;lt;span class=&amp;quot;pathway&amp;quot;&amp;gt;|&amp;lt;/span&amp;gt;&lt;br /&gt;
    # optionSplit: vor erstem item kein delimiter, sonst immer einer&lt;br /&gt;
    allWrap = | |*| &amp;gt;&amp;amp;nbsp;| |*| &lt;br /&gt;
    ATagBeforeWrap = 0&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Wrap für Englisch&lt;br /&gt;
[globalVar = GP:L = 1]&lt;br /&gt;
temp.rootline_html.1.wrap = You are here:&amp;amp;nbsp;|&lt;br /&gt;
[global]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mehrsprachigkeit ==&lt;br /&gt;
So baut man mehrsprachige Seiten in Typo3:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Mehrsprachige Seiten]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Mehrsprachige Navigation]]&lt;br /&gt;
&lt;br /&gt;
== Spracheinstellungen ==&lt;br /&gt;
&lt;br /&gt;
== HTML-Template einbinden ==&lt;br /&gt;
siehe auch: [[Typo3 - HTML-Templates]]&lt;br /&gt;
Beispiel (das page Objekt muß natürlich vorher definiert werden):&lt;br /&gt;
&lt;br /&gt;
Im TS Template Setup:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
 page.10 = TEMPLATE&lt;br /&gt;
 page.10{&lt;br /&gt;
   template = FILE&lt;br /&gt;
   template.file = fileadmin/templates/main.html&lt;br /&gt;
 &lt;br /&gt;
   ### Subparts ansprechen ###&lt;br /&gt;
   workOnSubpart = DOCUMENT_BODY&lt;br /&gt;
 &lt;br /&gt;
   # Rootline (Pathway) einfügen ###&lt;br /&gt;
   subparts.ROOTLINE &amp;lt; temp.rootline_html&lt;br /&gt;
   &lt;br /&gt;
   # Hauptinhalt&lt;br /&gt;
   subparts.CONTENT &amp;lt; layoutWrap&lt;br /&gt;
   subparts.CONTENT.wrap = &amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;   &lt;br /&gt;
   &lt;br /&gt;
   #Inhalt rechts&lt;br /&gt;
   subparts.CONTENT_RIGHT &amp;lt; styles.content.getRight&lt;br /&gt;
   subparts.CONTENT_RIGHT.wrap = &amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   # Rand bzw. Header&lt;br /&gt;
   subparts.HEADER &amp;lt; styles.content.getBorder&lt;br /&gt;
   subparts.HEADER &amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;&lt;br /&gt;
   # subparts.HEADER &amp;lt; temp.flashHeader&lt;br /&gt;
  &lt;br /&gt;
   ### Hauptnavigation ###&lt;br /&gt;
   subparts.NAVI_LINKS &amp;lt; temp.navi_gLayer&lt;br /&gt;
  &lt;br /&gt;
   ### rechte Navi ###&lt;br /&gt;
   subparts.NAVI_RECHTS &amp;lt;temp.naviGRight&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einstellungen für das Page Objekt ==&lt;br /&gt;
&lt;br /&gt;
== Verschiedene Einstellungen ==&lt;br /&gt;
=== Upload Größe für Anhang im Standard Mailform ===&lt;br /&gt;
Die Größe für Attachements im Standard Mailform ist hart codiert und zwar in der Datei&lt;br /&gt;
 /t3lib/class.t3lib_formmail.php&lt;br /&gt;
&lt;br /&gt;
Soll aber konfigurierbar werden (Stand V.4.1.12 und 4.2.9)&lt;br /&gt;
&lt;br /&gt;
=== Uploads ===&lt;br /&gt;
Todo&lt;br /&gt;
Verschiedene Stellen sind zu beachten: Apache, php, localconf.php (oder Install Tool) Einige Inhaltselemente können separat über TCA eingestellt werden.&lt;br /&gt;
&lt;br /&gt;
Prüfung soll Typo3 später automatisch machen.&lt;br /&gt;
&lt;br /&gt;
=== statische Seiten Simulieren ===&lt;br /&gt;
Statische Seiten simulieren&lt;br /&gt;
 config.simulateStaticDocuments = PATH_INFO&lt;br /&gt;
 config.simulateStaticDocuments_addTitle = 30&lt;br /&gt;
 config.simulateStaticDocuments = 1&lt;br /&gt;
 config.admPanel = 1&lt;br /&gt;
 config.simulateStaticDocuments_noTypeIfNoTitle = 1&lt;br /&gt;
&lt;br /&gt;
.htaccess Datei für Apache Server nicht vergessen (muß nur unbenannt werden)&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen für das Admin Panel ===&lt;br /&gt;
&lt;br /&gt;
===Email===&lt;br /&gt;
&lt;br /&gt;
==== Spamschutz für Email Adressen ====&lt;br /&gt;
 config.spamProtectEmailAddresses = 1&lt;br /&gt;
 config.spamProtectEmailAddresses_atSubst = (at)&lt;br /&gt;
&lt;br /&gt;
==== Absender-Adresse der Formular Mails ====&lt;br /&gt;
Wenn ein Email Feld angegegen wird dann kann man die &amp;#039;&amp;#039;&amp;#039;E-Mail Adresse als Absender&amp;#039;&amp;#039;&amp;#039; angeben:&lt;br /&gt;
 Name | *name= input&lt;br /&gt;
 Email-Adresse |*email=input&lt;br /&gt;
Wichtig ist, daß das Feld &amp;#039;&amp;#039;email&amp;#039;&amp;#039; heißt.&lt;br /&gt;
&lt;br /&gt;
Feste Absenderadresse:&lt;br /&gt;
??&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Antwort an:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 | from_name=hidden | HfWU Mailer&lt;br /&gt;
 | from_email=hidden | stephan.schlegel@hfwu.de&lt;br /&gt;
&lt;br /&gt;
====E-Mail-Absender für automatische E-Mails z.B. über Kontaktformular====&lt;br /&gt;
E-Mail-Adresse&lt;br /&gt;
 plugin.feadmin.dmailsubscription.email = info(at)easy-office4you.de&lt;br /&gt;
E-Mail-Name&lt;br /&gt;
 plugin.feadmin.dmailsubscription.emailName = Barbara Hofbauer&lt;br /&gt;
&lt;br /&gt;
== Typo3 RTE - Einstellungen ==&lt;br /&gt;
=== Nach Update auf IE7 wird kein RTE mehr angezeigt ===&lt;br /&gt;
In den älteren Typo3 Versionen wird der Internet Explorer 7 nicht erkannt. Folgende Änderung im Code vornehmen dann wird auch IE7 erkannt.&lt;br /&gt;
&lt;br /&gt;
[typo3/t3lib/class.t3lib_div.php -&amp;gt; function clientInfo()]&lt;br /&gt;
&lt;br /&gt;
 ..&lt;br /&gt;
 } elseif (strstr($useragent,&amp;quot;MSIE 4&amp;quot;) || strstr($useragent,&amp;quot;MSIE 5&amp;quot;) ||&lt;br /&gt;
 strstr($useragent,&amp;quot;MSIE 6&amp;quot;)) {&lt;br /&gt;
 $bInfo[&amp;quot;BROWSER&amp;quot;]= &amp;quot;msie&amp;quot;;&lt;br /&gt;
 ..&lt;br /&gt;
&lt;br /&gt;
wird erweitert zu:&lt;br /&gt;
&lt;br /&gt;
 ..&lt;br /&gt;
 } elseif (strstr($useragent,&amp;quot;MSIE 4&amp;quot;) || strstr($useragent,&amp;quot;MSIE 5&amp;quot;) ||&lt;br /&gt;
 strstr($useragent,&amp;quot;MSIE 6&amp;quot;) || strstr($useragent,&amp;quot;MSIE 7&amp;quot;)) {&lt;br /&gt;
 $bInfo[&amp;quot;BROWSER&amp;quot;]= &amp;quot;msie&amp;quot;;&lt;br /&gt;
 ..&lt;br /&gt;
&lt;br /&gt;
===RTE Absatz Formatierung einstellen===&lt;br /&gt;
 lib.parseFunc_RTE {&lt;br /&gt;
 nonTypoTagStdWrap.encapsLines.nonWrappedTag &amp;gt;&lt;br /&gt;
 nonTypoTagStdWrap.encapsLines.wrapNonWrappedLines = | &amp;lt;/br&amp;gt;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===HTML-Area (htmlarea) statt RTE===&lt;br /&gt;
Mit der Extension htmlarea kann man den RTE ersetzen. Er bietet einiges mehr an Bearbeitungsfunktionen (wenn man die denn will) aber vor allem läuft er auch auf Mozilla, Firefox, etc. Browsern.&lt;br /&gt;
&lt;br /&gt;
==htmlarea anpassen==&lt;br /&gt;
Die Möglichkeiten des htmlarea Editors sind oft zuviel des Guten. Die meisten Anpassungen des RTE funktionieren auch im htmlarea. Beispiele:&lt;br /&gt;
&lt;br /&gt;
Minimale Funktionalität&lt;br /&gt;
&lt;br /&gt;
Im Page Setup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RTE.default {&lt;br /&gt;
	## Toolbar options applicable to all RTE&amp;#039;s&lt;br /&gt;
	## The TCA configuration may add buttons to the toolbar&lt;br /&gt;
	showButtons =  bold,italic,undo,redo,about&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
## front end RTE configuration for the general public (htmlArea RTE only)&lt;br /&gt;
RTE.default.FE &amp;lt; RTE.default&lt;br /&gt;
&lt;br /&gt;
== Header Image austauschen ==&lt;br /&gt;
[[Typo3 - Header Image austauschen]]&lt;br /&gt;
&lt;br /&gt;
== Schnipsel von http://dokuwiki.intersolution.ch/linux/typo3/typoscript ==&lt;br /&gt;
=== Typoscript ===&lt;br /&gt;
&lt;br /&gt;
===== Template erstellen =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# Cachetime nur zu Testzwecken auf 10 Sekunden setzen!!!&lt;br /&gt;
config.cache_period = 10&lt;br /&gt;
# page Objekt erstellen und Werte zuweisen...&lt;br /&gt;
page = PAGE&lt;br /&gt;
page {&lt;br /&gt;
    typeNum = 0&lt;br /&gt;
    bodyTag = &amp;lt;body bgcolor=&amp;quot;#FFFFFF&amp;quot; topmargin=&amp;quot;0&amp;quot; leftmargin=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    meta.AUTHOR = Bruno Staub&lt;br /&gt;
    meta.DESCRIPTION = Beschreibung der Homepage&lt;br /&gt;
    stylesheet = fileadmin/styles.css&lt;br /&gt;
&lt;br /&gt;
    # Designvorlage integrieren&lt;br /&gt;
    10 = TEMPLATE&lt;br /&gt;
    10.template = FILE&lt;br /&gt;
    10.template.file = fileadmin/vorlage.html&lt;br /&gt;
    10.workOnSubpart = DOKUMENT&lt;br /&gt;
    10.marks.DATUM = TEXT&lt;br /&gt;
    # Datumsausgabe 05.12.2005 - 17:59:10&lt;br /&gt;
    10.marks.DATUM.data = date : d.m.Y - H:i:s&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Code Schnipplets =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    # SEITENTITEL ist ein Platzhalter vom HTML TEMPLATE&lt;br /&gt;
    # aktueller Seitentitel wird aus pages Tabelle ausgelesen&lt;br /&gt;
    # wrap umwickelt den Seitentitel fett (Pipe-Symbol erforderlich!)&lt;br /&gt;
    10.marks.SEITENTITEL = TEXT&lt;br /&gt;
    10.marks.SEITENTITEL.field = title&lt;br /&gt;
    10.marks.SEITENTITEL.wrap = &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    # x explizite Abrage eines Wertes einer x beliebigen Tabelle (Datensatz ID=1)&lt;br /&gt;
    10.marks.SEITENTITEL = TEXT&lt;br /&gt;
    10.marks.SEITENTITEL.data = DB:pages:1:title&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    # GET- und POST-Variablen abragen&lt;br /&gt;
    # http://www.intersolution.ch/index.php?id=0&amp;amp;test=Abfragetext&lt;br /&gt;
    # Falls der Parameter leer ist wird der Seitentitel ausgegeben&lt;br /&gt;
    10.marks.SEITENTITEL = TEXT&lt;br /&gt;
    10.marks.SEITENTITEL.data = GPvar : test // field : title&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    # Bereich marks wird ausgeklammert, dies ermöglicht eine bessere Übersicht&lt;br /&gt;
    # das Logo wird eingelesen und in der Grössen angepasst und unter typo3temp/pics/ mit kryptischem Namen abgelegt&lt;br /&gt;
    # typo3temp/pics/ erhält nach jeder grössenänderung ein neues Bild, Abhilfe löschen per ftp und Cache löschen!!!&lt;br /&gt;
    10.marks {&lt;br /&gt;
    LOGO = IMAGE&lt;br /&gt;
    LOGO.file = fileadmin/images/logo.jpg&lt;br /&gt;
    LOGO.file.width = 178&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    # LOGO dynamisch generieren für Beispielsweise Dummy Trailer Balken&lt;br /&gt;
    # LOGO Grafik logo.jpg wird über den Dummy Balken gelegt, Ebenenreihenfolge Beachten (10,20,30...)&lt;br /&gt;
    10.marks {&lt;br /&gt;
    LOGO = IMAGE&lt;br /&gt;
    LOGO.file = GIFBUILDER&lt;br /&gt;
    LOGO.file.XY = 759, 99&lt;br /&gt;
    LOGO.file.backColor = #697DEE&lt;br /&gt;
    LOGO.file.10 = fileadmin/images/logo.jpg&lt;br /&gt;
    LOGO.file.10.file = 178&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    # Text dynamisch generieren mit GIFBUILDER (Wichtig: Eigenschaft .text und nicht .value verwenden!)&lt;br /&gt;
    MEINTEXT.20 = TEXT&lt;br /&gt;
    MEINTEXT.20.text = Hallo Welt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== CSS styled content =====&lt;br /&gt;
&lt;br /&gt;
  - über den extension Manager System &amp;quot;CSS Styled Content&amp;quot; installieren und unter &amp;quot;include static&amp;quot; from extension&lt;br /&gt;
auf Templateebene zuweisen!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CSS styled content gehört zu den System-Extensions. Gehen Sie deshalb in das Verzeichnis \dummy-3.8.0\typo3\sysext\css_styled_content\css\. Dort finden Sie zwei Beispieldateien: example.css und example_outline.css. Die Stylesheets enthalten Formatierungen für alle in TYPO3 enthaltenen Content-Objekte wie Überschriften, Absätze, Listen, Formulare, Sitemap.&lt;br /&gt;
&lt;br /&gt;
Öffnen Sie eine der Dateien und editieren Sie sie nach Ihren Layout-Vorstellungen. Speichern Sie Ihr bearbeitetes Stylesheet unter einem beliebigen Namen in Ihrem Template-Ordner im Fileadmin ab (\dummy-3.8.0\fileadmin\template\).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anschliessend weisen Sie im Page Template folgenden Code zu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config {&lt;br /&gt;
        doctype = xhtml_trans&lt;br /&gt;
        doctypeSwitch=1&lt;br /&gt;
}&lt;br /&gt;
page = PAGE&lt;br /&gt;
page {&lt;br /&gt;
typeNum = 0&lt;br /&gt;
bodyTag = &amp;lt;body&amp;gt;&lt;br /&gt;
stylesheet = fileadmin/template/mein_stylesheet.css&lt;br /&gt;
}&lt;br /&gt;
page.20 = TEMPLATE&lt;br /&gt;
page.20 {&lt;br /&gt;
           template = FILE&lt;br /&gt;
           template.file = fileadmin/template/mein_template.htm&lt;br /&gt;
           workOnSubpart = DOCUMENT_BODY&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Möchten Sie mehr als eine Stylesheet-Datei einbinden, benötigen Sie folgende TypoScript Anweisung im Setup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
page = PAGE&lt;br /&gt;
page {&lt;br /&gt;
        typeNum = 0&lt;br /&gt;
        bodyTag = &amp;lt;body&amp;gt;&lt;br /&gt;
        includeCSS { &lt;br /&gt;
                file1 =  fileadmin/template/style_1.css&lt;br /&gt;
                file2 =  fileadmin/template/style_2.css&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Konfiguration automaketemplate =====&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
plugin.tx_automaketemplate_pi1 {&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.rmTagSections = title&lt;br /&gt;
      TD.all = 1&lt;br /&gt;
      DIV.all = 1&lt;br /&gt;
   }&lt;br /&gt;
   relPathPrefix = fileadmin/templates/main/&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
temp.contentAreaTemplate = TEMPLATE&lt;br /&gt;
temp.contentAreaTemplate {&lt;br /&gt;
&lt;br /&gt;
   template =&amp;lt; plugin.tx_automaketemplate_pi1&lt;br /&gt;
&lt;br /&gt;
    // Modify the template selector config: This is a sub template!&lt;br /&gt;
   template.content.templateType = sub&lt;br /&gt;
&lt;br /&gt;
   workOnSubpart = DOCUMENT_BODY&lt;br /&gt;
   subparts.CONTENT &amp;lt; styles.content.get&lt;br /&gt;
   subparts.RCONTENT &amp;lt; styles.content.getRight&lt;br /&gt;
   subparts.LCONTENT &amp;lt; styles.content.getLeft&lt;br /&gt;
   subparts.BORDER &amp;lt; styles.content.getBorder&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
temp.mainTemplate = TEMPLATE&lt;br /&gt;
temp.mainTemplate {&lt;br /&gt;
   template =&amp;lt; plugin.tx_automaketemplate_pi1&lt;br /&gt;
   template.content.templateType = main&lt;br /&gt;
&lt;br /&gt;
   workOnSubpart = DOCUMENT_BODY&lt;br /&gt;
   subparts.content &amp;lt; temp.contentAreaTemplate&lt;br /&gt;
&lt;br /&gt;
#   subparts.content = CONTENT&lt;br /&gt;
#   subparts.content &amp;lt; styles.content.get&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
temp.headTemplate = TEMPLATE&lt;br /&gt;
temp.headTemplate {&lt;br /&gt;
   template =&amp;lt; plugin.tx_automaketemplate_pi1&lt;br /&gt;
   workOnSubpart = DOCUMENT_HEADER&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
page = PAGE&lt;br /&gt;
#page.config.incT3Lib_htmlmail = 1&lt;br /&gt;
page {&lt;br /&gt;
   typeNum = 0&lt;br /&gt;
   bodyTag = &amp;lt;body&amp;gt;&lt;br /&gt;
   includeCSS {&lt;br /&gt;
#      file1 = fileadmin/templates/main/res/layout.css&lt;br /&gt;
#      file2 = fileadmin/templates/main/res/content.css&lt;br /&gt;
   }&lt;br /&gt;
   10 &amp;lt; temp.mainTemplate&lt;br /&gt;
   headerData.10 &amp;lt; temp.headTemplate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Container zentrieren =====&lt;br /&gt;
ToDo: gehört in CSS&lt;br /&gt;
&lt;br /&gt;
Negative Margin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
body {margin:0px; padding:0px;}&lt;br /&gt;
#container-zentrieren {&lt;br /&gt;
	position:absolute;&lt;br /&gt;
	left:50%;&lt;br /&gt;
	width:500px;&lt;br /&gt;
	margin-top:266px;&lt;br /&gt;
	margin-left:-300px;&lt;br /&gt;
	padding:20px;&lt;br /&gt;
	border:1px dashed #FF0000;&lt;br /&gt;
	background-color:#e1e1e1e;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auto-width Margins:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	margin:20px 0px; padding:0px;&lt;br /&gt;
	text-align:center;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
#container-zentrieren {&lt;br /&gt;
	width:600px;&lt;br /&gt;
	margin:0px auto;&lt;br /&gt;
	text-align:left;&lt;br /&gt;
	padding:20px;&lt;br /&gt;
	border:1px dashed #FF0000;&lt;br /&gt;
	background-color:#e1e1e1e;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
- ggfl. die Maße anpassen&lt;br /&gt;
&lt;br /&gt;
===== Absatz im Menü =====&lt;br /&gt;
&lt;br /&gt;
Den Seitentyp &amp;quot;Abstand&amp;quot; wählen und im Seitentitel &amp;quot;&amp;amp; n b s p ;&amp;quot; eingetragen. &lt;br /&gt;
&lt;br /&gt;
Im TypoScript den SPACE (SPC) definieren und im CSS formatieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1 = HMENU &lt;br /&gt;
1.1 = TMENU &lt;br /&gt;
1.1 { &lt;br /&gt;
expAll = 0 &lt;br /&gt;
wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt; &lt;br /&gt;
NO { &lt;br /&gt;
linkWrap = &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt; &lt;br /&gt;
} &lt;br /&gt;
ACT = 1 &lt;br /&gt;
ACT { &lt;br /&gt;
linkWrap = &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt; &lt;br /&gt;
} &lt;br /&gt;
SPC = 1 &lt;br /&gt;
SPC { &lt;br /&gt;
linkWrap = &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt; &lt;br /&gt;
} &lt;br /&gt;
} &lt;br /&gt;
1.2 = TMENU &lt;br /&gt;
1.2 { &lt;br /&gt;
expAll = 0 &lt;br /&gt;
wrap = &amp;lt;ul&amp;gt;|&amp;lt;/ul&amp;gt; &lt;br /&gt;
NO { &lt;br /&gt;
linkWrap = &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt; &lt;br /&gt;
} &lt;br /&gt;
ACT = 1 &lt;br /&gt;
ACT { &lt;br /&gt;
linkWrap = &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt; &lt;br /&gt;
} &lt;br /&gt;
SPC = 1 &lt;br /&gt;
SPC { &lt;br /&gt;
linkWrap = &amp;lt;li&amp;gt;|&amp;lt;/li&amp;gt; &lt;br /&gt;
} &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Ankerpunkt für einen internen Link anlegen =====&lt;br /&gt;
&lt;br /&gt;
Ein Seitenlelement vom Typ &amp;quot;interner Link&amp;quot; (Shortcut) anlegen, im Pagebrowser den kleinen Pfeil hinter der Seite klicken und das entsprechende Contentelement auswählen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Konfiguration AWStats =====&lt;br /&gt;
&lt;br /&gt;
Logfile Konfiguration bearbeiten:&lt;br /&gt;
awstats_log.txt: www.it-bo.com,it-bo.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
localconf.php:&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;quot;FE&amp;quot;][&amp;quot;logfile_dir&amp;quot;] = &amp;quot;fileadmin/log/&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#Konfiguration AWStats&lt;br /&gt;
  config.stat = 1&lt;br /&gt;
  config.stat_apache = 1&lt;br /&gt;
  config.stat_apache_logfile = awstats.txt&lt;br /&gt;
  config.stat_excludeBEuserHits = 1&lt;br /&gt;
  config.stat_mysql = 1&lt;br /&gt;
  config.stat_typeNumList = 0,1,98&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfigurationsdatei AWStats&lt;br /&gt;
cc_awstats/awstats/awstats.conf&lt;br /&gt;
&lt;br /&gt;
AWSTATS automatisieren&lt;br /&gt;
&lt;br /&gt;
http://jweiland.net/typo3cms/howto/awstats/&lt;br /&gt;
&lt;br /&gt;
http://www.typo3wizard.com/de/snippets/general-config/zaehlen-von-dateidownloads-mit-hilfe-von-awstats.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Browsers page title einbinden =====&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# Including the class and calling the function&lt;br /&gt;
   includeLibs.tx_browserpagetitle = typo3conf/ext/browser_page_title/class.tx_browserpagetitle.php&lt;br /&gt;
   config.titleTagFunction = tx_browserpagetitle-&amp;gt;getTitle&lt;br /&gt;
&lt;br /&gt;
# Default language parameters&lt;br /&gt;
   plugin.browser_page_title {&lt;br /&gt;
      defaultTitle = IT-Bo - TYPO3 CMS Website DAM Digital Asset Management SEO Reichweitensteigerung Marketing Schulung Hilfe Support - {title}&lt;br /&gt;
      currentTitle = IT-Bo - TYPO3 - {tx_browserpagetitle_browser_title}&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
# Alternative language parameters&lt;br /&gt;
#   [globalVar=GP:L=1]&lt;br /&gt;
#      plugin.browser_page_title.defaultTitle = IT-Bo - TYPO3 CMS Website DAM Digital Asset Management SEO Reichweitensteigerung Marketing Schulung Hilfe Support - {title}&lt;br /&gt;
#      plugin.browser_page_title.currentTitle = IT-Bo - TYPO3 - {tx_browserpagetitle_browser_title}&lt;br /&gt;
#   [global]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Contentelmente (entfernen) =====&lt;br /&gt;
&lt;br /&gt;
header - Überschrift&lt;br /&gt;
&lt;br /&gt;
text - Text&lt;br /&gt;
&lt;br /&gt;
textpic - Text m/Bild&lt;br /&gt;
&lt;br /&gt;
image - Bild&lt;br /&gt;
&lt;br /&gt;
bullets - Punktliste&lt;br /&gt;
&lt;br /&gt;
table - Tabelle&lt;br /&gt;
&lt;br /&gt;
uploads - Dateilinks&lt;br /&gt;
&lt;br /&gt;
multimedia - Multimedia&lt;br /&gt;
&lt;br /&gt;
mailform - Formular&lt;br /&gt;
&lt;br /&gt;
search - Suchen&lt;br /&gt;
&lt;br /&gt;
login - Login&lt;br /&gt;
&lt;br /&gt;
menu - Menü/Sitemap&lt;br /&gt;
&lt;br /&gt;
shortcut - Datensatz einfügen&lt;br /&gt;
&lt;br /&gt;
list - Plugin einfügen&lt;br /&gt;
&lt;br /&gt;
html - HTML&lt;br /&gt;
&lt;br /&gt;
script - Skript&lt;br /&gt;
&lt;br /&gt;
splash - Textbox&lt;br /&gt;
&lt;br /&gt;
div - Trenner &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# Contentelemente entfernen TSconfig&lt;br /&gt;
     TCEFORM.tt_content.CType {&lt;br /&gt;
     removeItems = header,bullets&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Seitentypen =====&lt;br /&gt;
&lt;br /&gt;
1 - Standard&lt;br /&gt;
2 - Erweitert&lt;br /&gt;
3 - Externe URL&lt;br /&gt;
4 - Shortcut&lt;br /&gt;
5 - Nicht im Menü&lt;br /&gt;
6 - Backend Benutzer Bereich&lt;br /&gt;
7 - Mount Seite&lt;br /&gt;
--div-- - Spacer&lt;br /&gt;
199 - Abstand&lt;br /&gt;
254 - SysOrdner&lt;br /&gt;
255 - Papierkorb &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# Seitentypen entfernen TSconfig&lt;br /&gt;
     TCEFORM.pages.doktype {&lt;br /&gt;
     removeItems = 3,5&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== favicon einbinden =====&lt;br /&gt;
&lt;br /&gt;
setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   shortcutIcon = fileadmin/favicon.ico &lt;br /&gt;
&lt;br /&gt;
   #favicon setup (alternativ):&lt;br /&gt;
   headerData.1 = TEXT&lt;br /&gt;
   headerData.1.value = &amp;lt; link rel=&amp;quot;shortcut icon&amp;quot; type=&amp;quot;image/x-icon&amp;quot; href=&amp;quot;fileadmin/favicon.ico&amp;quot; / &amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== TYPO3 CSS-Datei einbinden =====&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# TYPO3 CSS-Datei einbinden&lt;br /&gt;
page {&lt;br /&gt;
   includeCSS {&lt;br /&gt;
      file1 = fileadmin/templates/main/res/layout.css&lt;br /&gt;
      file2 = fileadmin/templates/main/res/content.css&lt;br /&gt;
      file3 = fileadmin/templates/news/tt_news.css&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TypoScript aus externer Datei einbinden ===&lt;br /&gt;
&lt;br /&gt;
aus: http://www.rainer-grundel.de/wissensdb/typo3/allgemein/artikel/article/typoscript_ueber_externe_datei_einbinden.html&lt;br /&gt;
&lt;br /&gt;
Datum des Zugriffs: 25.10.2007&lt;br /&gt;
&lt;br /&gt;
Wenn man mehrer Typo3 Projekte betreut kommt man irgendwann an den Punkt an dem man TS Konfigurationen immer wieder verwendet. Durch das Auslagern der Konfiguration und dem Wiederbenutzen lässt sich viel Zeit und Aufwand sparen.&lt;br /&gt;
&lt;br /&gt;
Durch das Auslagern von oft gebrauchten TS-Konfigurationen und dem Wiederverwenden in weiteren Typo3 Projekten lässt sich viel Zeit sparen. Insbesondere beim Updaten kann das Auslagern des TS in eine externe Datei Vorteile mit sich bringen. Das Einbinden von externem TS funktioniert bei Templates, TSconfig von Seiten und dem Tsconfig von Benutzern bzw. Benutzergruppen. Eingebunden werden externe Scriptdateien über folgendes TS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;INCLUDE_TYPOSCRIPT: source=&amp;quot;FILE: fileadmin/scriptdatei.txt&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wichtig&lt;br /&gt;
&lt;br /&gt;
Folgendes ist beim Einbau der externen Datei zu beachten:&lt;br /&gt;
&lt;br /&gt;
    * Im Template muss das Include in einer eigenen Zeile stehen, sonst wird es nicht erkannt.&lt;br /&gt;
    * Das Include wird vor dem Parsen des TS ausgeführt und funktioniert nicht mit Conditions und Verschachtelungen.&lt;br /&gt;
    * Die Dateigröße darf nicht größer als 100KB sein.&lt;br /&gt;
    * Die URL der Datei muss ausgehend von PATH_side sein, darf also kein &amp;quot;..&amp;quot; enthalten.&lt;br /&gt;
&lt;br /&gt;
===== Ausschalten der CSS-Formatierung im Seitenkopf der HTML-Datei =====&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# Ausschalten der CSS-Formatierung im Seitenkopf der HTML-Datei&lt;br /&gt;
   #plugin.tx_cssstyledimgtext._CSS_DEFAULT_STYLE = &lt;br /&gt;
   #plugin.tx_croncssstyledimgtext._CSS_DEFAULT_STYLE =&lt;br /&gt;
   #plugin.tx_cssstyledcontent._CSS_DEFAULT_STYLE &amp;gt;&lt;br /&gt;
   plugin.tx_formwidgets_pi1._CSS_DEFAULT_STYLE &amp;gt;&lt;br /&gt;
   plugin.tx_damdownloads_pi1._CSS_DEFAULT_STYLE &amp;gt;&lt;br /&gt;
   plugin.tx-sgglossary-pi1._CSS_DEFAULT_STYLE &amp;gt;&lt;br /&gt;
   #plugin.tx_jphcodesnippets_pi._CSS_DEFAULT_STYLE &amp;gt;&lt;br /&gt;
   plugin.tt_news._CSS_DEFAULT_STYLE &amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CSS auslagern&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# CSS auslagern&lt;br /&gt;
   inlineStyle2TempFile = 1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== TCEFORM tt_content content header layout altLabels =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#TSconfig:&lt;br /&gt;
   TCEFORM.tt_content.header_layout.altLabels.1 = Überschrift 1&lt;br /&gt;
   TCEFORM.tt_content.header_layout.altLabels.2 = Überschrift 2&lt;br /&gt;
   TCEFORM.tt_content.header_layout.altLabels.3 = Überschrift 3&lt;br /&gt;
   TCEFORM.tt_content.header_layout.altLabels.4 = Überschrift 4&lt;br /&gt;
   TCEFORM.tt_content.header_layout.altLabels.5 = Überschrift 5&lt;br /&gt;
   TCEFORM.tt_content.header_layout.altLabels.6 = Überschrift 6&lt;br /&gt;
   #TCEFORM.tt_content.header_layout.removeItems = 3,4,5&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Image Rotation (ric_rotation) Konfiguration =====&lt;br /&gt;
&lt;br /&gt;
# Setup: Image Rotation (ric_rotation)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
plugin.tx_ricrotation_pi1 {&lt;br /&gt;
    # parser (dont change this)&lt;br /&gt;
    parser &amp;lt; tt_content.text.20.parseFunc&lt;br /&gt;
&lt;br /&gt;
    # template for plugin&lt;br /&gt;
    templateFile = EXT:ric_rotation/pi1/template.htm&lt;br /&gt;
&lt;br /&gt;
    # list of page ids where the banners should be taken from ( comma seperated f.E.: 1,5,7)&lt;br /&gt;
    pidList =&lt;br /&gt;
&lt;br /&gt;
    # levels of recoursion to search for banners&lt;br /&gt;
    recursive = 0&lt;br /&gt;
&lt;br /&gt;
    # show banners with this attribute, options are: top, left, bottom, right&lt;br /&gt;
    placement = top&lt;br /&gt;
&lt;br /&gt;
    #mode to show banners, options are: all, random&lt;br /&gt;
    mode = all&lt;br /&gt;
&lt;br /&gt;
    # how many banner maximum&lt;br /&gt;
    results_at_a_time = 100&lt;br /&gt;
&lt;br /&gt;
    # image preconfig&lt;br /&gt;
    image {&lt;br /&gt;
        file.maxW = 492&lt;br /&gt;
        #file.params = -quality 90 // activate to force quality 90&lt;br /&gt;
        #file.ext = jpg            // activate to force jpg&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Konfiguration Indexed Search =====&lt;br /&gt;
&lt;br /&gt;
Constants:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#Suche Indexed Search&lt;br /&gt;
  plugin.tx_indexedsearch {&lt;br /&gt;
  search.rootPidList = 1&lt;br /&gt;
  show.rules = 0&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setup: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#Indexierung&lt;br /&gt;
   config.index_enable = 1&lt;br /&gt;
   config.index_externals = 1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Konfiguration Macina Searchbox =====&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#Konfiguration Macina Searchbox&lt;br /&gt;
plugin.tx_macinasearchbox_pi1 { &lt;br /&gt;
pidSearchpage = 1&lt;br /&gt;
templateFile = fileadmin/it-bo/macina-searchbox.html&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Macina Searchbox einbinden&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#Macina Searchbox einbinden&lt;br /&gt;
      SUCHE &amp;gt; &lt;br /&gt;
      SUCHE &amp;lt; plugin.tx_macinasearchbox_pi1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Javascript auslagern =====&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# Javascript auslagern&lt;br /&gt;
   removeDefaultJS = external&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== MOC Fileshare manager, moc_filemanager =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Constants: MOC Fileshare manager, moc_filemanager&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
plugin.tx_mocfilemanager_pi2.documentRoot = fileadmin&lt;br /&gt;
plugin.tx_mocfilemanager_pi2.useOwnIcons = 0&lt;br /&gt;
plugin.tx_mocfilemanager_pi2.limitNewest = 5&lt;br /&gt;
plugin.tx_mocfilemanager_pi2.ShowFilesPID = 123&lt;br /&gt;
&lt;br /&gt;
#plugin.tx_mocfilemanager_pi1.mountWrap = |&lt;br /&gt;
#plugin.tx_mocfilemanager_pi1.parentDirStyle = 1&lt;br /&gt;
#plugin.tx_mocfilemanager_pi1.showParentDir = 1&lt;br /&gt;
plugin.tx_mocfilemanager_pi1.documentRoot = fileadmin&lt;br /&gt;
#plugin.tx_mocfilemanager_pi1.disableMkdir = 1&lt;br /&gt;
#plugin.tx_mocfilemanager_pi1.ApacheChildKill = 1&lt;br /&gt;
#plugin.tx_mocfilemanager_pi1.timeLimit = 0&lt;br /&gt;
plugin.tx_mocfilemanager_pi1.useDescriptions = 1&lt;br /&gt;
#plugin.tx_mocfilemanager_pi1.asExplorer = 1&lt;br /&gt;
plugin.tx_mocfilemanager_pi1.allowedExts = txt,xls,doc,pps,gif,jpg,htm,html&lt;br /&gt;
#plugin.tx_mocfilemanager_pi1.datetimeFormat = %c&lt;br /&gt;
#plugin.tx_mocfilemanager_pi1.maxDepth = 1&lt;br /&gt;
plugin.tx_mocfilemanager_pi1.useOwnIcons = 1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Konfiguration Link2Map24 =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
link2map24:&lt;br /&gt;
&lt;br /&gt;
- bei map24 (link2map24) anmelden&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
link2map24.tpl.html:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;&amp;lt;&amp;lt; USERID &amp;gt;&amp;gt;&amp;gt;&amp;gt; von link2map24 eintragen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== News tt_news =====&lt;br /&gt;
&lt;br /&gt;
News Template einbinden&lt;br /&gt;
&lt;br /&gt;
Constants:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#News tt_news Template einbinden&lt;br /&gt;
   plugin.tt_news {&lt;br /&gt;
      file.templateFile = fileadmin/templates/news/tt_news.html&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== News Datum- und Zeitformat anpassen ====&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#News tt_news Datum- und Zeitformat anpassen&lt;br /&gt;
plugin.tt_news {&lt;br /&gt;
  archiveTitleCObject {&lt;br /&gt;
    10.strftime = %B - %Y&lt;br /&gt;
  }&lt;br /&gt;
  getRelatedCObject {&lt;br /&gt;
      20.strftime = %d.%m.%Y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displaySingle {&lt;br /&gt;
#    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    date_stdWrap.strftime= %A, %d. %B %Y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displayLatest {&lt;br /&gt;
    date_stdWrap.strftime= %d.%m.%y&lt;br /&gt;
    time_stdWrap.strftime= %H:%M&lt;br /&gt;
  }&lt;br /&gt;
  displayList {&lt;br /&gt;
 #   date_stdWrap.strftime= %A %d. %B %Y&lt;br /&gt;
    date_stdWrap.strftime = %A, %d. %B %Y&lt;br /&gt;
    time_stdWrap.strftime= %d.%m.%y %H:%M&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Konfiguration rlmptmplselector =====&lt;br /&gt;
&lt;br /&gt;
Setup:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#definiert den Pfad zu den Main-Template Dateien&lt;br /&gt;
   plugin.tx_rlmptmplselector_pi1.templatePathMain = fileadmin/templates/main/&lt;br /&gt;
&lt;br /&gt;
#definiert legt den Pfad zu den Main-Template Dateien&lt;br /&gt;
   plugin.tx_rlmptmplselector_pi1.templatePathSub = fileadmin/templates/sub/&lt;br /&gt;
&lt;br /&gt;
#definiert das Standard Main-Template Datei, welches geladen werden soll, wenn kein anderes Template ausgewählt wurde&lt;br /&gt;
   plugin.tx_rlmptmplselector_pi1.defaultTemplateFileNameMain = main_rlmptmplselector.html&lt;br /&gt;
&lt;br /&gt;
#definiert das Standard Sub-Template Datei, welches geladen werden soll, wenn kein anderes Template ausgewählt wurde&lt;br /&gt;
   plugin.tx_rlmptmplselector_pi1.defaultTemplateFileNameSub = sub_rlmptmplselector.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;
   plugin.tx_rlmptmplselector_pi1.inheritMainTemplates = 1&lt;br /&gt;
   plugin.tx_rlmptmplselector_pi1.inheritSubTemplates = 1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== TOP Link =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
# Setup TOP Link&lt;br /&gt;
   TOPLINK = TEXT&lt;br /&gt;
   TOPLINK {&lt;br /&gt;
      value = to top&lt;br /&gt;
      lang.en = To the Top&lt;br /&gt;
      lang.de = Seitenanfang&lt;br /&gt;
      wrap = &amp;lt;A HREF=&amp;quot;#top&amp;quot; class=&amp;quot;top-link&amp;quot;&amp;gt;|&amp;lt;/A&amp;gt;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Überschrift als Grafik =====&lt;br /&gt;
&lt;br /&gt;
Im Install Tool (Installation) unter &amp;quot;All Configuration&amp;quot; &amp;quot;[gdlib_png]&amp;quot; aktivieren. &lt;br /&gt;
&lt;br /&gt;
# Setup Überschrift als Grafik&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Header1 = IMAGE&lt;br /&gt;
Header1 {&lt;br /&gt;
  wrap = |&lt;br /&gt;
  file = GIFBUILDER&lt;br /&gt;
  file {&lt;br /&gt;
   XY = [10.w]+6,00&lt;br /&gt;
   transparentColor = # Hintergrundfarbe&lt;br /&gt;
   backColor = # Hintergrundfarbe&lt;br /&gt;
   10 = TEXT&lt;br /&gt;
   10.text.field =&lt;br /&gt;
   10.text.current = 1&lt;br /&gt;
   10.fontSize = Schriftgröße&lt;br /&gt;
   10.offset = 0,50&lt;br /&gt;
   10.fontFile = fileadmin/schriftart.ttf&lt;br /&gt;
   10.fontColor = Schriftfarbe&lt;br /&gt;
   10.niceText = 1&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
lib.stdheader.10.1 &amp;lt; Header1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Konfiguration 404 Error Site =====&lt;br /&gt;
&lt;br /&gt;
Eigene Fehlerseite (404 Error Site) mit der Extension error_404_handling erstellen&lt;br /&gt;
&lt;br /&gt;
Der Browser zeigt die normale Fehlerseite an, die einen 404 Fehler zurück gibt: 404 Error Site.&lt;br /&gt;
&lt;br /&gt;
Für eine eigene 404 Error Site, muss die Extension error_404_handling installiert werden.&lt;br /&gt;
&lt;br /&gt;
Im Ordner /typo3conf/ext/error_404_handling/files/ befinden sich die Dateien für die eigene 404 Error Site.&lt;br /&gt;
&lt;br /&gt;
Dateien:&lt;br /&gt;
&lt;br /&gt;
- 404page_not_found.php&lt;br /&gt;
&lt;br /&gt;
- example.htaccess&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Datei &amp;quot;404page_not_found.php&amp;quot; in das Root-Verzeichnis der Domain kopieren. Und aus der example.htaccess Datei folgendes in die .htaccess Datei der Root-Ebene eingefügen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ErrorDocument 404 /path_anpassen/404page_not_found.php&lt;br /&gt;
ErrorDocument 500 /path_anpassen/404page_not_found.php&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Install-Tool [warning_email_addr] kann eine E-Mail-Adresse eingeben. Dann wird eine E-Mail versendet, wenn eine Seite (404 Error Site) nicht gefunden wurde.&lt;br /&gt;
&lt;br /&gt;
Einen Domainrecord anlegen bzw. öffnen und eine URL in dem Feld &amp;quot;Redirect to an URL if a page or file under this domain could not be found&amp;quot; eintragen.&lt;br /&gt;
&lt;br /&gt;
404 Error Site: Umleitung auf eine bestimmte 404 Error Site&lt;br /&gt;
Install:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TYPO3_CONF_VARS[&amp;quot;FE&amp;quot;][&amp;quot;pageNotFound_handling&amp;quot;] = &amp;#039;http://www.404-Error-Site.com/404.php&amp;#039;;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== TYPO3 YAML =====&lt;br /&gt;
&lt;br /&gt;
TYPO3 YAML Beispielseite und Anleitung &lt;br /&gt;
&lt;br /&gt;
YAML, TYPO3 und YAML &lt;br /&gt;
&lt;br /&gt;
Download: yaml.t3net.de&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Syntax Highlighting Ultraedit =====&lt;br /&gt;
&lt;br /&gt;
Da mir die durchgehend schwarze Schrift des typoscript total auf den Senkel geht, und ich keinerlei adäquate Lösung zum Thema TypoScript Syntax Highlighting bzw. Syntax kontrolle etc. gefunden habe, hab ich mir das wordfile vom Ultraedit www.ultraedit.com mal hergenommen und erweitert!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://www.typo3.net/forum/list/list_post//21624/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Bedingungen definieren =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
marks.SLOGAN = COA&lt;br /&gt;
marks.SLOGAN {&lt;br /&gt;
10 &amp;lt; temp.import_img&lt;br /&gt;
stdWrap.ifEmpty.cObject &amp;lt; temp.std_img&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://lists.netfielders.de/pipermail/typo3-at/2004-October/003731.html&lt;br /&gt;
&lt;br /&gt;
http://www.jweiland.net/typo3cms/howto/typoscript-bedingung/&lt;br /&gt;
&lt;br /&gt;
http://www.typo3.net/tsref/functions/if/&lt;br /&gt;
&lt;br /&gt;
http://www.typo3.net/tsref/functions/stdwrap/&lt;br /&gt;
&lt;br /&gt;
http://linuxwiki.de/Typo3TypoScript&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://www.it-bo.com/typo3-marketing/hilfe/container-zentrieren.html&lt;br /&gt;
&lt;br /&gt;
http://ug.typo3-nrw.de/typo3-dynamic_css.html&lt;br /&gt;
&lt;br /&gt;
http://www.typo3.net/index.php?id=13&amp;amp;action=list_post&amp;amp;tid=39948&amp;amp;page=1&lt;br /&gt;
&lt;br /&gt;
http://blog.dopefreshtight.de/artikel/typo3-aufsetzen-setup/&lt;br /&gt;
&lt;br /&gt;
http://www.sk-typo3.de/RTE-Standardkonfiguration.31.0.html&lt;br /&gt;
&lt;br /&gt;
http://www.linet-services.de/t3_tscode.html&lt;br /&gt;
&lt;br /&gt;
http://www.it-bo.com/typo3-marketing/news/typo3-news/article/typo3-yaml-fuer-version-4.html&lt;br /&gt;
&lt;br /&gt;
http://www.typo3-unleashed.net/index.php?id=sitemap&lt;br /&gt;
&lt;br /&gt;
http://www.sk-typo3.de/Typo3-Extensions.68.0.html&lt;br /&gt;
&lt;br /&gt;
http://www.contentschmiede.de/links-zu-typo3/&lt;br /&gt;
&lt;br /&gt;
http://www.mcuniverse.com/TemplaVoila_-_Cheat_Sheet.1221.0.html&lt;br /&gt;
&lt;br /&gt;
http://www.just2b.com/mein-typo3/css-ts-menues.html&lt;br /&gt;
&lt;br /&gt;
http://ww2.sprain.ch/index.php?id=19&lt;br /&gt;
&lt;br /&gt;
http://www.typo3wizard.com/de/snippets/menus/text-menu-tmenu.html&lt;br /&gt;
&lt;br /&gt;
http://www.kraftfelt.dk/&lt;br /&gt;
&lt;br /&gt;
http://lists.netfielders.de/pipermail/typo3-german/2006-January/008630.html&lt;br /&gt;
&lt;br /&gt;
http://82.165.8.199/typo3cms/exotec-design.de/index.php?id=89&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Scheduler&amp;diff=18680</id>
		<title>Typo3 - Scheduler</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Scheduler&amp;diff=18680"/>
		<updated>2010-06-25T09:21:50Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe:&lt;br /&gt;
&lt;br /&gt;
[[TYPO3 - Scheduler]]&lt;br /&gt;
&lt;br /&gt;
 [[Typo3_Command_Line_Interface_(CLI)]]&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Scheduler&amp;diff=2028</id>
		<title>Typo3 - Scheduler</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Scheduler&amp;diff=2028"/>
		<updated>2010-06-25T09:21:40Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Siehe:&lt;br /&gt;
[[TYPO3 - Scheduler]]&lt;br /&gt;
&lt;br /&gt;
 [[Typo3_Command_Line_Interface_(CLI)]]&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3&amp;diff=17295</id>
		<title>Typo3</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3&amp;diff=17295"/>
		<updated>2010-06-25T09:19:01Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Typo3 - Praxis ==&lt;br /&gt;
&lt;br /&gt;
=== Musterkonfigurationen ===&lt;br /&gt;
Hier geht es nicht um das Installieren von TYPO3 auf dem Server, sondern um das Einbinden von Templates und TypoScript&lt;br /&gt;
==== Konventionen für Musterkonfigurationen ====&lt;br /&gt;
Hier werden Syntax und Namensgebung von CSS und Template Objekten besprochen. Dabei soll ein möglichst einfacher und einheitlicher Standard für eigene Projekte geschaffen werden.&lt;br /&gt;
&lt;br /&gt;
[[TYPO3 - Konventionen]]&lt;br /&gt;
&lt;br /&gt;
====TYPO3 - Musterinstallation mit eingebundenem TypoScript ====&lt;br /&gt;
Diese Installation nutzt ein YUI Framework als Beispiel, läßt sich aber auch auf andere Frameworks übertragen.&lt;br /&gt;
&lt;br /&gt;
[[TYPO3 - Musterinstallation mit eingebundenem TypoScript]]&lt;br /&gt;
&lt;br /&gt;
=== abz_eff_template ===&lt;br /&gt;
Praktische Extension zum schnellen aufsetzen eines Testservers. Läßt sich auch für eigene Templates anpassen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Benötigt:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
automaketemplate rlmp_tmplselector&lt;br /&gt;
&lt;br /&gt;
=== Typo3 - Schnellinstallation ===&lt;br /&gt;
Infos zum schnellen aufsetzen von Typo3&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Schnellinstallation]]&lt;br /&gt;
&lt;br /&gt;
=== StyleSwitch Template für Version mit hohem Kontrast ===&lt;br /&gt;
* normales Page Objekt kopieren z.B. inv &amp;lt; page&lt;br /&gt;
* typeNum festlegen (inf.typeNum = 91)&lt;br /&gt;
* neues Stylesheet importieren ( includeCss.invert = fileadmin/templates/invert/invert.css )&lt;br /&gt;
* dafür Sorgen daß der Parameter immer mitgegeben wird wenn man einen Link klickt&lt;br /&gt;
** config.linkVars = type (der Typ soll immer an links angehängt werden)&lt;br /&gt;
** config.uniqueLinkVars = 1 (wichtig für simulateStaticDocuments und schöner)&lt;br /&gt;
** config.simulateStaticDocuments_pEnc = md5 (aus allen Parametern wird ein md Hash gebildet anstatt sie nur als get Parameter anzuhängen)&lt;br /&gt;
** config.simulateStaticDoculments_pEnc_onlyP = type&lt;br /&gt;
* Navi-Knopf für das ganze einrichten&lt;br /&gt;
** Marker einrichten&lt;br /&gt;
** Im TS Marker befüllen z.B.:&lt;br /&gt;
 subpart.CONTRASTSWITCH = TEXT&lt;br /&gt;
 subpart.CONTRASTSWITCH { &lt;br /&gt;
    value = Farbe invertieren&lt;br /&gt;
    #Link auf aktuelle Seite...&lt;br /&gt;
    typolink.parameter.data = TSFE:id&lt;br /&gt;
    # ...plus den Parameter des Seitentyps&lt;br /&gt;
    typolink.additionalParams = &amp;amp;type=91&lt;br /&gt;
 }&lt;br /&gt;
** für den Rückweg im Template mit der inv (PAGE Objekt für die hohe Kontrast Seite) die Werte mit der Beschriftung ändern und als type=0 angeben.&lt;br /&gt;
=== Typo3 - Standardeinstellungen ===&lt;br /&gt;
Die wichtigsten Einstellungen, Extensions, PageTS, UserTS...&lt;br /&gt;
TypoScript für eine Installation über INCLUDE&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Standardeinstellungen]]&lt;br /&gt;
&lt;br /&gt;
=== Typo3 - Baukasten ===&lt;br /&gt;
Vorgefertigte Skripte etc. gibt es im&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Baukasten]]&lt;br /&gt;
&lt;br /&gt;
=== Typo3 - Checkliste ===&lt;br /&gt;
In der [[Typo3 - Checkliste]] sind alle Schritte bis zur fertigen Website enthalten (Stichwort Pflichtenheft).&lt;br /&gt;
&lt;br /&gt;
== GBT-3-Settings ==&lt;br /&gt;
===Ein YUI Installation für Typo3 mit Seitenbaum:===&lt;br /&gt;
&lt;br /&gt;
Zunächst:&lt;br /&gt;
Extension installieren - Den Seitenbaum (.t3d) aus dem /res Ordner holen und irgendwo speichern. Dann auf dem Globus im Kontext-Menü .t3d importieren.&lt;br /&gt;
Dann gibt es 3 Reiter. Zuerst Uploads und die Datei auswählen, dann im Import Importieren. Das Häckchen keep original uids sollte angehakt sein, dann stimmen schon die Menüs etc.&lt;br /&gt;
&lt;br /&gt;
Dann den Ordner &amp;quot;yui&amp;quot; aus dem Ordner &amp;quot;typo3conf/ext/gbt3settings/templates&amp;quot; in den Ordner &amp;quot;fileadmin/template&amp;quot; verschieben. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Template dann bei den Constantenfolgendes eintragen:&lt;br /&gt;
&lt;br /&gt;
 templatePath = fileadmin/template/yui/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Setup folgendes eintragen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_rlmptmplselector_pi1.templatePathMain = fileadmin/template/yui/main/&lt;br /&gt;
plugin.tx_rlmptmplselector_pi1.templatePathSub = fileadmin/template/yui/sub/&lt;br /&gt;
page.10.template.templatePathMain = fileadmin/template/yui/main/&lt;br /&gt;
page.10.template.templatePathSub = fileadmin/template/yui/sub/&lt;br /&gt;
page.10.subparts.CONTENT_CONTAINER.template.templatePathMain = fileadmin/template/yui/main/&lt;br /&gt;
page.10.subparts.CONTENT_CONTAINER.template.templatePathSub = fileadmin/template/yui/sub/&lt;br /&gt;
page.10.subparts.LOGO.file = fileadmin/template/yui/media/logo.gif&lt;br /&gt;
page.10.relPathPrefix = fileadmin/template/yui/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Problembeseitigungen===&lt;br /&gt;
Benutzer werden durch die GBT3-Installation überschrieben &lt;br /&gt;
&lt;br /&gt;
Über das Install-Tool wieder die Andmin-Benutzer anlegen&lt;br /&gt;
&lt;br /&gt;
Zuerst wurde das Template nicht eingebunden:&lt;br /&gt;
&lt;br /&gt;
Die Extension Page Template Selector &amp;#039;&amp;#039;rlmp_tmplselector&amp;#039;&amp;#039; deinstallieren, cache löschen, o.g. Extension wieder installieren&lt;br /&gt;
&lt;br /&gt;
Das ist vielleicht eine Lösung, kann aber auch sein, daß man einen Inahlte bearbeiten muss und dann auf anzeigen gehe. &lt;br /&gt;
&lt;br /&gt;
Dann wurden die Inhalte nicht angezeigt:&lt;br /&gt;
&lt;br /&gt;
Im Template -&amp;gt; info/modify -&amp;gt; Reiter includes -&amp;gt; Include static (from extensions)-&amp;gt; CSS Styled (css_styled_content)&lt;br /&gt;
&lt;br /&gt;
== Typo3 - SEO ==&lt;br /&gt;
Wenn man Typo 3 für Suchmaschinen optimieren will gibt es mehrere Möglichkeiten. Hier die wichtigsten.&lt;br /&gt;
&lt;br /&gt;
=== SEO - Links anpassen ===&lt;br /&gt;
==== Statische URLs erzeugen ====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Setup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 ### CONFIG ###&lt;br /&gt;
 config {&lt;br /&gt;
  ### statische URL ###&lt;br /&gt;
  simulateStaticDocuments = 1&lt;br /&gt;
  simulateStaticDocuments_noTypeIfNoTitle = 1&lt;br /&gt;
  # Hash wert für einige Extensions statt Parameter:&lt;br /&gt;
  simulateStaticDocuments_pEnc=md5&lt;br /&gt;
  simulateStaticDocuments_pEnc_onlyP = cHash, L, tx_ttNews[backPid], tx_ttnews[tt_news]&lt;br /&gt;
 }&lt;br /&gt;
Nicht vergessen im Hauptverzeichnis des Servers die _.htaccess Datei in .htaccess umzubenennen.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich im Feld alias bei den Seiteneigenschaften einen Namen eingeben. Dann kann man die Seite unter: www.meinedomain.de/meinAlias.html ansprechen.&lt;br /&gt;
&lt;br /&gt;
==== Real URL - Extension ====&lt;br /&gt;
Mit dieser Extension kann man die Namen für die Unterseiten auch automatisch erzeugen lassen. Vorher gut testen ob noch alle anderen Extensions gut laufen.&lt;br /&gt;
&lt;br /&gt;
=== SEO - Google Sitemap ===&lt;br /&gt;
In Google kann man einen Account anlegen über den man Websites einreicht, sich als Benutzer verifiziert und eine Sitemap übermitteln kann. Damit hilft man Google beim indizieren.&lt;br /&gt;
&lt;br /&gt;
Für die Sitemap gibt es eine sehr nette Extension:&lt;br /&gt;
&lt;br /&gt;
mc_googlesitemap_0.4.1.t3x&lt;br /&gt;
&lt;br /&gt;
die macht das ganz automatisch.&lt;br /&gt;
&lt;br /&gt;
=== Verifizieren bei Google ===&lt;br /&gt;
Hat man einen Account bei Google kann man seine Seite verifizieren. Google macht das anhand eines HTML Dokuments oder anhand von Metatags. Mit Typo3 ist es einfacher den Meta Tag in die Seiten einzufügen.&lt;br /&gt;
&lt;br /&gt;
Der Tag lautet etwa:&amp;lt;META name=&amp;quot;verify-v1&amp;quot; content=&amp;quot;0ikv2r96MAPrbYshmhw0FpZDvKdDLhuK66GMaMj1hHc=&amp;quot; /&amp;gt;&lt;br /&gt;
die Zeichenkombination wird von Google erzeugt. In Typo würde man das jetzt folgendermaßen einbinden:&lt;br /&gt;
&lt;br /&gt;
 page.headerData.997 = TEXT&lt;br /&gt;
 page.headerData.997.value = &amp;lt;META name=&amp;quot;verify-v1&amp;quot; content=&amp;quot;0ikv2r96MAPrbYshmhw0FpZDvKdDLhuK66GMaMj1hHc=&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und fertig ist die Laube.Das Page Objekt muß natürlich vorher definiert sein...&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
Ausgangspunkt für viele Problemlösungen finden sich hier:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Tipps und Tricks]]&lt;br /&gt;
Themen: Mehrsprachigkeit, Navigation, Probleme lösen...&lt;br /&gt;
&lt;br /&gt;
== Typo3 - Referenzen ==&lt;br /&gt;
Für Typo3 gibt es einige Nachschlagewerke. Aber wo finde ich was? Im Kapitel [[Typo3 - Referenzen]] gibt es eine Übersicht.&lt;br /&gt;
&lt;br /&gt;
== Typo3 - Installieren und Einrichten ==&lt;br /&gt;
Infos dazu unter:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Einrichten]]&lt;br /&gt;
&lt;br /&gt;
== Typo3 - Wartung ==&lt;br /&gt;
Updates, temporäre Dateien, Backup, etc.&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Performance optimieren]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - temporäre Dateien]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Update]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Security]]&lt;br /&gt;
&lt;br /&gt;
== Typo3 - TypoScript ==&lt;br /&gt;
Alles über TypoScript die wichtigsten Objekte usw. gibt es unter [[Typo3 - TypoScript]]&lt;br /&gt;
&lt;br /&gt;
== Typo3 - TSConfig ==&lt;br /&gt;
Mit TSUserConfig und TSPageConfig Einstellungen für bestimmte Benutzergruppen oder Seitenbereiche vornehmen. Z.B. Erscheinung des Backends anpassen. Benutzerpanel etc.&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - TSConfig]] &lt;br /&gt;
&lt;br /&gt;
== Typo3 - Templates ==&lt;br /&gt;
Alles was mit HTML Templates, TS Templates, Static Templates usw. zu tun hat.&lt;br /&gt;
Auch Grundsätzliche TypoScript Einstellungen usw.&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Templates]]&lt;br /&gt;
&lt;br /&gt;
== Typo3 - Mehrsprachig ==&lt;br /&gt;
[[Typo3 - Mehrsprachige Seiten]]&lt;br /&gt;
[[Typo3 - Mehrsprachige Navigation]]&lt;br /&gt;
&lt;br /&gt;
== Typo3 - Extensions ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[PHP Skripte über das User Objekt einfach einbinden]]&lt;br /&gt;
&lt;br /&gt;
== Typo3, CSS und Barrierefreiheit ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 und CSS]]&lt;br /&gt;
&lt;br /&gt;
[[Typo3 barrierefrei]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Typo3 ohne SSH Zugang ==&lt;br /&gt;
Hier hilft das Tool phpshell von Martin Geisler.Das Tool sollte nach der Verwendung wieder entfernt oder gut gesichert werden.&lt;br /&gt;
Nachtrag 19.1.2006 - Das Tool hilft leider nicht bei allen Servern da bestimmte notwendige Rechte z.B. das Entpacken von tar.gz Archiven nicht funktionieren. D.h. die Symlinks die sich per ftp nicht erstellen lassen können auch auf diese Weise nicht erstellt werden.&lt;br /&gt;
&lt;br /&gt;
[http://mgeisler.net/php-shell/ Zur Homepage von phpshell]&lt;br /&gt;
&lt;br /&gt;
== Typo3 - XHTML konforme Seiten ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - XHTML konforme Seiten]]&lt;br /&gt;
&lt;br /&gt;
== Typo3 ohne ImageMagick ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 ohne ImageMagick installieren]]&lt;br /&gt;
&lt;br /&gt;
== Typo3 - Sicherheit ==&lt;br /&gt;
Sicherheitsrelevantes wie SSL Verschlüsselung, Speicherung von Daten etc. unter&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Sicherheit]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Typo3 - Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
== Typo3 - Backup ==&lt;br /&gt;
[[Typo3 - Backup]]&lt;br /&gt;
&lt;br /&gt;
== TYPO3 - Probleme lösen ==&lt;br /&gt;
Hinweise zu Problemen bei Performance, Fehlermeldungen im Frontend / Backend etc.&lt;br /&gt;
[[TYPO3 - Probleme lösen]]&lt;br /&gt;
&lt;br /&gt;
== TYPO3 Zertifizierung ==&lt;br /&gt;
Infos zum Kurs und Überblick in&lt;br /&gt;
[[Certified TYPO3 Integrator]]&lt;br /&gt;
&lt;br /&gt;
== TYPO3 - Versionen / Release Notes ==&lt;br /&gt;
https://typo3.org/download/release-notes/typo3-43/&lt;br /&gt;
&lt;br /&gt;
https://typo3.org/download/release-notes/typo3-44/&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Linux_-_Root_Passwort_vergessen&amp;diff=18695</id>
		<title>Linux - Root Passwort vergessen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Linux_-_Root_Passwort_vergessen&amp;diff=18695"/>
		<updated>2010-06-16T12:44:22Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Unter Debian&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Am einfachsten kann man mit Hilfe einer Rescue CD (oder auch Knoppix o.ä.) folgendermaßen ein neues Passwort setzen:&lt;br /&gt;
&lt;br /&gt;
Rechner mit Rescue CD Booten (im Beispiel Debian netinstall CD )&lt;br /&gt;
&lt;br /&gt;
Im Menü Rescue Modus suchen (manchmal muß man nach der Autokonfiguration mit &amp;quot;zurück&amp;quot; ins Hauptmenü wechseln. Bei Knoppix und Konsorten einfach eine Shell aufmachen.&lt;br /&gt;
&lt;br /&gt;
Boot Laufwerk mounten, als Rootpoint setzen und dort neues Passwort setzen:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 mkdir rescue&lt;br /&gt;
 mount /dev/hda1 rescue&lt;br /&gt;
 chroot rescue&lt;br /&gt;
 sudo passwd&lt;br /&gt;
&lt;br /&gt;
Andere Möglichkeiten aus dem Forum sind z.B. das manuelle anpassen der Dateien /etc/shadow und /etc/passwd auf der boot Platte, das hat bei mir (Debian Lenny) aber nicht funktioniert.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Linux_-_Root_Passwort_vergessen&amp;diff=2021</id>
		<title>Linux - Root Passwort vergessen</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Linux_-_Root_Passwort_vergessen&amp;diff=2021"/>
		<updated>2010-06-16T12:42:12Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter Debian&lt;br /&gt;
&lt;br /&gt;
Am einfachsten kann man mit Hilfe einer Rescue CD (oder auch Knoppix o.ä.) folgendermaßen ein neues Passwort setzen:&lt;br /&gt;
&lt;br /&gt;
Rechner mit Rescue CD Booten (im Beispiel Debian netinstall CD )&lt;br /&gt;
&lt;br /&gt;
Im Menü Rescue Modus suchen (manchmal muß man nach der Autokonfiguration mit &amp;quot;zurück&amp;quot; ins Hauptmenü wechseln. Bei Knoppix und Konsorten einfach eine Shell aufmachen.&lt;br /&gt;
&lt;br /&gt;
Boot Laufwerk mounten, als Rootpoint setzen und dort neues Passwort setzen:&lt;br /&gt;
&lt;br /&gt;
Beispiel&lt;br /&gt;
 mkdir rescue&lt;br /&gt;
 mount /dev/hda1 rescue&lt;br /&gt;
 chroot rescue&lt;br /&gt;
 sudo passwd&lt;br /&gt;
&lt;br /&gt;
Andere Möglichkeiten sind das manuelle anpassen der Dateien /etc/shadow und /etc/passwd auf der boot Platte, das hat bei mir (Debian Lenny) aber nicht funktioniert.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Spr%C3%BCche&amp;diff=17619</id>
		<title>Sprüche</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spr%C3%BCche&amp;diff=17619"/>
		<updated>2010-06-02T08:17:15Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Gesellschaft */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
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;
&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;
&lt;br /&gt;
Ich habe Tinnitus in den Augen - ich sehe nur Pfeifen!&lt;br /&gt;
&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;
(Mark Twain)&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;
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;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Gbflowcontrol&amp;diff=2018</id>
		<title>Gbflowcontrol</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Gbflowcontrol&amp;diff=2018"/>
		<updated>2010-05-28T11:52:51Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Übersicht ==&lt;br /&gt;
Eigene Extension, vor allem zur Hilfe bei der Organisation von Bestellabläufen oder Arbeitsabläufen. Soll keine ausgewachsene Projektmanagement ersetzen, sondern ein einfaches Tool sein, daß bei aufeinanderfolgenden Abläufen (flow) den zeitlichen Ablauf im Blick bleibt.&lt;br /&gt;
&lt;br /&gt;
Immer dann sinnvoll, wenn zeitlich aufeinanderfolgende Abläufe und ein oder mehrere Artikel betroffen sind (z.B. ein Produktionszyklus einer bestimmten Anzahl von Produkten.&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe der Extension gbflowcontrolext, kann die Extension erweitert werden. Damit können Varianten (z.B. Größe, Farbe etc). für Artikel erstellt und diesen eine Anzahl zugewiesen werden. Außerdem ist ein Soll Ist vergleich möglich (manuelle Eingabe der Ist Werte)&lt;br /&gt;
&lt;br /&gt;
== Kurzanleitung ==&lt;br /&gt;
* Ordner für Daten&lt;br /&gt;
* Seite für die Anzeige der Abläufe&lt;br /&gt;
* Seite für die Anzeige der Übersicht (gbflowcontrolext)&lt;br /&gt;
* Im Datenordner Vorgänge, Artikel und Projekte bei gbflowcontrolext evt. Varianten definieren&lt;br /&gt;
* Bei Nutzung von Varianten im Frontend Zahlen eingeben und speichern&lt;br /&gt;
&lt;br /&gt;
== Administration ==&lt;br /&gt;
=== Organisation der Projekte ===&lt;br /&gt;
* Projekt (Enthält Artikel, regelt Zugriffsgruppe&lt;br /&gt;
** Artikel &lt;br /&gt;
*** Vorgänge (Definieren Dauer&lt;br /&gt;
&lt;br /&gt;
=== Projekt ===&lt;br /&gt;
* Sammelt Artikel. Im Plugin wird ein Ordner ausgewählt, alle Projekte in diesem Ordner werden dargestellt. Man sollte sich gut überlegen wieviele Projekte man in einen Ordner packt, es kann schnell unübersichtlich werden wenn für deren Artikel viele verschiedene Vorgänge benötigt werden.&lt;br /&gt;
* Regelt den Zugriff auf das Frontend. Es können User ausgewählt werden die (todo) definieren&lt;br /&gt;
&lt;br /&gt;
=== Artikel ===&lt;br /&gt;
* Enthält Aktionen und lege deren Reihenfolge fest.&lt;br /&gt;
* Enthält Varianten (wenn gbflowcontrolext installiert)&lt;br /&gt;
 * Anzahl des Artikels ist fest zugeordnet oder kann durch zugehörige Varianten berechnet werden. Dazu wird gbflowcontrolext benötigt&lt;br /&gt;
* Für jeden Artikel wird ein Log angelegt, in dem steht wann wieviele Items des Artikels in die nächste Aktion gerückt werden. Log wird beim zurücksetzen des Artikels gelöscht.&lt;br /&gt;
* Ein Artikel sollte immer als ein physisches Produkt gesehen werden und nicht in verschiedenen Projekten benutzt werden, da diese sich sonst beeinflussen.&lt;br /&gt;
* Müssen im gleichen Ordner wie das Projekt sein, sonst stehen Sie dem Projekt nicht zur Verfügung&lt;br /&gt;
=== Vorgänge ===&lt;br /&gt;
* Definiert wird Name, Beschreibung und Dauer einer Aktion / eines Vorgangs&lt;br /&gt;
* Können mehrfach verwendet werden, müssen aber im selben Ordner wie der zugehörige Artikel liegen.&lt;br /&gt;
* Vorgängen kann über das Standard Feld Access (Zugriff) eine FE-Benutzergruppe zugeordnet werden. Nur diese Benutzergruppe sieht die Aktion und kann Werte verändern.&lt;br /&gt;
&lt;br /&gt;
=== Varianten (gbflowcontrolext) ===&lt;br /&gt;
* Können Artikeln zugewiesen werden&lt;br /&gt;
* Mengen werden über das Frontend eingegeben. Die Gesamtmenge der Varianten eines Artikels wird dann beim Speichern zusammengezählt und in den Artikel geschrieben.&lt;br /&gt;
* Bemerkung im FE-Plugin können alle Artikel zur Darstellung ausgewählt werden, es bezieht sich nicht auf eine bestimmte Seite. Die Felder für Einzelansicht, StoragePage etc. werden im Moment nicht benutzt.&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
* Artikel werden in Projekten im Backend angezeigt auch wenn sie ausgeblendet sind&lt;br /&gt;
* Wenn Artikel auf 0 stehen und zurückgesetzt werden und dann per Varianten befüllt steht der Ausgangszähler auf der Eingangszahl -&amp;gt; sieht so aus als ob betreits alles erledigt ist&lt;br /&gt;
&lt;br /&gt;
== Todo ==&lt;br /&gt;
* Log nur bei Admin Login anzeigen (dazu user is admin einführen - Abfrage über Backend? Oder Usergruppe die in Projekt angegeben ist)&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Gbflowcontrol&amp;diff=2015</id>
		<title>Gbflowcontrol</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Gbflowcontrol&amp;diff=2015"/>
		<updated>2010-05-28T11:50:56Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Übersicht ==&lt;br /&gt;
Eigene Extension, vor allem zur Hilfe bei der Organisation von Bestellabläufen oder Arbeitsabläufen. Soll keine ausgewachsene Projektmanagement ersetzen, sondern ein einfaches Tool sein, daß bei aufeinanderfolgenden Abläufen (flow) den zeitlichen Ablauf im Blick bleibt.&lt;br /&gt;
&lt;br /&gt;
Immer dann sinnvoll, wenn zeitlich aufeinanderfolgende Abläufe und ein oder mehrere Artikel betroffen sind (z.B. ein Produktionszyklus einer bestimmten Anzahl von Produkten.&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe der Extension gbflowcontrolext, kann die Extension erweitert werden. Damit können Varianten (z.B. Größe, Farbe etc). für Artikel erstellt und diesen eine Anzahl zugewiesen werden. Außerdem ist ein Soll Ist vergleich möglich (manuelle Eingabe der Ist Werte)&lt;br /&gt;
&lt;br /&gt;
== Kurzanleitung ==&lt;br /&gt;
* Ordner für Daten&lt;br /&gt;
* Seite für die Anzeige der Abläufe&lt;br /&gt;
* Seite für die Anzeige der Übersicht (gbflowcontrolext)&lt;br /&gt;
* Im Datenordner Vorgänge, Artikel und Projekte bei gbflowcontrolext evt. Varianten definieren&lt;br /&gt;
* Bei Nutzung von Varianten im Frontend Zahlen eingeben und speichern&lt;br /&gt;
&lt;br /&gt;
== Administration ==&lt;br /&gt;
=== Organisation der Projekte ===&lt;br /&gt;
* Projekt (Enthält Artikel, regelt Zugriffsgruppe&lt;br /&gt;
** Artikel &lt;br /&gt;
*** Vorgänge (Definieren Dauer&lt;br /&gt;
&lt;br /&gt;
=== Projekt ===&lt;br /&gt;
* Sammelt Artikel. Im Plugin wird ein Ordner ausgewählt, alle Projekte in diesem Ordner werden dargestellt. Man sollte sich gut überlegen wieviele Projekte man in einen Ordner packt, es kann schnell unübersichtlich werden wenn für deren Artikel viele verschiedene Vorgänge benötigt werden.&lt;br /&gt;
* Regelt den Zugriff auf das Frontend. Es können User ausgewählt werden die (todo) definieren&lt;br /&gt;
&lt;br /&gt;
=== Artikel ===&lt;br /&gt;
* Enthält Aktionen und lege deren Reihenfolge fest.&lt;br /&gt;
* Enthält Varianten (wenn gbflowcontrolext installiert)&lt;br /&gt;
 * Anzahl des Artikels ist fest zugeordnet oder kann durch zugehörige Varianten berechnet werden. Dazu wird gbflowcontrolext benötigt&lt;br /&gt;
* Für jeden Artikel wird ein Log angelegt, in dem steht wann wieviele Items des Artikels in die nächste Aktion gerückt werden. Log wird beim zurücksetzen des Artikels gelöscht.&lt;br /&gt;
* Ein Artikel sollte immer als ein physisches Produkt gesehen werden und nicht in verschiedenen Projekten benutzt werden, da diese sich sonst beeinflussen.&lt;br /&gt;
* Müssen im gleichen Ordner wie das Projekt sein, sonst stehen Sie dem Projekt nicht zur Verfügung&lt;br /&gt;
=== Vorgänge ===&lt;br /&gt;
* Definiert wird Name, Beschreibung und Dauer einer Aktion / eines Vorgangs&lt;br /&gt;
* Können mehrfach verwendet werden, müssen aber im selben Ordner wie der zugehörige Artikel liegen.&lt;br /&gt;
* Vorgängen kann über das Standard Feld Access (Zugriff) eine FE-Benutzergruppe zugeordnet werden. Nur diese Benutzergruppe sieht die Aktion und kann Werte verändern.&lt;br /&gt;
&lt;br /&gt;
=== Varianten (gbflowcontrolext) ===&lt;br /&gt;
* Können Artikeln zugewiesen werden&lt;br /&gt;
* Mengen werden über das Frontend eingegeben. Die Gesamtmenge der Varianten eines Artikels wird dann beim Speichern zusammengezählt und in den Artikel geschrieben.&lt;br /&gt;
* Bemerkung im FE-Plugin können alle Artikel zur Darstellung ausgewählt werden, es bezieht sich nicht auf eine bestimmte Seite. Die Felder für Einzelansicht, StoragePage etc. werden im Moment nicht benutzt.&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
* Artikel werden in Projekten im Backend angezeigt auch wenn sie ausgeblendet sind&lt;br /&gt;
* Wenn Artikel auf 0 stehen und zurückgesetzt werden und dann per Varianten befüllt steht der Ausgangszähler auf der Eingangszahl -&amp;gt; sieht so aus als ob betreits alles erledigt ist&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Server_-_Tipps_%26_Tricks&amp;diff=18543</id>
		<title>Server - Tipps &amp; Tricks</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Server_-_Tipps_%26_Tricks&amp;diff=18543"/>
		<updated>2010-05-26T11:01:02Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Webseiten mit der Host Datei zugänglich machen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Webseiten mit der Host Datei zugänglich machen ==&lt;br /&gt;
Wenn man im Browser eine Internet-Seite aufruft, z.B. www.meineHomepage.de schaut der Browser zunächst in einer Liste nach welche IP-Adresse zu diesem Namen gehört. Z.B. die IP 87.106.10.25 (DNS-Eintrag).&lt;br /&gt;
&lt;br /&gt;
Wenn eine Domain umgezogen wird möchte man gerne schon mal auf den neuen Server zugreifen um die Seiten anzuschauen. Manchmal gibt es dazu einen Direktlink in der Art: dd1234/langer/link/zum-online-server.de&lt;br /&gt;
&lt;br /&gt;
Praktischer ist es den Computer direkt zu sagen auf welchem Server er nach der Internet-Adresse suchen soll. Dazu gibt es die Hosts Datei. Unter Windows funkioniert das so:&lt;br /&gt;
&lt;br /&gt;
* Die Datei: C:\WINDOWS\system32\drivers\etc\hosts mit einem Text-Editor - z.B. Notepad - öffnen (Achtung die Datei hat KEINE Endung wie .txt)&lt;br /&gt;
* Am Ende der Datei den Server und den dazugehörigen Domainnamen eintragen. Domain und IP Nummer sind einfach durch ein (oder mehrere) Leerzeichen getrennt. Jeder Eintrag bekommt eine neue Zeile.&lt;br /&gt;
&lt;br /&gt;
 87.106.10.25 meineDomain.de&lt;br /&gt;
 87.106.10.25 www.meineDomain.de &lt;br /&gt;
&lt;br /&gt;
Tipp: nur die Domain ohne www eintragen, dann kann man mit www auf den alten Webauftritt und ohne www auf den neuen Zugreifen.&lt;br /&gt;
&lt;br /&gt;
Beim Mac liegt die Hosts datei unter /etc/hosts&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Database_Integration_(wfqbe)&amp;diff=11882</id>
		<title>Database Integration (wfqbe)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Database_Integration_(wfqbe)&amp;diff=11882"/>
		<updated>2010-05-26T09:45:34Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* CSV Export */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gute Extensions aber ein paar Bugs. &lt;br /&gt;
Update:&lt;br /&gt;
V1.0 - super...&lt;br /&gt;
ab dieser Version kann man die Abfragen alle in einem Ordner platzieren. Das Plugin kann man verschieden plazieren und den gewünschten Datensatz auswählen.&lt;br /&gt;
&lt;br /&gt;
V0.9.5&lt;br /&gt;
- mysql unterstützt keinen JOIN deshalb muß man in einigen Tabellen die JOINS durch LEFT JOIN ersetzen. Das betrifft die Funktionalität von Search Abfragen &lt;br /&gt;
 /typo3conf/ext/wfqbe/tx_wfqbe_query_search/class.form_generator.php&lt;br /&gt;
&lt;br /&gt;
Die Custom Templates werden nicht gefunden dazu folgende Änderung:&lt;br /&gt;
Datei &amp;#039;&amp;#039;pi1/class.tx_wfqbe_results.php&amp;#039;&amp;#039; &lt;br /&gt;
Folgendes ersetzen&lt;br /&gt;
&lt;br /&gt;
 function userLayout($ris,$row){&lt;br /&gt;
 #$file = $this-&amp;gt;cObj-&amp;gt;fileResource($row[&amp;#039;template&amp;#039;]==&amp;#039;&amp;#039; ? $this-&amp;gt;conf[&amp;quot;template&amp;quot;] : $this-&amp;gt;baseTemplateUrl.$row[&amp;#039;template&amp;#039;]);//estraggo il template&lt;br /&gt;
 $file = $this-&amp;gt;cObj-&amp;gt;fileResource($row[&amp;#039;template&amp;#039;]==&amp;#039;&amp;#039; ? $this-&amp;gt;conf[&amp;quot;template&amp;quot;] : $this-&amp;gt;pibase-&amp;gt;baseTemplateUrl.$row[&amp;#039;template&amp;#039;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sprachdatei erweitern ==&lt;br /&gt;
pi1/locallang.xml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; standalone=&amp;quot;yes&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;T3locallang&amp;gt;&lt;br /&gt;
	&amp;lt;meta type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;type&amp;gt;module&amp;lt;/type&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;Language labels for plugin &amp;amp;quot;tx_wfqbe_pi1&amp;amp;quot;&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&amp;lt;data type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;languageKey index=&amp;quot;default&amp;quot; type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;prev&amp;quot;&amp;gt;Previous page&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;next&amp;quot;&amp;gt;Next page&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;go_to_page&amp;quot;&amp;gt;Go to page &amp;lt;/label&amp;gt;&lt;br /&gt;
		&amp;lt;/languageKey&amp;gt;&lt;br /&gt;
		&amp;lt;languageKey index=&amp;quot;de&amp;quot; type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;prev&amp;quot;&amp;gt;Zurück&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;next&amp;quot;&amp;gt;Weiter&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;go_to_page&amp;quot;&amp;gt;Gehe zu Seite &amp;lt;/label&amp;gt;&lt;br /&gt;
		&amp;lt;/languageKey&amp;gt;&lt;br /&gt;
		&amp;lt;languageKey index=&amp;quot;it&amp;quot; type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;prev&amp;quot;&amp;gt;Pagina precedente&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;next&amp;quot;&amp;gt;Pagina successiva&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;go_to_page&amp;quot;&amp;gt;Vai a pagina &amp;lt;/label&amp;gt;&lt;br /&gt;
		&amp;lt;/languageKey&amp;gt;&lt;br /&gt;
	&amp;lt;/data&amp;gt;&lt;br /&gt;
&amp;lt;/T3locallang&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suchabfragen ==&lt;br /&gt;
Dafür baut man ein Select Query in dem man die WHERE Clauses durch Platzhalter in der Art ###WFQBE_SUCHMICH### ersetzt. Eine 2. Suchabfrage wird im Search Modus ausgeführt und auf die vorher erstellte Liste verwiesen. Darin stehen die Platzhalter automatisch zur Verfügung.&lt;br /&gt;
=== Tipps ===&lt;br /&gt;
Platzhalter benutzen: &lt;br /&gt;
 SELECT * WHERE meinFeld LIKE &amp;#039;%###WFQBE_SUCHMICH###%&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Detailansichten realisieren ==&lt;br /&gt;
Hinweis: die Beispiele entstammen aus einem Projekt und wurden etwas vereinfacht. Unter Umständen können sich in die Nummerierung der Felder Fehler eingeschlichen haben. Also nochmal vor dem Einsatz prüfen.&lt;br /&gt;
&lt;br /&gt;
Wir möchten eine Liste von VHS-Kursen ausgeben. In dieser Ausgabeliste sollen alle Datensätze einen Link bekommen. Wenn man diesen anklickt werden die Daten des gewählten Datensatzes in einer Detailansicht gezeigt. Außerdem gibt es ein Datum und ein Bild des Referenten.&lt;br /&gt;
&lt;br /&gt;
Als Ausgangspunkt haben wir für das Beispiel einen Datensatz mit der uid=1 der eine Liste ausgibt und einen mit der uid=4 der die Detailansicht ausgibt.&lt;br /&gt;
&lt;br /&gt;
Abfrage der Listenansicht (uid des Datensatzes = 1)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT tt_kurse.uid AS Detailansicht, tt_kurse.referent AS Referent, tt_kurse.hausOrt AS Ort, tt_kurse.seminarName AS Seminarname FROM tt_kurse&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Abfrage der Detailansicht (uid des Datensatzes = 4)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 SELECT tt_kurse.seminarName, tt_kurse.seminarText, tt_kurse.referent, tt_kurse.referentBild, tt_kurse.seminarStart  FROM bb_kurse WHERE bb_kurse.uid = ###WFQBE_UID###&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Platzhalter wird später durch die Übergabe des Parameters &amp;#039;&amp;#039;tx_wfqbe_pi1[uid]=uid&amp;#039;&amp;#039; ersetzt&lt;br /&gt;
&lt;br /&gt;
Im &amp;#039;&amp;#039;&amp;#039;TypoScript&amp;#039;&amp;#039;&amp;#039; manipulieren wir jetzt die &amp;#039;&amp;#039;&amp;#039;Listenansicht:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_wfqbe_pi1.customProcess.1 {&lt;br /&gt;
	0 = TEXT&lt;br /&gt;
	0.value = Show details&lt;br /&gt;
	0.typolink = 1&lt;br /&gt;
	0.typolink.parameter = 20&lt;br /&gt;
	0.typolink.additionalParams = &amp;amp;tx_wfqbe_pi1[uid]=###WFQBE_FIELD_0###&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Erklärung&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir können alle Felder die wir Abfragen auch manipulieren. Wenn wir die Standardtabelle als Ausgabe nehmen, stehen sie als Nummer (beginnend mit 0) zur Verfügung bei einem Custom Template mit ihrem Namen der auch im Marker steht (uid = TEXT...)&lt;br /&gt;
&lt;br /&gt;
 customProcess.1 &lt;br /&gt;
Die Abfrage mit der uid=1 soll bearbeitet werden.&lt;br /&gt;
 0 = TEXT&lt;br /&gt;
das erste Feld aus der Abfrage (uid des Kurses) soll ein Text-Objekt sein. Wir arbeiten mit der Defaulttabelle als Template, deshalb heißt es immer 0. bei einem eigenen Template könnte es auch uid. heißen.&lt;br /&gt;
 0.typolink = 1&lt;br /&gt;
Link einschalten&lt;br /&gt;
 ...parameter = 20 &lt;br /&gt;
id der Zielseite&lt;br /&gt;
 additionalParams...&lt;br /&gt;
die Parameter werden übergeben (die uid des Datensatzes der angezeigt wird. Sein Wert steht in dem Marker ###WFQBE_FIELD_0### zur Verfügung.&lt;br /&gt;
Natürlich auch die der anderen Felder. Es ist auch möglich mit ###WFQBE_FIELD_uid### auf den WErt zuzugreifen (siehe unten).&lt;br /&gt;
&lt;br /&gt;
Alle mit dem Select Query ausgegebenen &amp;#039;&amp;#039;&amp;#039;Felder stehen als Array in einem COA TypoScript Objekt zur Verfügung&amp;#039;&amp;#039;&amp;#039;. D.h. mit der 0 kann man das erste Feld als TypoScript Objekt ansprechen mit der 1 das nächste und so weiter. Der Inhalt steht außerdem als Marker in der Form ###WFQBE_FIELD_Nummer### zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Im Beipiel wird das 1. Feld als TEXT Objekt generiert und mit einem Link versehen. Als Parameter geben wir die uid des Datensatzes mit. Der Marker in der letzten Zeile wird mit dessen Wert ersetzt.&lt;br /&gt;
&lt;br /&gt;
=== Timestamp formatieren ===&lt;br /&gt;
Wir haben gesehen, daß man mit customProcess einen Query Datensatz ansprechen kann und seine Felder als TypoScript Objekte umsetzen.&lt;br /&gt;
Das machen wir nun mit einem Datumsfeld. Dazu erweitern wir das TypoScript Template und greifen diesesmal auf den Datensatz mit der Detailansicht zu (uid = 4)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_wfqbe_pi1.customProcess.4 {&lt;br /&gt;
   # Datum ausgeben&lt;br /&gt;
   4= TEXT&lt;br /&gt;
   4.value = ###WFQBE_FIELD_4###&lt;br /&gt;
   4.date = d.m.Y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TypoScript geht normalerweise von einem Unix-Timestamp in der Datenbank aus. WEnn aber das Datum im Datumsformat eingegeben ist kann man es denoch als Timestamp ausgeben wenn man die SQL-Abfrage folgendermaßen erweitert.&lt;br /&gt;
&lt;br /&gt;
 SELECT ..., UNIX_TIMESTAMP(bb_kurse.seminarStart) AS Datum, ... FROM bb_kurse WHERE bb_kurse.uid = ###WFQBE_UID###&lt;br /&gt;
&lt;br /&gt;
=== URL ausgeben ===&lt;br /&gt;
Für URLs nehmen wir wieder den Typolink&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   # URL ausgeben&lt;br /&gt;
   6= TEXT&lt;br /&gt;
   6.value = ###WFQBE_FIELD_6###&lt;br /&gt;
   6.typolink = 1&lt;br /&gt;
   6.typolink.parameter = ###WFQBE_FIELD_6### &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mit Markernamen anstatt Nummern ===&lt;br /&gt;
Ab Version 1 ist es auch möglich mit Markern statt mit Nummern zu arbeiten. Zumindest Wenn man ein eigenes Template zur Ausgabe benutzt und auf die Standard Tabellenausgabe Verzichten möchte funktioniert das gut.&lt;br /&gt;
Dabei werden die Tabellenfeldernamen statt der Nummern eingesetzt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   # URL ausgeben&lt;br /&gt;
   hausUrl= TEXT&lt;br /&gt;
   hausUrl{&lt;br /&gt;
      value = ###WFQBE_FIELD_hausUrl###&lt;br /&gt;
      typolink = 1&lt;br /&gt;
      typolink.parameter = ###WFQBE_FIELD_hausUrl### &lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Probleme kann es geben wenn z.B. Funktionen wie oben UNIX_TIMESTAMP nutzt. Man kann aber in problematischen Fällen immer noch auf die Nummerierung zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
=== Bild ausgeben ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 imagePath=fileadmin/kursbilder/&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;
plugin.tx_wfqbe_pi1.customProcess.4 {&lt;br /&gt;
   #Bild ausgeben&lt;br /&gt;
   referentBild = IMAGE&lt;br /&gt;
   referentBild {&lt;br /&gt;
      file.maxH = 80&lt;br /&gt;
      file = {$imagePath}###WFQBE_FIELD_referentBild###&lt;br /&gt;
      &lt;br /&gt;
      imageLinkWrap = 1&lt;br /&gt;
      imageLinkWrap {&lt;br /&gt;
         enable = 1&lt;br /&gt;
         bodyTag = &amp;lt;BODY style=&amp;quot;background:white;&amp;quot;&amp;gt;&lt;br /&gt;
         wrap = &amp;lt;a href=&amp;quot;javascript:close();&amp;quot;&amp;gt; | &amp;lt;/a&amp;gt;&lt;br /&gt;
         width = 400&lt;br /&gt;
         JSwindow = 1&lt;br /&gt;
         JSwindow.newWindow = 1&lt;br /&gt;
         JSwindow.expand = 16,16&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Page Browser ==&lt;br /&gt;
In eigenen HTML-Templates wird standardmäßig kein Seitenbrowser angezeigt (in der Standardtabelle schon). Dafür gibt es ein paar Marker mit denen man den Browser bauen kann:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###BROWSE_TEMPLATE### --&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;wfqbe_browser&amp;quot;&amp;gt;&lt;br /&gt;
      Page ###PAGE_ACTUAL### of ###PAGE_TOTAL###&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;a href=&amp;quot;###PAGE_PREV###&amp;quot; ###PAGE_PREV_TITLE###&amp;gt;&amp;amp;lt;&amp;amp;lt;&amp;lt;/a&amp;gt; ###PAGE_LIST### &amp;lt;a href=&amp;quot;###PAGE_NEXT###&amp;quot; ###PAGE_NEXT_TITLE###&amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###BROWSE_TEMPLATE### --&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSV Export ==&lt;br /&gt;
Sollte normalerweise funktionieren wenn das statische Template für wfqbe ausgewählt ist. Manchmal gehts aber nicht.&lt;br /&gt;
&lt;br /&gt;
Zum Testen, so ungefähr sollte das TypoScript für den Seitentyp 181 (csv) aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
## This enables the csv file export&lt;br /&gt;
csv_wfqbe &amp;gt;&lt;br /&gt;
csv_wfqbe = PAGE&lt;br /&gt;
csv_wfqbe {&lt;br /&gt;
  typeNum = 181&lt;br /&gt;
&lt;br /&gt;
  10 &amp;lt; plugin.tx_wfqbe_pi1&lt;br /&gt;
  10.template = EXT:wfqbe/pi1/wfqbe_csv_template.html&lt;br /&gt;
  10.defLayout = 0&lt;br /&gt;
&lt;br /&gt;
  config {&lt;br /&gt;
    disableAllHeaderCode = 1&lt;br /&gt;
    additionalHeaders = Content-type:application/csv|Content-Disposition: attachment; filename=results.csv|Content-Transfer-Encoding:binary&lt;br /&gt;
    xhtml_cleaning = 0&lt;br /&gt;
    admPanel = 0&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Manchmal ist auch ein falsch generierter Link die Ursache z.B wenn der Parameter ?type=181 lautet statt &amp;amp;type=181&lt;br /&gt;
&lt;br /&gt;
Das tritt z.B. im Zusammenhang mit simulateStaticDocuments auf. Abhilfe schafft ein angepasstes Template für die Ausgabe in dem man den Link passend baut, oder wenn es einfach nur um den Export geht ausschalten. Vielleicht läßt sich [simulateStaticDocuments auch irgendwie anpassen.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Database_Integration_(wfqbe)&amp;diff=2008</id>
		<title>Database Integration (wfqbe)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Database_Integration_(wfqbe)&amp;diff=2008"/>
		<updated>2010-05-26T09:25:43Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Page Browser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gute Extensions aber ein paar Bugs. &lt;br /&gt;
Update:&lt;br /&gt;
V1.0 - super...&lt;br /&gt;
ab dieser Version kann man die Abfragen alle in einem Ordner platzieren. Das Plugin kann man verschieden plazieren und den gewünschten Datensatz auswählen.&lt;br /&gt;
&lt;br /&gt;
V0.9.5&lt;br /&gt;
- mysql unterstützt keinen JOIN deshalb muß man in einigen Tabellen die JOINS durch LEFT JOIN ersetzen. Das betrifft die Funktionalität von Search Abfragen &lt;br /&gt;
 /typo3conf/ext/wfqbe/tx_wfqbe_query_search/class.form_generator.php&lt;br /&gt;
&lt;br /&gt;
Die Custom Templates werden nicht gefunden dazu folgende Änderung:&lt;br /&gt;
Datei &amp;#039;&amp;#039;pi1/class.tx_wfqbe_results.php&amp;#039;&amp;#039; &lt;br /&gt;
Folgendes ersetzen&lt;br /&gt;
&lt;br /&gt;
 function userLayout($ris,$row){&lt;br /&gt;
 #$file = $this-&amp;gt;cObj-&amp;gt;fileResource($row[&amp;#039;template&amp;#039;]==&amp;#039;&amp;#039; ? $this-&amp;gt;conf[&amp;quot;template&amp;quot;] : $this-&amp;gt;baseTemplateUrl.$row[&amp;#039;template&amp;#039;]);//estraggo il template&lt;br /&gt;
 $file = $this-&amp;gt;cObj-&amp;gt;fileResource($row[&amp;#039;template&amp;#039;]==&amp;#039;&amp;#039; ? $this-&amp;gt;conf[&amp;quot;template&amp;quot;] : $this-&amp;gt;pibase-&amp;gt;baseTemplateUrl.$row[&amp;#039;template&amp;#039;]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sprachdatei erweitern ==&lt;br /&gt;
pi1/locallang.xml&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; standalone=&amp;quot;yes&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;T3locallang&amp;gt;&lt;br /&gt;
	&amp;lt;meta type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;type&amp;gt;module&amp;lt;/type&amp;gt;&lt;br /&gt;
		&amp;lt;description&amp;gt;Language labels for plugin &amp;amp;quot;tx_wfqbe_pi1&amp;amp;quot;&amp;lt;/description&amp;gt;&lt;br /&gt;
	&amp;lt;/meta&amp;gt;&lt;br /&gt;
	&amp;lt;data type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;languageKey index=&amp;quot;default&amp;quot; type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;prev&amp;quot;&amp;gt;Previous page&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;next&amp;quot;&amp;gt;Next page&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;go_to_page&amp;quot;&amp;gt;Go to page &amp;lt;/label&amp;gt;&lt;br /&gt;
		&amp;lt;/languageKey&amp;gt;&lt;br /&gt;
		&amp;lt;languageKey index=&amp;quot;de&amp;quot; type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;prev&amp;quot;&amp;gt;Zurück&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;next&amp;quot;&amp;gt;Weiter&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;go_to_page&amp;quot;&amp;gt;Gehe zu Seite &amp;lt;/label&amp;gt;&lt;br /&gt;
		&amp;lt;/languageKey&amp;gt;&lt;br /&gt;
		&amp;lt;languageKey index=&amp;quot;it&amp;quot; type=&amp;quot;array&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;prev&amp;quot;&amp;gt;Pagina precedente&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;next&amp;quot;&amp;gt;Pagina successiva&amp;lt;/label&amp;gt;&lt;br /&gt;
			&amp;lt;label index=&amp;quot;go_to_page&amp;quot;&amp;gt;Vai a pagina &amp;lt;/label&amp;gt;&lt;br /&gt;
		&amp;lt;/languageKey&amp;gt;&lt;br /&gt;
	&amp;lt;/data&amp;gt;&lt;br /&gt;
&amp;lt;/T3locallang&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suchabfragen ==&lt;br /&gt;
Dafür baut man ein Select Query in dem man die WHERE Clauses durch Platzhalter in der Art ###WFQBE_SUCHMICH### ersetzt. Eine 2. Suchabfrage wird im Search Modus ausgeführt und auf die vorher erstellte Liste verwiesen. Darin stehen die Platzhalter automatisch zur Verfügung.&lt;br /&gt;
=== Tipps ===&lt;br /&gt;
Platzhalter benutzen: &lt;br /&gt;
 SELECT * WHERE meinFeld LIKE &amp;#039;%###WFQBE_SUCHMICH###%&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Detailansichten realisieren ==&lt;br /&gt;
Hinweis: die Beispiele entstammen aus einem Projekt und wurden etwas vereinfacht. Unter Umständen können sich in die Nummerierung der Felder Fehler eingeschlichen haben. Also nochmal vor dem Einsatz prüfen.&lt;br /&gt;
&lt;br /&gt;
Wir möchten eine Liste von VHS-Kursen ausgeben. In dieser Ausgabeliste sollen alle Datensätze einen Link bekommen. Wenn man diesen anklickt werden die Daten des gewählten Datensatzes in einer Detailansicht gezeigt. Außerdem gibt es ein Datum und ein Bild des Referenten.&lt;br /&gt;
&lt;br /&gt;
Als Ausgangspunkt haben wir für das Beispiel einen Datensatz mit der uid=1 der eine Liste ausgibt und einen mit der uid=4 der die Detailansicht ausgibt.&lt;br /&gt;
&lt;br /&gt;
Abfrage der Listenansicht (uid des Datensatzes = 1)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT tt_kurse.uid AS Detailansicht, tt_kurse.referent AS Referent, tt_kurse.hausOrt AS Ort, tt_kurse.seminarName AS Seminarname FROM tt_kurse&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Abfrage der Detailansicht (uid des Datensatzes = 4)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 SELECT tt_kurse.seminarName, tt_kurse.seminarText, tt_kurse.referent, tt_kurse.referentBild, tt_kurse.seminarStart  FROM bb_kurse WHERE bb_kurse.uid = ###WFQBE_UID###&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Platzhalter wird später durch die Übergabe des Parameters &amp;#039;&amp;#039;tx_wfqbe_pi1[uid]=uid&amp;#039;&amp;#039; ersetzt&lt;br /&gt;
&lt;br /&gt;
Im &amp;#039;&amp;#039;&amp;#039;TypoScript&amp;#039;&amp;#039;&amp;#039; manipulieren wir jetzt die &amp;#039;&amp;#039;&amp;#039;Listenansicht:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_wfqbe_pi1.customProcess.1 {&lt;br /&gt;
	0 = TEXT&lt;br /&gt;
	0.value = Show details&lt;br /&gt;
	0.typolink = 1&lt;br /&gt;
	0.typolink.parameter = 20&lt;br /&gt;
	0.typolink.additionalParams = &amp;amp;tx_wfqbe_pi1[uid]=###WFQBE_FIELD_0###&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Erklärung&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Wir können alle Felder die wir Abfragen auch manipulieren. Wenn wir die Standardtabelle als Ausgabe nehmen, stehen sie als Nummer (beginnend mit 0) zur Verfügung bei einem Custom Template mit ihrem Namen der auch im Marker steht (uid = TEXT...)&lt;br /&gt;
&lt;br /&gt;
 customProcess.1 &lt;br /&gt;
Die Abfrage mit der uid=1 soll bearbeitet werden.&lt;br /&gt;
 0 = TEXT&lt;br /&gt;
das erste Feld aus der Abfrage (uid des Kurses) soll ein Text-Objekt sein. Wir arbeiten mit der Defaulttabelle als Template, deshalb heißt es immer 0. bei einem eigenen Template könnte es auch uid. heißen.&lt;br /&gt;
 0.typolink = 1&lt;br /&gt;
Link einschalten&lt;br /&gt;
 ...parameter = 20 &lt;br /&gt;
id der Zielseite&lt;br /&gt;
 additionalParams...&lt;br /&gt;
die Parameter werden übergeben (die uid des Datensatzes der angezeigt wird. Sein Wert steht in dem Marker ###WFQBE_FIELD_0### zur Verfügung.&lt;br /&gt;
Natürlich auch die der anderen Felder. Es ist auch möglich mit ###WFQBE_FIELD_uid### auf den WErt zuzugreifen (siehe unten).&lt;br /&gt;
&lt;br /&gt;
Alle mit dem Select Query ausgegebenen &amp;#039;&amp;#039;&amp;#039;Felder stehen als Array in einem COA TypoScript Objekt zur Verfügung&amp;#039;&amp;#039;&amp;#039;. D.h. mit der 0 kann man das erste Feld als TypoScript Objekt ansprechen mit der 1 das nächste und so weiter. Der Inhalt steht außerdem als Marker in der Form ###WFQBE_FIELD_Nummer### zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Im Beipiel wird das 1. Feld als TEXT Objekt generiert und mit einem Link versehen. Als Parameter geben wir die uid des Datensatzes mit. Der Marker in der letzten Zeile wird mit dessen Wert ersetzt.&lt;br /&gt;
&lt;br /&gt;
=== Timestamp formatieren ===&lt;br /&gt;
Wir haben gesehen, daß man mit customProcess einen Query Datensatz ansprechen kann und seine Felder als TypoScript Objekte umsetzen.&lt;br /&gt;
Das machen wir nun mit einem Datumsfeld. Dazu erweitern wir das TypoScript Template und greifen diesesmal auf den Datensatz mit der Detailansicht zu (uid = 4)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.tx_wfqbe_pi1.customProcess.4 {&lt;br /&gt;
   # Datum ausgeben&lt;br /&gt;
   4= TEXT&lt;br /&gt;
   4.value = ###WFQBE_FIELD_4###&lt;br /&gt;
   4.date = d.m.Y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TypoScript geht normalerweise von einem Unix-Timestamp in der Datenbank aus. WEnn aber das Datum im Datumsformat eingegeben ist kann man es denoch als Timestamp ausgeben wenn man die SQL-Abfrage folgendermaßen erweitert.&lt;br /&gt;
&lt;br /&gt;
 SELECT ..., UNIX_TIMESTAMP(bb_kurse.seminarStart) AS Datum, ... FROM bb_kurse WHERE bb_kurse.uid = ###WFQBE_UID###&lt;br /&gt;
&lt;br /&gt;
=== URL ausgeben ===&lt;br /&gt;
Für URLs nehmen wir wieder den Typolink&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   # URL ausgeben&lt;br /&gt;
   6= TEXT&lt;br /&gt;
   6.value = ###WFQBE_FIELD_6###&lt;br /&gt;
   6.typolink = 1&lt;br /&gt;
   6.typolink.parameter = ###WFQBE_FIELD_6### &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mit Markernamen anstatt Nummern ===&lt;br /&gt;
Ab Version 1 ist es auch möglich mit Markern statt mit Nummern zu arbeiten. Zumindest Wenn man ein eigenes Template zur Ausgabe benutzt und auf die Standard Tabellenausgabe Verzichten möchte funktioniert das gut.&lt;br /&gt;
Dabei werden die Tabellenfeldernamen statt der Nummern eingesetzt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   # URL ausgeben&lt;br /&gt;
   hausUrl= TEXT&lt;br /&gt;
   hausUrl{&lt;br /&gt;
      value = ###WFQBE_FIELD_hausUrl###&lt;br /&gt;
      typolink = 1&lt;br /&gt;
      typolink.parameter = ###WFQBE_FIELD_hausUrl### &lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Probleme kann es geben wenn z.B. Funktionen wie oben UNIX_TIMESTAMP nutzt. Man kann aber in problematischen Fällen immer noch auf die Nummerierung zurückgreifen.&lt;br /&gt;
&lt;br /&gt;
=== Bild ausgeben ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 imagePath=fileadmin/kursbilder/&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;
plugin.tx_wfqbe_pi1.customProcess.4 {&lt;br /&gt;
   #Bild ausgeben&lt;br /&gt;
   referentBild = IMAGE&lt;br /&gt;
   referentBild {&lt;br /&gt;
      file.maxH = 80&lt;br /&gt;
      file = {$imagePath}###WFQBE_FIELD_referentBild###&lt;br /&gt;
      &lt;br /&gt;
      imageLinkWrap = 1&lt;br /&gt;
      imageLinkWrap {&lt;br /&gt;
         enable = 1&lt;br /&gt;
         bodyTag = &amp;lt;BODY style=&amp;quot;background:white;&amp;quot;&amp;gt;&lt;br /&gt;
         wrap = &amp;lt;a href=&amp;quot;javascript:close();&amp;quot;&amp;gt; | &amp;lt;/a&amp;gt;&lt;br /&gt;
         width = 400&lt;br /&gt;
         JSwindow = 1&lt;br /&gt;
         JSwindow.newWindow = 1&lt;br /&gt;
         JSwindow.expand = 16,16&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Page Browser ==&lt;br /&gt;
In eigenen HTML-Templates wird standardmäßig kein Seitenbrowser angezeigt (in der Standardtabelle schon). Dafür gibt es ein paar Marker mit denen man den Browser bauen kann:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###BROWSE_TEMPLATE### --&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;wfqbe_browser&amp;quot;&amp;gt;&lt;br /&gt;
      Page ###PAGE_ACTUAL### of ###PAGE_TOTAL###&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;a href=&amp;quot;###PAGE_PREV###&amp;quot; ###PAGE_PREV_TITLE###&amp;gt;&amp;amp;lt;&amp;amp;lt;&amp;lt;/a&amp;gt; ###PAGE_LIST### &amp;lt;a href=&amp;quot;###PAGE_NEXT###&amp;quot; ###PAGE_NEXT_TITLE###&amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###BROWSE_TEMPLATE### --&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSV Export ==&lt;br /&gt;
Sollte normalerweise funktionieren wenn das statische Template für wfqbe ausgewählt ist. Manchmal gehts aber nicht.&lt;br /&gt;
&lt;br /&gt;
Zum Testen, so ungefähr sollte das TypoScript für den Seitentyp 181 (csv) aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
## This enables the csv file export&lt;br /&gt;
csv_wfqbe &amp;gt;&lt;br /&gt;
csv_wfqbe = PAGE&lt;br /&gt;
csv_wfqbe {&lt;br /&gt;
  typeNum = 181&lt;br /&gt;
&lt;br /&gt;
  10 &amp;lt; plugin.tx_wfqbe_pi1&lt;br /&gt;
  10.template = EXT:wfqbe/pi1/wfqbe_csv_template.html&lt;br /&gt;
  10.defLayout = 0&lt;br /&gt;
&lt;br /&gt;
  config {&lt;br /&gt;
    disableAllHeaderCode = 1&lt;br /&gt;
    additionalHeaders = Content-type:application/csv|Content-Disposition: attachment; filename=results.csv|Content-Transfer-Encoding:binary&lt;br /&gt;
    xhtml_cleaning = 0&lt;br /&gt;
    admPanel = 0&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Manchmal ist auch ein falsch generierter Link die Ursache z.B wenn der Parameter ?type=181 lautet statt &amp;amp;type=181 (bei realurl o.ä.)&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Spr%C3%BCche&amp;diff=2006</id>
		<title>Sprüche</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spr%C3%BCche&amp;diff=2006"/>
		<updated>2010-05-18T12:27:23Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
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;
&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;
&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;
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;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Linux_-_Cronjobs&amp;diff=17617</id>
		<title>Linux - Cronjobs</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Linux_-_Cronjobs&amp;diff=17617"/>
		<updated>2010-05-14T13:41:10Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Beispiel: Cronjob für Direct Mail Versand in Typo3 auf all-inkl Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://www.debian-administration.org/articles/56&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cronjobs / Crontab ==&lt;br /&gt;
&lt;br /&gt;
Cronjobs sind Aufgaben, die regelmäßig zu einer bestimmten Zeit ausgeführt werden.&lt;br /&gt;
Das können z.B. Serverstatistiken sein, die man jede Nacht generieren möchte.&lt;br /&gt;
&lt;br /&gt;
Anzeigen kann man die Liste der Cronjobs mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 crontab -l&lt;br /&gt;
&lt;br /&gt;
Editieren kann man die Liste mit:&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
&lt;br /&gt;
Nun wird die Liste der Cronjobs mit dem Standardeditor (in der Regel vim) geöffnet.&lt;br /&gt;
&lt;br /&gt;
Hier stehen nun Zeilen dirn, die in etwa, wie die folgende aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 */6 * * * /usr/local/confixx/runwebalizer.sh 2&amp;gt;/dev/null &amp;gt;/dev/null&lt;br /&gt;
0 20 * * * /srv/scripts/backup.sh 2&amp;gt;&amp;amp;1 | /usr/global/bin/cmail -s &amp;quot;Mail-Subject&amp;quot; mail@admin.de&lt;br /&gt;
1 3 * * * /srv/scripts/backup.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die ersten 5 Stellen sind Zahlen, die durch Leerzeichen, oder Tabs getrennt werden dürfen.&lt;br /&gt;
Dabei stehen die Zahlen der Reihenfolge nach für:&lt;br /&gt;
&lt;br /&gt;
Die Minute zu der das Script ausgeführt werden soll (0-59),&lt;br /&gt;
&lt;br /&gt;
Die Stunde (0-23),&lt;br /&gt;
&lt;br /&gt;
Den Tag (1-31),&lt;br /&gt;
&lt;br /&gt;
Den Monat (1-12),&lt;br /&gt;
&lt;br /&gt;
Den Wochentag (0-6 wobei 0=Sonntag).&lt;br /&gt;
&lt;br /&gt;
Ein * steht jeweils für &amp;#039;jeden&amp;#039;.&lt;br /&gt;
 1 3 * * * &lt;br /&gt;
&lt;br /&gt;
würde also bedeuten: Jeden Tag um 3.01 Uhr&lt;br /&gt;
 */6 &lt;br /&gt;
&lt;br /&gt;
bedeutet: &amp;quot;Wenn die Zahl durch 6 teilbar ist&amp;quot;, also alle 6 Stunden/Minute, ...&lt;br /&gt;
 0 */6 * * * &lt;br /&gt;
&lt;br /&gt;
würde bedeuten jede 6 Stunden und 0 Minuten, also jeden Tag um 0.00, um 6.00, um 12.00 und um 18.00.&lt;br /&gt;
&lt;br /&gt;
Man kann mehrere Zahlen auch durch Komata trennen:&lt;br /&gt;
 7 1,2,5 * * * würde jeden Tag um 1:07, um 2:07 und um 5:07 ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Auch - (bis) ist Möglich&lt;br /&gt;
 0 0 * * 1-5 würde jeden Wochentag um 0.00 ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Nach dieser Zeitangabe folgt das Komando, dass zu den zuvor festgelegten Zeiten ausgeführt werden soll.&lt;br /&gt;
z.B.: Das Script /srv/scripts/backup.sh aufrufen, welches z.B. wichtige Dateien sichert. &lt;br /&gt;
&lt;br /&gt;
Quelle: http://www.orgapage.net/pages/server/linux/cronjobs.php (1.10.2009)&lt;br /&gt;
&lt;br /&gt;
== Cronjobs auf all-inkl Server ==&lt;br /&gt;
Manche Provider erlauben keinen direkten Zugriff auf Crontab. All-inkl erlaubt dafür das Zeitgesteuerte Aufsführen von php Skripten.&lt;br /&gt;
&lt;br /&gt;
Wenn PHP so konfiguriert ist, daß man das exec (oder auch  einige andere) Kommandos ausführen kann, so ist es möglich dennoch Cronjobs auszuführen. Auch das Anfahren des Command Line Interfae in Typo3 ist darüber möglich.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: Cronjob für Direct Mail Versand in Typo3 auf all-inkl Server ===&lt;br /&gt;
&lt;br /&gt;
Eine Anfrage bei all-inkl ergab folgendes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Zitat Anfang&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...direkte Shell Befehle können Sie im KAS nicht eingeben. Bitte erstellen Sie sich dazu ein PHP Script mit der &amp;#039;&amp;#039;&amp;#039;Endung .phpx&amp;#039;&amp;#039;&amp;#039; und folgendem Inhalt:...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
    exec(&amp;quot;php /www/htdocs/w00c43b9/typo3/cli_dispatch.phpsh direct_mail masssend&amp;quot;,$ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;amp;lt;pre&amp;amp;gt;&amp;quot;;&lt;br /&gt;
    print_r($ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;amp;lt;/pre&amp;amp;gt;&amp;quot;;&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Geben Sie dann die HTTP Adresse zu diesem Script im KAS an. Den gewünschten Zeitintervall für die Ausführung können Sie dann auch im KAS mit angeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Zitat Ende&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den absoluten Pfad zum Skript bekommt man über die Funktion phpinfo. &lt;br /&gt;
&lt;br /&gt;
Die Skripte könnte man z.B. in ein Webverzeichnis cron/ legen, und dieses dann über .htaccess schützen.&lt;br /&gt;
&lt;br /&gt;
Die Server sind scheinbar so konfiguriert, daß ein Skript mit der Endung phpx direkt über den staischen php-interpreter ausgeführt wird. Damit sollten auch Timeout Probleme kein Problem darstellen.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Linux_-_Cronjobs&amp;diff=2004</id>
		<title>Linux - Cronjobs</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Linux_-_Cronjobs&amp;diff=2004"/>
		<updated>2010-05-14T13:39:08Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Beispiel: Cronjob für Direct Mail Versand in Typo3 auf all-inkl Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://www.debian-administration.org/articles/56&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cronjobs / Crontab ==&lt;br /&gt;
&lt;br /&gt;
Cronjobs sind Aufgaben, die regelmäßig zu einer bestimmten Zeit ausgeführt werden.&lt;br /&gt;
Das können z.B. Serverstatistiken sein, die man jede Nacht generieren möchte.&lt;br /&gt;
&lt;br /&gt;
Anzeigen kann man die Liste der Cronjobs mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 crontab -l&lt;br /&gt;
&lt;br /&gt;
Editieren kann man die Liste mit:&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
&lt;br /&gt;
Nun wird die Liste der Cronjobs mit dem Standardeditor (in der Regel vim) geöffnet.&lt;br /&gt;
&lt;br /&gt;
Hier stehen nun Zeilen dirn, die in etwa, wie die folgende aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 */6 * * * /usr/local/confixx/runwebalizer.sh 2&amp;gt;/dev/null &amp;gt;/dev/null&lt;br /&gt;
0 20 * * * /srv/scripts/backup.sh 2&amp;gt;&amp;amp;1 | /usr/global/bin/cmail -s &amp;quot;Mail-Subject&amp;quot; mail@admin.de&lt;br /&gt;
1 3 * * * /srv/scripts/backup.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die ersten 5 Stellen sind Zahlen, die durch Leerzeichen, oder Tabs getrennt werden dürfen.&lt;br /&gt;
Dabei stehen die Zahlen der Reihenfolge nach für:&lt;br /&gt;
&lt;br /&gt;
Die Minute zu der das Script ausgeführt werden soll (0-59),&lt;br /&gt;
&lt;br /&gt;
Die Stunde (0-23),&lt;br /&gt;
&lt;br /&gt;
Den Tag (1-31),&lt;br /&gt;
&lt;br /&gt;
Den Monat (1-12),&lt;br /&gt;
&lt;br /&gt;
Den Wochentag (0-6 wobei 0=Sonntag).&lt;br /&gt;
&lt;br /&gt;
Ein * steht jeweils für &amp;#039;jeden&amp;#039;.&lt;br /&gt;
 1 3 * * * &lt;br /&gt;
&lt;br /&gt;
würde also bedeuten: Jeden Tag um 3.01 Uhr&lt;br /&gt;
 */6 &lt;br /&gt;
&lt;br /&gt;
bedeutet: &amp;quot;Wenn die Zahl durch 6 teilbar ist&amp;quot;, also alle 6 Stunden/Minute, ...&lt;br /&gt;
 0 */6 * * * &lt;br /&gt;
&lt;br /&gt;
würde bedeuten jede 6 Stunden und 0 Minuten, also jeden Tag um 0.00, um 6.00, um 12.00 und um 18.00.&lt;br /&gt;
&lt;br /&gt;
Man kann mehrere Zahlen auch durch Komata trennen:&lt;br /&gt;
 7 1,2,5 * * * würde jeden Tag um 1:07, um 2:07 und um 5:07 ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Auch - (bis) ist Möglich&lt;br /&gt;
 0 0 * * 1-5 würde jeden Wochentag um 0.00 ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Nach dieser Zeitangabe folgt das Komando, dass zu den zuvor festgelegten Zeiten ausgeführt werden soll.&lt;br /&gt;
z.B.: Das Script /srv/scripts/backup.sh aufrufen, welches z.B. wichtige Dateien sichert. &lt;br /&gt;
&lt;br /&gt;
Quelle: http://www.orgapage.net/pages/server/linux/cronjobs.php (1.10.2009)&lt;br /&gt;
&lt;br /&gt;
== Cronjobs auf all-inkl Server ==&lt;br /&gt;
Manche Provider erlauben keinen direkten Zugriff auf Crontab. All-inkl erlaubt dafür das Zeitgesteuerte Aufsführen von php Skripten.&lt;br /&gt;
&lt;br /&gt;
Wenn PHP so konfiguriert ist, daß man das exec (oder auch  einige andere) Kommandos ausführen kann, so ist es möglich dennoch Cronjobs auszuführen. Auch das Anfahren des Command Line Interfae in Typo3 ist darüber möglich.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: Cronjob für Direct Mail Versand in Typo3 auf all-inkl Server ===&lt;br /&gt;
&lt;br /&gt;
Eine Anfrage bei all-inkl ergab folgendes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Zitat Anfang&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...direkte Shell Befehle können Sie im KAS nicht eingeben. Bitte erstellen Sie sich dazu ein PHP Script mit der &amp;#039;&amp;#039;&amp;#039;Endung .phpx&amp;#039;&amp;#039;&amp;#039; und folgendem Inhalt:...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
    exec(&amp;quot;php /www/htdocs/w00c43b9/typo3/cli_dispatch.phpsh direct_mail masssend&amp;quot;,$ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;amp;lt;pre&amp;amp;gt;&amp;quot;;&lt;br /&gt;
    print_r($ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;amp;lt;/pre&amp;amp;gt;&amp;quot;;&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Geben Sie dann die HTTP Adresse zu diesem Script im KAS an. Den gewünschten Zeitintervall für die Ausführung können Sie dann auch im KAS mit angeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Zitat Ende&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Server sind scheinbar so konfiguriert, daß ein Skript mit der Endung phpx direkt über den staischen php-interpreter ausgeführt wird. Damit sollten auch Timeout Probleme kein Problem darstellen.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Linux_-_Cronjobs&amp;diff=2003</id>
		<title>Linux - Cronjobs</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Linux_-_Cronjobs&amp;diff=2003"/>
		<updated>2010-05-14T13:38:21Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Beispiel: Cronjob für Direct Mail Versand in Typo3 auf all-inkl Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://www.debian-administration.org/articles/56&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cronjobs / Crontab ==&lt;br /&gt;
&lt;br /&gt;
Cronjobs sind Aufgaben, die regelmäßig zu einer bestimmten Zeit ausgeführt werden.&lt;br /&gt;
Das können z.B. Serverstatistiken sein, die man jede Nacht generieren möchte.&lt;br /&gt;
&lt;br /&gt;
Anzeigen kann man die Liste der Cronjobs mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 crontab -l&lt;br /&gt;
&lt;br /&gt;
Editieren kann man die Liste mit:&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
&lt;br /&gt;
Nun wird die Liste der Cronjobs mit dem Standardeditor (in der Regel vim) geöffnet.&lt;br /&gt;
&lt;br /&gt;
Hier stehen nun Zeilen dirn, die in etwa, wie die folgende aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 */6 * * * /usr/local/confixx/runwebalizer.sh 2&amp;gt;/dev/null &amp;gt;/dev/null&lt;br /&gt;
0 20 * * * /srv/scripts/backup.sh 2&amp;gt;&amp;amp;1 | /usr/global/bin/cmail -s &amp;quot;Mail-Subject&amp;quot; mail@admin.de&lt;br /&gt;
1 3 * * * /srv/scripts/backup.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die ersten 5 Stellen sind Zahlen, die durch Leerzeichen, oder Tabs getrennt werden dürfen.&lt;br /&gt;
Dabei stehen die Zahlen der Reihenfolge nach für:&lt;br /&gt;
&lt;br /&gt;
Die Minute zu der das Script ausgeführt werden soll (0-59),&lt;br /&gt;
&lt;br /&gt;
Die Stunde (0-23),&lt;br /&gt;
&lt;br /&gt;
Den Tag (1-31),&lt;br /&gt;
&lt;br /&gt;
Den Monat (1-12),&lt;br /&gt;
&lt;br /&gt;
Den Wochentag (0-6 wobei 0=Sonntag).&lt;br /&gt;
&lt;br /&gt;
Ein * steht jeweils für &amp;#039;jeden&amp;#039;.&lt;br /&gt;
 1 3 * * * &lt;br /&gt;
&lt;br /&gt;
würde also bedeuten: Jeden Tag um 3.01 Uhr&lt;br /&gt;
 */6 &lt;br /&gt;
&lt;br /&gt;
bedeutet: &amp;quot;Wenn die Zahl durch 6 teilbar ist&amp;quot;, also alle 6 Stunden/Minute, ...&lt;br /&gt;
 0 */6 * * * &lt;br /&gt;
&lt;br /&gt;
würde bedeuten jede 6 Stunden und 0 Minuten, also jeden Tag um 0.00, um 6.00, um 12.00 und um 18.00.&lt;br /&gt;
&lt;br /&gt;
Man kann mehrere Zahlen auch durch Komata trennen:&lt;br /&gt;
 7 1,2,5 * * * würde jeden Tag um 1:07, um 2:07 und um 5:07 ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Auch - (bis) ist Möglich&lt;br /&gt;
 0 0 * * 1-5 würde jeden Wochentag um 0.00 ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Nach dieser Zeitangabe folgt das Komando, dass zu den zuvor festgelegten Zeiten ausgeführt werden soll.&lt;br /&gt;
z.B.: Das Script /srv/scripts/backup.sh aufrufen, welches z.B. wichtige Dateien sichert. &lt;br /&gt;
&lt;br /&gt;
Quelle: http://www.orgapage.net/pages/server/linux/cronjobs.php (1.10.2009)&lt;br /&gt;
&lt;br /&gt;
== Cronjobs auf all-inkl Server ==&lt;br /&gt;
Manche Provider erlauben keinen direkten Zugriff auf Crontab. All-inkl erlaubt dafür das Zeitgesteuerte Aufsführen von php Skripten.&lt;br /&gt;
&lt;br /&gt;
Wenn PHP so konfiguriert ist, daß man das exec (oder auch  einige andere) Kommandos ausführen kann, so ist es möglich dennoch Cronjobs auszuführen. Auch das Anfahren des Command Line Interfae in Typo3 ist darüber möglich.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: Cronjob für Direct Mail Versand in Typo3 auf all-inkl Server ===&lt;br /&gt;
&lt;br /&gt;
Eine Anfrage bei all-inkl ergab folgendes:&lt;br /&gt;
&amp;lt;Zitat Anfang&amp;gt;&lt;br /&gt;
...direkte Shell Befehle können Sie im KAS nicht eingeben. Bitte erstellen Sie sich dazu ein PHP Script mit der &amp;#039;&amp;#039;&amp;#039;Endung .phpx&amp;#039;&amp;#039;&amp;#039; und folgendem Inhalt:...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
    exec(&amp;quot;php /www/htdocs/w00c43b9/typo3/cli_dispatch.phpsh direct_mail masssend&amp;quot;,$ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;amp;lt;pre&amp;amp;gt;&amp;quot;;&lt;br /&gt;
    print_r($ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;amp;lt;/pre&amp;amp;gt;&amp;quot;;&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Geben Sie dann die HTTP Adresse zu diesem Script im KAS an. Den gewünschten Zeitintervall für die Ausführung können Sie dann auch im KAS mit angeben.&lt;br /&gt;
&amp;lt;Zitat Ende&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Server sind scheinbar so konfiguriert, daß ein Skript mit der Endung phpx direkt über den staischen php-interpreter ausgeführt wird. Damit sollten auch Timeout Probleme kein Problem darstellen.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Linux_-_Cronjobs&amp;diff=2002</id>
		<title>Linux - Cronjobs</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Linux_-_Cronjobs&amp;diff=2002"/>
		<updated>2010-05-14T13:35:30Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Beispiel: Cronjob für Direct Mail Versand in Typo3 auf all-inkl Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://www.debian-administration.org/articles/56&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cronjobs / Crontab ==&lt;br /&gt;
&lt;br /&gt;
Cronjobs sind Aufgaben, die regelmäßig zu einer bestimmten Zeit ausgeführt werden.&lt;br /&gt;
Das können z.B. Serverstatistiken sein, die man jede Nacht generieren möchte.&lt;br /&gt;
&lt;br /&gt;
Anzeigen kann man die Liste der Cronjobs mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 crontab -l&lt;br /&gt;
&lt;br /&gt;
Editieren kann man die Liste mit:&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
&lt;br /&gt;
Nun wird die Liste der Cronjobs mit dem Standardeditor (in der Regel vim) geöffnet.&lt;br /&gt;
&lt;br /&gt;
Hier stehen nun Zeilen dirn, die in etwa, wie die folgende aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 */6 * * * /usr/local/confixx/runwebalizer.sh 2&amp;gt;/dev/null &amp;gt;/dev/null&lt;br /&gt;
0 20 * * * /srv/scripts/backup.sh 2&amp;gt;&amp;amp;1 | /usr/global/bin/cmail -s &amp;quot;Mail-Subject&amp;quot; mail@admin.de&lt;br /&gt;
1 3 * * * /srv/scripts/backup.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die ersten 5 Stellen sind Zahlen, die durch Leerzeichen, oder Tabs getrennt werden dürfen.&lt;br /&gt;
Dabei stehen die Zahlen der Reihenfolge nach für:&lt;br /&gt;
&lt;br /&gt;
Die Minute zu der das Script ausgeführt werden soll (0-59),&lt;br /&gt;
&lt;br /&gt;
Die Stunde (0-23),&lt;br /&gt;
&lt;br /&gt;
Den Tag (1-31),&lt;br /&gt;
&lt;br /&gt;
Den Monat (1-12),&lt;br /&gt;
&lt;br /&gt;
Den Wochentag (0-6 wobei 0=Sonntag).&lt;br /&gt;
&lt;br /&gt;
Ein * steht jeweils für &amp;#039;jeden&amp;#039;.&lt;br /&gt;
 1 3 * * * &lt;br /&gt;
&lt;br /&gt;
würde also bedeuten: Jeden Tag um 3.01 Uhr&lt;br /&gt;
 */6 &lt;br /&gt;
&lt;br /&gt;
bedeutet: &amp;quot;Wenn die Zahl durch 6 teilbar ist&amp;quot;, also alle 6 Stunden/Minute, ...&lt;br /&gt;
 0 */6 * * * &lt;br /&gt;
&lt;br /&gt;
würde bedeuten jede 6 Stunden und 0 Minuten, also jeden Tag um 0.00, um 6.00, um 12.00 und um 18.00.&lt;br /&gt;
&lt;br /&gt;
Man kann mehrere Zahlen auch durch Komata trennen:&lt;br /&gt;
 7 1,2,5 * * * würde jeden Tag um 1:07, um 2:07 und um 5:07 ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Auch - (bis) ist Möglich&lt;br /&gt;
 0 0 * * 1-5 würde jeden Wochentag um 0.00 ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Nach dieser Zeitangabe folgt das Komando, dass zu den zuvor festgelegten Zeiten ausgeführt werden soll.&lt;br /&gt;
z.B.: Das Script /srv/scripts/backup.sh aufrufen, welches z.B. wichtige Dateien sichert. &lt;br /&gt;
&lt;br /&gt;
Quelle: http://www.orgapage.net/pages/server/linux/cronjobs.php (1.10.2009)&lt;br /&gt;
&lt;br /&gt;
== Cronjobs auf all-inkl Server ==&lt;br /&gt;
Manche Provider erlauben keinen direkten Zugriff auf Crontab. All-inkl erlaubt dafür das Zeitgesteuerte Aufsführen von php Skripten.&lt;br /&gt;
&lt;br /&gt;
Wenn PHP so konfiguriert ist, daß man das exec (oder auch  einige andere) Kommandos ausführen kann, so ist es möglich dennoch Cronjobs auszuführen. Auch das Anfahren des Command Line Interfae in Typo3 ist darüber möglich.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: Cronjob für Direct Mail Versand in Typo3 auf all-inkl Server ===&lt;br /&gt;
&lt;br /&gt;
Eine Anfrage bei all-inkl ergab folgendes:&lt;br /&gt;
&amp;lt;Zitat Anfang&amp;gt;&lt;br /&gt;
...direkte Shell Befehle können Sie im KAS nicht eingeben. Bitte erstellen Sie sich dazu ein PHP Script mit der &amp;#039;&amp;#039;&amp;#039;Endung .phpx&amp;#039;&amp;#039;&amp;#039; und folgendem Inhalt:...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    exec(&amp;quot;php /www/htdocs/w00c43b9/typo3/cli_dispatch.phpsh direct_mail masssend&amp;quot;,$ausgabe);&lt;br /&gt;
    echo &amp;#039;&amp;lt;pre&amp;gt;&amp;#039;;&lt;br /&gt;
    print_r($ausgabe);&lt;br /&gt;
    echo &amp;#039;&amp;lt;/pre&amp;gt;&amp;#039;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Geben Sie dann die HTTP Adresse zu diesem Script im KAS an. Den gewünschten Zeitintervall für die Ausführung können Sie dann auch im KAS mit angeben.&lt;br /&gt;
&amp;lt;Zitat Ende&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Server sind scheinbar so konfiguriert, daß ein Skript mit der Endung phpx direkt über den staischen php-interpreter ausgeführt wird. Damit sollten auch Timeout Probleme kein Problem darstellen.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Linux_-_Cronjobs&amp;diff=2001</id>
		<title>Linux - Cronjobs</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Linux_-_Cronjobs&amp;diff=2001"/>
		<updated>2010-05-14T13:34:27Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Beispiel: Cronjob für Direct Mail Versand in Typo3 auf all-inkl Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://www.debian-administration.org/articles/56&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cronjobs / Crontab ==&lt;br /&gt;
&lt;br /&gt;
Cronjobs sind Aufgaben, die regelmäßig zu einer bestimmten Zeit ausgeführt werden.&lt;br /&gt;
Das können z.B. Serverstatistiken sein, die man jede Nacht generieren möchte.&lt;br /&gt;
&lt;br /&gt;
Anzeigen kann man die Liste der Cronjobs mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 crontab -l&lt;br /&gt;
&lt;br /&gt;
Editieren kann man die Liste mit:&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
&lt;br /&gt;
Nun wird die Liste der Cronjobs mit dem Standardeditor (in der Regel vim) geöffnet.&lt;br /&gt;
&lt;br /&gt;
Hier stehen nun Zeilen dirn, die in etwa, wie die folgende aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 */6 * * * /usr/local/confixx/runwebalizer.sh 2&amp;gt;/dev/null &amp;gt;/dev/null&lt;br /&gt;
0 20 * * * /srv/scripts/backup.sh 2&amp;gt;&amp;amp;1 | /usr/global/bin/cmail -s &amp;quot;Mail-Subject&amp;quot; mail@admin.de&lt;br /&gt;
1 3 * * * /srv/scripts/backup.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die ersten 5 Stellen sind Zahlen, die durch Leerzeichen, oder Tabs getrennt werden dürfen.&lt;br /&gt;
Dabei stehen die Zahlen der Reihenfolge nach für:&lt;br /&gt;
&lt;br /&gt;
Die Minute zu der das Script ausgeführt werden soll (0-59),&lt;br /&gt;
&lt;br /&gt;
Die Stunde (0-23),&lt;br /&gt;
&lt;br /&gt;
Den Tag (1-31),&lt;br /&gt;
&lt;br /&gt;
Den Monat (1-12),&lt;br /&gt;
&lt;br /&gt;
Den Wochentag (0-6 wobei 0=Sonntag).&lt;br /&gt;
&lt;br /&gt;
Ein * steht jeweils für &amp;#039;jeden&amp;#039;.&lt;br /&gt;
 1 3 * * * &lt;br /&gt;
&lt;br /&gt;
würde also bedeuten: Jeden Tag um 3.01 Uhr&lt;br /&gt;
 */6 &lt;br /&gt;
&lt;br /&gt;
bedeutet: &amp;quot;Wenn die Zahl durch 6 teilbar ist&amp;quot;, also alle 6 Stunden/Minute, ...&lt;br /&gt;
 0 */6 * * * &lt;br /&gt;
&lt;br /&gt;
würde bedeuten jede 6 Stunden und 0 Minuten, also jeden Tag um 0.00, um 6.00, um 12.00 und um 18.00.&lt;br /&gt;
&lt;br /&gt;
Man kann mehrere Zahlen auch durch Komata trennen:&lt;br /&gt;
 7 1,2,5 * * * würde jeden Tag um 1:07, um 2:07 und um 5:07 ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Auch - (bis) ist Möglich&lt;br /&gt;
 0 0 * * 1-5 würde jeden Wochentag um 0.00 ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Nach dieser Zeitangabe folgt das Komando, dass zu den zuvor festgelegten Zeiten ausgeführt werden soll.&lt;br /&gt;
z.B.: Das Script /srv/scripts/backup.sh aufrufen, welches z.B. wichtige Dateien sichert. &lt;br /&gt;
&lt;br /&gt;
Quelle: http://www.orgapage.net/pages/server/linux/cronjobs.php (1.10.2009)&lt;br /&gt;
&lt;br /&gt;
== Cronjobs auf all-inkl Server ==&lt;br /&gt;
Manche Provider erlauben keinen direkten Zugriff auf Crontab. All-inkl erlaubt dafür das Zeitgesteuerte Aufsführen von php Skripten.&lt;br /&gt;
&lt;br /&gt;
Wenn PHP so konfiguriert ist, daß man das exec (oder auch  einige andere) Kommandos ausführen kann, so ist es möglich dennoch Cronjobs auszuführen. Auch das Anfahren des Command Line Interfae in Typo3 ist darüber möglich.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: Cronjob für Direct Mail Versand in Typo3 auf all-inkl Server ===&lt;br /&gt;
&lt;br /&gt;
Eine Anfrage bei all-inkl ergab folgendes:&lt;br /&gt;
&amp;lt;Zitat Anfang&amp;gt;&lt;br /&gt;
...direkte Shell Befehle können Sie im KAS nicht eingeben. Bitte erstellen Sie sich dazu ein PHP Script mit der &amp;#039;&amp;#039;&amp;#039;Endung .phpx&amp;#039;&amp;#039;&amp;#039; und folgendem Inhalt:...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    exec(&amp;quot;php /www/htdocs/w00c43b9/typo3/cli_dispatch.phpsh direct_mail masssend&amp;quot;,$ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot;;&lt;br /&gt;
    print_r($ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Geben Sie dann die HTTP Adresse zu diesem Script im KAS an. Den gewünschten Zeitintervall für die Ausführung können Sie dann auch im KAS mit angeben.&lt;br /&gt;
&amp;lt;Zitat Ende&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Server sind scheinbar so konfiguriert, daß ein Skript mit der Endung phpx direkt über den staischen php-interpreter ausgeführt wird. Damit sollten auch Timeout Probleme kein Problem darstellen.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Linux_-_Cronjobs&amp;diff=2000</id>
		<title>Linux - Cronjobs</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Linux_-_Cronjobs&amp;diff=2000"/>
		<updated>2010-05-14T13:33:15Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://www.debian-administration.org/articles/56&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cronjobs / Crontab ==&lt;br /&gt;
&lt;br /&gt;
Cronjobs sind Aufgaben, die regelmäßig zu einer bestimmten Zeit ausgeführt werden.&lt;br /&gt;
Das können z.B. Serverstatistiken sein, die man jede Nacht generieren möchte.&lt;br /&gt;
&lt;br /&gt;
Anzeigen kann man die Liste der Cronjobs mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
 crontab -l&lt;br /&gt;
&lt;br /&gt;
Editieren kann man die Liste mit:&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
&lt;br /&gt;
Nun wird die Liste der Cronjobs mit dem Standardeditor (in der Regel vim) geöffnet.&lt;br /&gt;
&lt;br /&gt;
Hier stehen nun Zeilen dirn, die in etwa, wie die folgende aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 */6 * * * /usr/local/confixx/runwebalizer.sh 2&amp;gt;/dev/null &amp;gt;/dev/null&lt;br /&gt;
0 20 * * * /srv/scripts/backup.sh 2&amp;gt;&amp;amp;1 | /usr/global/bin/cmail -s &amp;quot;Mail-Subject&amp;quot; mail@admin.de&lt;br /&gt;
1 3 * * * /srv/scripts/backup.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die ersten 5 Stellen sind Zahlen, die durch Leerzeichen, oder Tabs getrennt werden dürfen.&lt;br /&gt;
Dabei stehen die Zahlen der Reihenfolge nach für:&lt;br /&gt;
&lt;br /&gt;
Die Minute zu der das Script ausgeführt werden soll (0-59),&lt;br /&gt;
&lt;br /&gt;
Die Stunde (0-23),&lt;br /&gt;
&lt;br /&gt;
Den Tag (1-31),&lt;br /&gt;
&lt;br /&gt;
Den Monat (1-12),&lt;br /&gt;
&lt;br /&gt;
Den Wochentag (0-6 wobei 0=Sonntag).&lt;br /&gt;
&lt;br /&gt;
Ein * steht jeweils für &amp;#039;jeden&amp;#039;.&lt;br /&gt;
 1 3 * * * &lt;br /&gt;
&lt;br /&gt;
würde also bedeuten: Jeden Tag um 3.01 Uhr&lt;br /&gt;
 */6 &lt;br /&gt;
&lt;br /&gt;
bedeutet: &amp;quot;Wenn die Zahl durch 6 teilbar ist&amp;quot;, also alle 6 Stunden/Minute, ...&lt;br /&gt;
 0 */6 * * * &lt;br /&gt;
&lt;br /&gt;
würde bedeuten jede 6 Stunden und 0 Minuten, also jeden Tag um 0.00, um 6.00, um 12.00 und um 18.00.&lt;br /&gt;
&lt;br /&gt;
Man kann mehrere Zahlen auch durch Komata trennen:&lt;br /&gt;
 7 1,2,5 * * * würde jeden Tag um 1:07, um 2:07 und um 5:07 ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Auch - (bis) ist Möglich&lt;br /&gt;
 0 0 * * 1-5 würde jeden Wochentag um 0.00 ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
Nach dieser Zeitangabe folgt das Komando, dass zu den zuvor festgelegten Zeiten ausgeführt werden soll.&lt;br /&gt;
z.B.: Das Script /srv/scripts/backup.sh aufrufen, welches z.B. wichtige Dateien sichert. &lt;br /&gt;
&lt;br /&gt;
Quelle: http://www.orgapage.net/pages/server/linux/cronjobs.php (1.10.2009)&lt;br /&gt;
&lt;br /&gt;
== Cronjobs auf all-inkl Server ==&lt;br /&gt;
Manche Provider erlauben keinen direkten Zugriff auf Crontab. All-inkl erlaubt dafür das Zeitgesteuerte Aufsführen von php Skripten.&lt;br /&gt;
&lt;br /&gt;
Wenn PHP so konfiguriert ist, daß man das exec (oder auch  einige andere) Kommandos ausführen kann, so ist es möglich dennoch Cronjobs auszuführen. Auch das Anfahren des Command Line Interfae in Typo3 ist darüber möglich.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: Cronjob für Direct Mail Versand in Typo3 auf all-inkl Server ===&lt;br /&gt;
&lt;br /&gt;
Eine Anfrage bei all-inkl ergab folgendes:&lt;br /&gt;
&amp;lt;Zitat Anfang&amp;gt;&lt;br /&gt;
...direkte Shell Befehle können Sie im KAS nicht eingeben. Bitte erstellen Sie sich dazu ein PHP Script mit der &amp;#039;&amp;#039;&amp;#039;Endung .phpx&amp;#039;&amp;#039;&amp;#039; und folgendem Inhalt:...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    exec(&amp;quot;php /www/htdocs/w00c43b9/typo3/cli_dispatch.phpsh direct_mail masssend&amp;quot;,$ausgabe);&lt;br /&gt;
    echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot;;print_r($ausgabe);echo &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Geben Sie dann die HTTP Adresse zu diesem Script im KAS an. Den gewünschten Zeitintervall für die Ausführung können Sie dann auch im KAS mit angeben.&lt;br /&gt;
&amp;lt;Zitat Ende&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Server sind scheinbar so konfiguriert, daß ein Skript mit der Endung phpx direkt über den staischen php-interpreter ausgeführt wird. Damit sollten auch Timeout Probleme kein Problem darstellen.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Apache_-_Passwortgesch%C3%BCtzte_Bereiche_mit_htaccess&amp;diff=18693</id>
		<title>Apache - Passwortgeschützte Bereiche mit htaccess</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Apache_-_Passwortgesch%C3%BCtzte_Bereiche_mit_htaccess&amp;diff=18693"/>
		<updated>2010-05-14T09:14:05Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Datei mit Passworten in einem nicht über das Web erreichbaren Verzeichnis. Z.B. home/pwd/&lt;br /&gt;
&lt;br /&gt;
Datei generieren mit&lt;br /&gt;
 htpasswd -c [name der datei] [username]&lt;br /&gt;
&lt;br /&gt;
Die Datei wird generiert und der erste user angelegt&lt;br /&gt;
Datei erweitern mit&lt;br /&gt;
 htpasswd [name der datei] [username]&lt;br /&gt;
&lt;br /&gt;
Zu schützende Verzeichnisse bekommen in der .htaccess folgenden Code mit:&lt;br /&gt;
&lt;br /&gt;
 AuthUserFile /Pfad/zur/PWD-Datei/.pwddatei&lt;br /&gt;
 AuthType Basic&lt;br /&gt;
 AuthName &amp;quot;Login Text&amp;quot;&lt;br /&gt;
 require user [name des users oder valid-user]&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Hfwu&amp;diff=18529</id>
		<title>Hfwu</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Hfwu&amp;diff=18529"/>
		<updated>2010-05-14T09:02:34Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Benutzer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Letzte Änderungen (ChangeLog)==&lt;br /&gt;
Eine kurze Übersicht über die letzten (wichtigen) Änderungen:&lt;br /&gt;
 &lt;br /&gt;
* Deinstallation des Keywordhiglighter (psm_highlight) Unverträglichkeit mit Accersibility Extensions (Shortcut Funktion) führt zu unleserlicher Darstellung bei manchen Internet Explorern wenn man über Google kommt.&lt;br /&gt;
* DAM Media Ordner bei Update verloren-&amp;gt; neu angelegt und Nutzerrechte auf neuen Ordner gelegt.&lt;br /&gt;
* Entfernen diverser Extensions (Stats etc.) wegen Performance Problemen&lt;br /&gt;
* Update auf Version 4.2&lt;br /&gt;
&lt;br /&gt;
* Rolle Chefredakteure - Seiteneigenschaften -&amp;gt; Navigationstitel hinzugefügt.&lt;br /&gt;
* Extension pb_survey und survery_stats hinzugefügt. Einige Benutzer mit entsprechenden Rechten eingerichtet (siehe typo3 notepad) Statistik kann unter bestimmten Voraussetzungen Fehler erzeugen (leere Seite wird ausgegeben). Das Problem tritt&lt;br /&gt;
* 12-07: Extension filelinks - richtige Bezeichnung der Größenanzeige (Byte,kB,MB)und Dateilinks in neuem Fenster öffnen&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
# Die Statistik von pb_survey kann unter Umständen eine leere Seite ausgeben. Problem tritt wahrscheinlich bei bestimmten Konstellationen der Antworten auf, wenn z.B. zwischendurch Mehrfach Antworten zugelassen sind etc...&lt;br /&gt;
&lt;br /&gt;
== Wunschliste ==&lt;br /&gt;
* Dateiverweise (Textbausteine)&lt;br /&gt;
* Shortcuts (Seitenbasiert)&lt;br /&gt;
* Dateiliste in der man jedem Dokument einen Veröffentlichungszeitraum zuweisen kann.&lt;br /&gt;
* Sprung in englischen Seitenbaum bei &amp;quot;englischem&amp;quot; User&lt;br /&gt;
&lt;br /&gt;
== To Do ==&lt;br /&gt;
===Dokumentation===&lt;br /&gt;
* Genereller Ort für Doku, evtl. mit Update Information&lt;br /&gt;
* FE-Benutzerlisten&lt;br /&gt;
* BE-Benutzerlisten&lt;br /&gt;
&lt;br /&gt;
=== Personalisierung ===&lt;br /&gt;
* Page Subscription&lt;br /&gt;
&lt;br /&gt;
=== Weiland Fragen ===&lt;br /&gt;
* &amp;lt;s&amp;gt;neue Authentifizierung ab Typo4.3 möglich?&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sonstiges ===&lt;br /&gt;
* &amp;lt;s&amp;gt;RealURL aoe Erweiterung raus, Pathsegmente weglassen geht mittlerweile auch mit RealURL alleine&amp;lt;/s&amp;gt;&lt;br /&gt;
* indexedSearch optimieren (siehe Mittwald Forum)&lt;br /&gt;
* indexedSearch auf bestimmte Bereiche einschränken, Templates zentral verwalten (aufräumen)&lt;br /&gt;
* Veranstaltungskalender - newscalendar&lt;br /&gt;
* Forschungsdatenbank&lt;br /&gt;
* Für BE-User - Bildmontage-&amp;gt;Backendfeld zu Frontendausgabe&lt;br /&gt;
* &amp;lt;s&amp;gt;Doppeltes Eingabefeld bei Dateilinks&amp;lt;/s&amp;gt;&lt;br /&gt;
* hfwupersonal Extension -&amp;gt; Backlink für Einzelansicht&lt;br /&gt;
* &amp;lt;s&amp;gt;Suche einschränken: keine Druckversion, keine pdfs durchsuchen (Über Subparts)&amp;lt;/s&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;Für Druckversion &amp;quot;leere&amp;quot; Suchtags setzten&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;MySql&amp;lt;/b&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;Slow Queries prüfen var/log/... slow queries (evtl. in mysql)&amp;lt;/s&amp;gt;&lt;br /&gt;
** Cronjob für Indexing&lt;br /&gt;
** &amp;lt;s&amp;gt;Performance steigern bei Suche&amp;lt;/s&amp;gt;&lt;br /&gt;
* Statistik DNS Lookup&lt;br /&gt;
* Statistik für Einzelbenutzer&lt;br /&gt;
* &amp;lt;s&amp;gt;Cronjobs zum &amp;#039;ausmisten&amp;#039;&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Seiten ID in Fußleiste (für Redakteure)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Bearbeiten des Glossars für Redakteure &amp;lt;/s&amp;gt;&lt;br /&gt;
* Glossar Plugin sucht nicht in untergeordneten Ordnern nach Datensätzen -&amp;gt; Bug&lt;br /&gt;
* &amp;lt;s&amp;gt;Punktliste ausschalten&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;RealURL - Problem bei htaccess&amp;lt;/s&amp;gt; - htaccess sollte jetzt funktionieren&lt;br /&gt;
* RealURL einrichten&lt;br /&gt;
* Doppeltes Feld Dateiliste bei Typ Dateiupload (bei Usern funktionierts, nur bei Admins)&lt;br /&gt;
* Fehler bei &amp;amp; und Access Keys&lt;br /&gt;
* DAM - Referenz statt Kopie auf Dateien&lt;br /&gt;
* Bilder und Download-Dateien aktualisieren&lt;br /&gt;
* Sortierung aus Datenbank heraus ist falsch (wegen utf-8)&lt;br /&gt;
* Echte Last Change Funktion (mit Namen)&lt;br /&gt;
* Barrierefreiheit: Skip Funktion&lt;br /&gt;
* Datenschutz: welche Cookies werden wann gesetzt? Was wird gespeichert&lt;br /&gt;
* Workspaces&lt;br /&gt;
* Bildergalerie&lt;br /&gt;
&lt;br /&gt;
=== Multilanguage ===&lt;br /&gt;
* zweite Multilanguage Navi (One Tree) für Profseiten etc.&lt;br /&gt;
&lt;br /&gt;
=== News ===&lt;br /&gt;
* Automatisch Cache löschen bei News / News Seiten aus Cache herausnehmen&lt;br /&gt;
* Presse sollte leichter ereichbar sein wenn man nicht auf der Startseite ist. (Service?)&lt;br /&gt;
* &amp;lt;s&amp;gt;Möglichkeit Pressemitteilungen auf der Startseite zu zeigen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Konfiguration Portalseite so daß nur die Kategorie Portalseite vergeben werden muß (Subkategorien berücksichtigen)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Trennung Pressearchiv (Mitteilungen und normale News)&amp;lt;/s&amp;gt;&lt;br /&gt;
* Downloads-millibits&lt;br /&gt;
* &amp;lt;s&amp;gt;Ami Flagge weg&amp;lt;/s&amp;gt;&lt;br /&gt;
 ===Professoren Homepages===&lt;br /&gt;
* geschützter Download&lt;br /&gt;
* ssl für Backend (generell) und Frontend (bei Formularen etc.)&lt;br /&gt;
&lt;br /&gt;
===FAQ===&lt;br /&gt;
* &amp;lt;s&amp;gt;Auswahl des Plugins (ModernFAQ oder efaq)&amp;lt;/s&amp;gt;&lt;br /&gt;
* Layout anpassen&lt;br /&gt;
* Erweitern für Kategoriemenu (Ext?)&lt;br /&gt;
&lt;br /&gt;
===Indexed Search===&lt;br /&gt;
* Suche nicht in Print und PDF&lt;br /&gt;
* Indexed Search Performance steigern&lt;br /&gt;
===Navigation===&lt;br /&gt;
* &amp;lt;s&amp;gt;Rootline prüfen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Professoren A-Z&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Benutzer===&lt;br /&gt;
* &amp;lt;s&amp;gt;standardmäßig erweiterte Ansicht einschalten (evtl. immer anzeigen)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Flyerordner für Fakultäten als Bereich anlegen und zuordnen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Bereich Allgemein f. Benutzerverwaltung (für alle zugängliche Ordner)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Shortcuts für Chefredakteure ermöglichen&amp;lt;/s&amp;gt; -&amp;gt; nur intern, keine Moduswahl möglich&lt;br /&gt;
* &amp;lt;s&amp;gt;Folder Selector für Backend (Extension einbauen und testen)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Inhalte===&lt;br /&gt;
* &amp;lt;s&amp;gt;Formular - automatisch Datenschutzhinweis anhängen&amp;lt;/s&amp;gt;&lt;br /&gt;
* Formular - Datenschuthinweis Englisch&lt;br /&gt;
* Formular - Required Klasse fehlt &lt;br /&gt;
* English Site -&amp;gt; Zugriff der Redakteure nur auf Unterseiten&lt;br /&gt;
* &amp;lt;s&amp;gt;News Archiv aus Infosite importieren &amp;lt;/s&amp;gt;&lt;br /&gt;
=== Server ===&lt;br /&gt;
* LDAP Geislingen / Nürtingen -&amp;gt; Gruppen&lt;br /&gt;
* &amp;lt;s&amp;gt;Geislingen generell Zugriff ermöglichen (Dieter)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Server -&amp;gt; Mails versenden&amp;lt;/s&amp;gt;&lt;br /&gt;
* Server -&amp;gt; ssh Verschlüsselung&lt;br /&gt;
* Webbretter&lt;br /&gt;
&lt;br /&gt;
===Personal Datenbank===&lt;br /&gt;
* Zurückbutton von Detailansicht&lt;br /&gt;
* Pagebrowser für Listenansicht&lt;br /&gt;
* Linkmöglichkeit auf Personaldatensatz&lt;br /&gt;
* Meldung bei Kein Datensatz gefunden&lt;br /&gt;
* &amp;lt;s&amp;gt;Ausgabe von Personal nach bestimmten Gruppen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Aufbereiten aus Infosite Daten&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===RTE===&lt;br /&gt;
* Maillink Symbol (Klasse) wird nur mit Assistent (Wizard) aber nicht bei Autoumwandlung im RTE eingefügt -&amp;gt; Klasse auch bei RTE hinzufügen lassen.&lt;br /&gt;
* &amp;lt;s&amp;gt;RTE - Maillinks automatisch&amp;lt;/s&amp;gt;&lt;br /&gt;
* RTE - Feld für manuelle LinkID Eingabe im Link PopUp&lt;br /&gt;
* &amp;lt;s&amp;gt;RTE - Textausrichtung zentriert geht nicht&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;RTE - Einzug geht nicht&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;RTE Formatierung entfernen MS-Word testen geht evt. nicht richtig&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;RTE - automatische Umwandlung in Links funktioniert im Backend noch nicht (nur bei IE)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Text mit Bild CSS korrigieren (versch. Anordnungen)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Bilder größer skalieren verhindern&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Übersetzung bei Links _top sollte nicht oben heißen (besser neues Fenster)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;CSS bei Bildern in Spalten korrigieren&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Vorschau Icons für pdf Dokumente&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;DAM - Ordner lassen sich im popup nicht anlegen&amp;lt;/s&amp;gt;&lt;br /&gt;
* Alt Text für Icons bei Filelinks (z.B. &amp;#039;pdf&amp;#039;)&lt;br /&gt;
* Crawler für Indexed Search&lt;br /&gt;
* &amp;lt;s&amp;gt;Multilanguage -&amp;gt; Flaggen gehen auf Seitenbaumanfang der jeweils anderen Sprache&amp;lt;/s&amp;gt; &lt;br /&gt;
* &amp;lt;s&amp;gt;Multilanguage -&amp;gt; Zusätzliche Sprachnavigation bei mehrsprachigen Seiten von Profs etc.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Eigene 404 Error Seite(rb)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;2. Medienauswahlfeld in Seiteninhalte ausschalten (rb)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;überflüssige Rahmen Seite &amp;quot;Typ&amp;quot; ausschalten (rb)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Fehlerseite erstellen (rb)&amp;lt;/s&amp;gt;&lt;br /&gt;
* automatischer Clearer nach Inhaltselementen&lt;br /&gt;
* &amp;lt;s&amp;gt;Metatags Extension&amp;lt;/s&amp;gt;&lt;br /&gt;
* Metatags automatisch aus DAM entnehmen (siehe Patch in dam maillist)&lt;br /&gt;
* &amp;lt;s&amp;gt;css_filelinks&amp;lt;/s&amp;gt;&lt;br /&gt;
* Backendbezeichnungen für Metatagbeschreibung eindeutiger&lt;br /&gt;
* &amp;lt;s&amp;gt;Tool für beliebige Datenbankabfragen&amp;lt;/s&amp;gt;  &lt;br /&gt;
* &amp;lt;s&amp;gt;News als Kategorieauswahl für Personaldatenbank&amp;lt;/s&amp;gt; - andere Lösung weil tt_news zu Umfangreich&lt;br /&gt;
* LDAP Anbindung (Kontakt in LB) - Frontendbenutzer&lt;br /&gt;
* Workspaces&lt;br /&gt;
* &amp;lt;s&amp;gt;News Benutzer - Zugriff auf Newskategorien festlegen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;News Benutzer einrichten&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;JavaScript für IE Dropdown, nur in IEs anzeigen (Bug bei Anzeige in Opera)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Zeichensatz prüfen (Fehler in Druckausgabe)&amp;lt;/s&amp;gt;&lt;br /&gt;
* Standardsprache (Fehler in News Datum etc.)&lt;br /&gt;
* Weiterleitungen mit htaccess o.ä. definieren&lt;br /&gt;
=== Webbretter ===&lt;br /&gt;
* Webbretteinträge bekommen pid=0 -&amp;gt; sollten in einen Ordner gelegt werden&lt;br /&gt;
&lt;br /&gt;
===Templates===&lt;br /&gt;
* &amp;lt;s&amp;gt;Konfiguration der Rahmenvarianten (Rechte Spalte)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Konfiguration und Design der Layoutvarianten - Content Bereich&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Templates für das News Plugin&amp;lt;/s&amp;gt;&lt;br /&gt;
* RSS-Feed für News Plugin&lt;br /&gt;
* Blog-Möglichkeiten basierend auf News Plugin (vgl. Typo3 Podcast)&lt;br /&gt;
* &amp;lt;s&amp;gt;letze Änderung-Funktion&amp;lt;/s&amp;gt;&lt;br /&gt;
* letzte Änderung mit letztem Bearbeiter nicht mit Seitenersteller&lt;br /&gt;
* &amp;lt;s&amp;gt;Copyright-Funktion&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;minimale Höhe des Layouts&amp;lt;/s&amp;gt; (evt. noch Anpassen)&lt;br /&gt;
*Kürzel der Studiengänge&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
* Webbretter (Integration in Raumplanung berücksichtigen)&lt;br /&gt;
* Tutorials (Video ?) mit den gängigen Arbeitsschritten&lt;br /&gt;
* Wer richtet Subdomains ein - Vorgehen? .htaccess&lt;br /&gt;
&lt;br /&gt;
===Benutzer===&lt;br /&gt;
* LDAP - Tests Struktur etc.&lt;br /&gt;
* Standardrechte (Grafik)&lt;br /&gt;
* Standard-Backend&lt;br /&gt;
* Frontendkonfiguration&lt;br /&gt;
* Backend Anpassungen - Frontend Editing, wer macht was&lt;br /&gt;
* Struktur überarbeiten - evt. Bereiche in Benutzer auslagern (zu individuell)&lt;br /&gt;
&lt;br /&gt;
=== Passwortgeschützte Bereiche ===&lt;br /&gt;
/home/pwd/.htpasswd&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
Liste der verwendeten Extensions&lt;br /&gt;
adodb&lt;br /&gt;
&lt;br /&gt;
[[HfWU - Seminars (Kursverwaltung)]] -&amp;gt; WAF&lt;br /&gt;
&lt;br /&gt;
[[HfWU - Konfiguration von tt_news]]&lt;br /&gt;
&lt;br /&gt;
Popup manager  	popup_manager (ermöglicht Seiten als Popup zu öffnen)	2.0.0 (z.B. Richter Umfrage)&lt;br /&gt;
&lt;br /&gt;
=== Eigene Extensions ===&lt;br /&gt;
[[HfWU Raumliste (hfwuraum)]] &lt;br /&gt;
&lt;br /&gt;
[[HfWU Personal Manager (hfwupersonal)]]&lt;br /&gt;
&lt;br /&gt;
[[HfWU Webboards (hfwuwebboard)]]&lt;br /&gt;
&lt;br /&gt;
todo&lt;br /&gt;
&lt;br /&gt;
== HfWU Styleguide ==&lt;br /&gt;
CSS, Vorgaben für Schriften, Farben, Layouts etc.&lt;br /&gt;
[[HfWU - Styleguide]]&lt;br /&gt;
&lt;br /&gt;
== HfWU TYPO3 Templates-Guide ==&lt;br /&gt;
s.u.&lt;br /&gt;
&lt;br /&gt;
== Ideensammlung zum Relaunch der HFWU ==&lt;br /&gt;
&lt;br /&gt;
* lernender Webauftritt. User können Schlagworte eingeben die Sie Sinnvoll für einen Bereich finden. Anders herum wird eine Statistik der meist eingegebenen Schlagworte geführt und so während der Suche (AJAX) die Auswahl eingeschränkt. &lt;br /&gt;
&lt;br /&gt;
Die Suche könnte ebenfalls ausgewertet werden (nicht gefundene Begriffe die eingegeben wurden)&lt;br /&gt;
&lt;br /&gt;
* Datenbank für Personal, Studiengänge u. a. Datasheets...&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Todo&lt;br /&gt;
&lt;br /&gt;
== Templates ==&lt;br /&gt;
[[HfWU - Templates Dokumentation]]&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
[[Horde]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DAM ==&lt;br /&gt;
* DAM - Erfahrungen&lt;br /&gt;
* Vorgehen Inhaltsübernahme&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
[[HfWU - Helpdesk]]&lt;br /&gt;
&lt;br /&gt;
== Backend ==&lt;br /&gt;
* Assistent für Seitenelemente abschalten&lt;br /&gt;
&lt;br /&gt;
== Benutzer und Rechte ==&lt;br /&gt;
[[HfWU - Richtlinie zur Benutzer- und Rechtekonfiguration]]&lt;br /&gt;
&lt;br /&gt;
[[HfWU - LDAP Anbindung]]&lt;br /&gt;
&lt;br /&gt;
=== Redakteure mit besonderen Rechten (fortgeschrittene Redakteure) ===&lt;br /&gt;
Rolle: fortgeschrittene Benutzer (muß als letztes eingebunden werden)&lt;br /&gt;
&lt;br /&gt;
Für Benutzer die schon mehr Erfahrung bei der Arbeit mit TYPO3 haben stehen mit dieser Rolle einige erweiterte Funktionen zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
- SysOrdner anlegen&lt;br /&gt;
- Dateiverweise angeben&lt;br /&gt;
&lt;br /&gt;
==Datenexport und -import mit awk==&lt;br /&gt;
[[HfWU - Datenexport und -import mit awk]]&lt;br /&gt;
&lt;br /&gt;
== Organistatorisches ==&lt;br /&gt;
[[Reisekostenabrechnung]]&lt;br /&gt;
&lt;br /&gt;
== fhlumni ==&lt;br /&gt;
[[HfWU - fhlumni]]&lt;br /&gt;
&lt;br /&gt;
== Redirects &amp;amp; Subdomains ==&lt;br /&gt;
Redirects über .htaccess&lt;br /&gt;
z.B.&lt;br /&gt;
 Redirect 301 /alteslager http://www.hfwu.de/index.php?id=2751&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Subdomains über etc/apache2/sites-available/subdomains&lt;br /&gt;
&lt;br /&gt;
z.B.&lt;br /&gt;
 &amp;lt;VirtualHost *&amp;gt; &lt;br /&gt;
 Redirect /  http://www.hfwu.de/index.php?id=2751 &lt;br /&gt;
 ServerName www.alteslager.hfwu.de &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Müssen z.Zt. aber noch im DNS eingetragen werden (RZ)&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
* Serverstandards&lt;br /&gt;
* Zertifizierung ssl&lt;br /&gt;
* [[HfWU Testserver]]&lt;br /&gt;
&lt;br /&gt;
== Azubi ==&lt;br /&gt;
* Weiterleitungen&lt;br /&gt;
* Wie funktioniert das Internet ?&lt;br /&gt;
* Wie kriegt der Browser seine Seiten ?&lt;br /&gt;
* Geschichte&lt;br /&gt;
* HTML-Basics&lt;br /&gt;
* Design a Cite (Zitat)?&lt;br /&gt;
* Präsentationen&lt;br /&gt;
** YUI&lt;br /&gt;
** YAML&lt;br /&gt;
** JavaScript Frameworks&lt;br /&gt;
* Kinderhochschule&lt;br /&gt;
&lt;br /&gt;
== HFWU - VPN Gateway ==&lt;br /&gt;
[[HFWU - VPN Gateway]]&lt;br /&gt;
== HfWU - Studium ==&lt;br /&gt;
- Bildet Studienstruktur ab&lt;br /&gt;
=== Wartung ===&lt;br /&gt;
==== nicht mehr gebrauchte Fächer löschen ====&lt;br /&gt;
Geht am besten in single Table Ansicht mit aktiviertem Clipboard, dann kann man z.B. Fächer nach Studiengang, Anfangsbuchstaben o.ä. sortieren und über die Häkchen markieren und dann alle zusammen löschen.&lt;br /&gt;
D.h. der Löschflag ist gesetzt.&lt;br /&gt;
&lt;br /&gt;
==== Verknüpfungen zu anderen Tabellen ====&lt;br /&gt;
MM Verknüpfungen von Hand sind hierbei nicht gelöscht. Diese können nur komplett gelöscht werden. Möglich wäre ein SQL-Skript &amp;quot;Suche alle Fächer mit deleted = 1 lösche diese und die gejointen mm Verbindungen (dozenten und SG)&lt;br /&gt;
&lt;br /&gt;
Dies kann aber auch ab und zu mal erfolgen.&lt;br /&gt;
&lt;br /&gt;
==== Neue Fächer importieren ====&lt;br /&gt;
Als erstes Fächer und deren Studiengänge in separate Tabelle. Dann Studiengänge durch ihre uid ersetzen (z.B. suchen ersetzen)&lt;br /&gt;
&lt;br /&gt;
Als csv exportieren und über import Tool wieder einfügen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HfWU - Personaldatenbank ==&lt;br /&gt;
=== Eingabehinweise ===&lt;br /&gt;
Homepage - jeder Prof bekommt eine Homepage&lt;br /&gt;
&lt;br /&gt;
Weblinks - vollständige URL eintragen z.B. http://www.hfwu.de&lt;br /&gt;
&lt;br /&gt;
Sprechzeiten - jeweils bei Semesterbeginn&lt;br /&gt;
&lt;br /&gt;
Senat - Funktion, Mitglied kraft Amtes oder gewähltes Mitglied&lt;br /&gt;
&lt;br /&gt;
Hochschulrat - Hochschulexternes Mitglied oder Hochschulinternes Mitglied&lt;br /&gt;
=== Sortierschlüssel ===&lt;br /&gt;
==== Sortierung Hochschulrat ====&lt;br /&gt;
Auflistungsreihenfolge&lt;br /&gt;
==== Sortierung Senat ====&lt;br /&gt;
Auflistungsreihenfolge&lt;br /&gt;
==== Wichtigkeitsstufen ====&lt;br /&gt;
0 Rektor&lt;br /&gt;
&lt;br /&gt;
1 Professoren&lt;br /&gt;
&lt;br /&gt;
2 Beamte&lt;br /&gt;
&lt;br /&gt;
3 Angestellte / Wissenschaftler Mitarbeiter&lt;br /&gt;
&lt;br /&gt;
4 Arbeiter&lt;br /&gt;
&lt;br /&gt;
5 Azubis&lt;br /&gt;
&lt;br /&gt;
6 Sonstige (z.B. Externe)&lt;br /&gt;
==== Sortierung Ämter ====&lt;br /&gt;
1 Rektor / Dekan / Studiendekan&lt;br /&gt;
&lt;br /&gt;
2 Prorektor / Prodekan&lt;br /&gt;
&lt;br /&gt;
3 Prüfungsausschuss&lt;br /&gt;
&lt;br /&gt;
4 Praktikantenamt&lt;br /&gt;
&lt;br /&gt;
bei Instituten o.ä.&lt;br /&gt;
&lt;br /&gt;
1 Institutsleitung&lt;br /&gt;
&lt;br /&gt;
2 Leitung Unterabteilung&lt;br /&gt;
&lt;br /&gt;
3 Mitglied&lt;br /&gt;
&lt;br /&gt;
4 Mitarbeiter&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=HfWU_Webboards_(hfwuwebboard)&amp;diff=2016</id>
		<title>HfWU Webboards (hfwuwebboard)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=HfWU_Webboards_(hfwuwebboard)&amp;diff=2016"/>
		<updated>2010-05-07T10:01:15Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Neue Dozenten und Fächer anlegen ==&lt;br /&gt;
Extension hfwustudium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
&lt;br /&gt;
== Datenstruktur ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------    ----------------&lt;br /&gt;
| dozent |    |dozent_fach_mm|    &lt;br /&gt;
----------    ----------------    --------&lt;br /&gt;
|uid     | -- |local_uid     |    | fach |&lt;br /&gt;
----------    ----------------    --------&lt;br /&gt;
|        |    |foreign_uid   | -- |uid   |&lt;br /&gt;
----------    ----------------    --------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Todo&lt;br /&gt;
DB-Fields&lt;br /&gt;
tx_hfwuwebboard_entries:&lt;br /&gt;
ident - identstring Separiert Semester Fach und Dozent mit ### getrennt um Datenbankabfragen zu vermeiden&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Nach Update werden bei manchen Fächern keine Einträge in der Listenansicht mehr angezeigt.&lt;br /&gt;
** Evtl liegt das Problem nur bei Filtern mit 2 oder mehr Studiengängen vor. Problem löst sich durch neu speichern des Plugins&lt;br /&gt;
&lt;br /&gt;
* Session sollte nach abmelden gelöscht werden, Session daten von Datensätzen nach Speichern, bearbeiten etc. löschen&lt;br /&gt;
&lt;br /&gt;
* Zwei oder mehr Semester im Eintrag führen dazu, daß beim filtern nach einem Semester immer nur das erste im Eintrag gefunden wurde.&lt;br /&gt;
** Fix in webboardList()&lt;br /&gt;
&lt;br /&gt;
* Wenn man einen DS bearbeitet und im Browser zurückgeht und dann einen anderen Bearbeitet, werden z.T. die Basis-Daten gezeigt, weil die Session noch alte Daten enthält -&amp;gt; Session beim bearbeiten immer löschen )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kalender ==&lt;br /&gt;
&lt;br /&gt;
Ist im Moment hartcodiert auf die Dateien der Extension date2cal. Bei Update von Date2cal muß&lt;br /&gt;
# im phpcode der Link zum button Bildchen angepasst werden. -&amp;gt; kurzfristig ändern&lt;br /&gt;
# in TS das Einbinden der Header Dateien angepasst werden. -&amp;gt; mittelfristig Calender JavaScript in Extension mit übernehmen. (Auch wenn Redundant. Eventuell Ressourcenschondenderes JS nutzen.&lt;br /&gt;
&lt;br /&gt;
== Versionen Changelog ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;0.1.3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Bugfix: crdate wird nicht mehr bei Änderungen überschrieben (Creation Date also erstes erstellen)&lt;br /&gt;
&lt;br /&gt;
- Filter für Semester im Backend&lt;br /&gt;
&lt;br /&gt;
- Uhricon für Aushangzeitraum&lt;br /&gt;
&lt;br /&gt;
- Neuer Marker ###STATE### mit Wert new oder old, kann für Klassen eingesetzt werden, die einen neuen oder gerade geänderten Eintrag hervorheben. Im TS Wert isOld = ZeitInSekunden setzen nachdem der Eintrag als Alt gelten soll.&lt;br /&gt;
&lt;br /&gt;
- Änderungen am Template&lt;br /&gt;
&lt;br /&gt;
- Bugfixes&lt;br /&gt;
&lt;br /&gt;
- Nicht mehr benötigtes entfernt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;0.1.2&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Es kann für Dozenten aus hfwustudium (ab 0.1) angegeben werden das diese immer zur Verfügung stehen. Diese Dozenten stehen in hfwuwebboard immer zur Verfügung. Unabhängig von den gewählten Fächern&lt;br /&gt;
&lt;br /&gt;
Bugfix: Listenanzeige zeigte auch Einträge an deren Aushängezeitraum in der Zukunft lag.&lt;br /&gt;
&lt;br /&gt;
Sortierreihenfolge im Frontend geändert Einträge mit neuem Eintragsdatum oben&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;0.1.1&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
Mehr Zeichen bei der Voransicht (200) -&amp;gt; evtl. später als TS-Wert&lt;br /&gt;
&lt;br /&gt;
HTML-Tags für Voransicht entfernt(Formatierung)&lt;br /&gt;
&lt;br /&gt;
Zusätzlicher Filter Studiengang&lt;br /&gt;
&lt;br /&gt;
Änderungen bei der Listendarstellung (Zusammengefaßt Dozent, Fach und Semester)&lt;br /&gt;
&lt;br /&gt;
Filter setzen Knopf auch über der Liste&lt;br /&gt;
&lt;br /&gt;
Funktion displayList entfernt&lt;br /&gt;
&lt;br /&gt;
diverse kleinere Fehler&lt;br /&gt;
&lt;br /&gt;
größere Dateianhänge erlaubt (max 500kB)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;0.1.0&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Fehler beim Ändern von Terminen behoben (bei nachträglichem Ändern gingen die Termine verloren.) Der Fehler trat nach Änderungen im Terminmanagement in der letzten Version auf.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation ==&lt;br /&gt;
[[hfwuwebboard - inside]]&lt;br /&gt;
&lt;br /&gt;
== Probleme beheben ==&lt;br /&gt;
Dateiuploads funktioniert nicht&lt;br /&gt;
* Dateigröße,&lt;br /&gt;
* Umlaute,Leerzeichen im Dateinamen?&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Hfwu&amp;diff=1998</id>
		<title>Hfwu</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Hfwu&amp;diff=1998"/>
		<updated>2010-05-07T10:00:10Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Extensions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Letzte Änderungen (ChangeLog)==&lt;br /&gt;
Eine kurze Übersicht über die letzten (wichtigen) Änderungen:&lt;br /&gt;
 &lt;br /&gt;
* Deinstallation des Keywordhiglighter (psm_highlight) Unverträglichkeit mit Accersibility Extensions (Shortcut Funktion) führt zu unleserlicher Darstellung bei manchen Internet Explorern wenn man über Google kommt.&lt;br /&gt;
* DAM Media Ordner bei Update verloren-&amp;gt; neu angelegt und Nutzerrechte auf neuen Ordner gelegt.&lt;br /&gt;
* Entfernen diverser Extensions (Stats etc.) wegen Performance Problemen&lt;br /&gt;
* Update auf Version 4.2&lt;br /&gt;
&lt;br /&gt;
* Rolle Chefredakteure - Seiteneigenschaften -&amp;gt; Navigationstitel hinzugefügt.&lt;br /&gt;
* Extension pb_survey und survery_stats hinzugefügt. Einige Benutzer mit entsprechenden Rechten eingerichtet (siehe typo3 notepad) Statistik kann unter bestimmten Voraussetzungen Fehler erzeugen (leere Seite wird ausgegeben). Das Problem tritt&lt;br /&gt;
* 12-07: Extension filelinks - richtige Bezeichnung der Größenanzeige (Byte,kB,MB)und Dateilinks in neuem Fenster öffnen&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
# Die Statistik von pb_survey kann unter Umständen eine leere Seite ausgeben. Problem tritt wahrscheinlich bei bestimmten Konstellationen der Antworten auf, wenn z.B. zwischendurch Mehrfach Antworten zugelassen sind etc...&lt;br /&gt;
&lt;br /&gt;
== Wunschliste ==&lt;br /&gt;
* Dateiverweise (Textbausteine)&lt;br /&gt;
* Shortcuts (Seitenbasiert)&lt;br /&gt;
* Dateiliste in der man jedem Dokument einen Veröffentlichungszeitraum zuweisen kann.&lt;br /&gt;
* Sprung in englischen Seitenbaum bei &amp;quot;englischem&amp;quot; User&lt;br /&gt;
&lt;br /&gt;
== To Do ==&lt;br /&gt;
===Dokumentation===&lt;br /&gt;
* Genereller Ort für Doku, evtl. mit Update Information&lt;br /&gt;
* FE-Benutzerlisten&lt;br /&gt;
* BE-Benutzerlisten&lt;br /&gt;
&lt;br /&gt;
=== Personalisierung ===&lt;br /&gt;
* Page Subscription&lt;br /&gt;
&lt;br /&gt;
=== Weiland Fragen ===&lt;br /&gt;
* &amp;lt;s&amp;gt;neue Authentifizierung ab Typo4.3 möglich?&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sonstiges ===&lt;br /&gt;
* &amp;lt;s&amp;gt;RealURL aoe Erweiterung raus, Pathsegmente weglassen geht mittlerweile auch mit RealURL alleine&amp;lt;/s&amp;gt;&lt;br /&gt;
* indexedSearch optimieren (siehe Mittwald Forum)&lt;br /&gt;
* indexedSearch auf bestimmte Bereiche einschränken, Templates zentral verwalten (aufräumen)&lt;br /&gt;
* Veranstaltungskalender - newscalendar&lt;br /&gt;
* Forschungsdatenbank&lt;br /&gt;
* Für BE-User - Bildmontage-&amp;gt;Backendfeld zu Frontendausgabe&lt;br /&gt;
* &amp;lt;s&amp;gt;Doppeltes Eingabefeld bei Dateilinks&amp;lt;/s&amp;gt;&lt;br /&gt;
* hfwupersonal Extension -&amp;gt; Backlink für Einzelansicht&lt;br /&gt;
* &amp;lt;s&amp;gt;Suche einschränken: keine Druckversion, keine pdfs durchsuchen (Über Subparts)&amp;lt;/s&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;Für Druckversion &amp;quot;leere&amp;quot; Suchtags setzten&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;b&amp;gt;MySql&amp;lt;/b&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;Slow Queries prüfen var/log/... slow queries (evtl. in mysql)&amp;lt;/s&amp;gt;&lt;br /&gt;
** Cronjob für Indexing&lt;br /&gt;
** &amp;lt;s&amp;gt;Performance steigern bei Suche&amp;lt;/s&amp;gt;&lt;br /&gt;
* Statistik DNS Lookup&lt;br /&gt;
* Statistik für Einzelbenutzer&lt;br /&gt;
* &amp;lt;s&amp;gt;Cronjobs zum &amp;#039;ausmisten&amp;#039;&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Seiten ID in Fußleiste (für Redakteure)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Bearbeiten des Glossars für Redakteure &amp;lt;/s&amp;gt;&lt;br /&gt;
* Glossar Plugin sucht nicht in untergeordneten Ordnern nach Datensätzen -&amp;gt; Bug&lt;br /&gt;
* &amp;lt;s&amp;gt;Punktliste ausschalten&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;RealURL - Problem bei htaccess&amp;lt;/s&amp;gt; - htaccess sollte jetzt funktionieren&lt;br /&gt;
* RealURL einrichten&lt;br /&gt;
* Doppeltes Feld Dateiliste bei Typ Dateiupload (bei Usern funktionierts, nur bei Admins)&lt;br /&gt;
* Fehler bei &amp;amp; und Access Keys&lt;br /&gt;
* DAM - Referenz statt Kopie auf Dateien&lt;br /&gt;
* Bilder und Download-Dateien aktualisieren&lt;br /&gt;
* Sortierung aus Datenbank heraus ist falsch (wegen utf-8)&lt;br /&gt;
* Echte Last Change Funktion (mit Namen)&lt;br /&gt;
* Barrierefreiheit: Skip Funktion&lt;br /&gt;
* Datenschutz: welche Cookies werden wann gesetzt? Was wird gespeichert&lt;br /&gt;
* Workspaces&lt;br /&gt;
* Bildergalerie&lt;br /&gt;
&lt;br /&gt;
=== Multilanguage ===&lt;br /&gt;
* zweite Multilanguage Navi (One Tree) für Profseiten etc.&lt;br /&gt;
&lt;br /&gt;
=== News ===&lt;br /&gt;
* Automatisch Cache löschen bei News / News Seiten aus Cache herausnehmen&lt;br /&gt;
* Presse sollte leichter ereichbar sein wenn man nicht auf der Startseite ist. (Service?)&lt;br /&gt;
* &amp;lt;s&amp;gt;Möglichkeit Pressemitteilungen auf der Startseite zu zeigen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Konfiguration Portalseite so daß nur die Kategorie Portalseite vergeben werden muß (Subkategorien berücksichtigen)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Trennung Pressearchiv (Mitteilungen und normale News)&amp;lt;/s&amp;gt;&lt;br /&gt;
* Downloads-millibits&lt;br /&gt;
* &amp;lt;s&amp;gt;Ami Flagge weg&amp;lt;/s&amp;gt;&lt;br /&gt;
 ===Professoren Homepages===&lt;br /&gt;
* geschützter Download&lt;br /&gt;
* ssl für Backend (generell) und Frontend (bei Formularen etc.)&lt;br /&gt;
&lt;br /&gt;
===FAQ===&lt;br /&gt;
* &amp;lt;s&amp;gt;Auswahl des Plugins (ModernFAQ oder efaq)&amp;lt;/s&amp;gt;&lt;br /&gt;
* Layout anpassen&lt;br /&gt;
* Erweitern für Kategoriemenu (Ext?)&lt;br /&gt;
&lt;br /&gt;
===Indexed Search===&lt;br /&gt;
* Suche nicht in Print und PDF&lt;br /&gt;
* Indexed Search Performance steigern&lt;br /&gt;
===Navigation===&lt;br /&gt;
* &amp;lt;s&amp;gt;Rootline prüfen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Professoren A-Z&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Benutzer===&lt;br /&gt;
* &amp;lt;s&amp;gt;standardmäßig erweiterte Ansicht einschalten (evtl. immer anzeigen)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Flyerordner für Fakultäten als Bereich anlegen und zuordnen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Bereich Allgemein f. Benutzerverwaltung (für alle zugängliche Ordner)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Shortcuts für Chefredakteure ermöglichen&amp;lt;/s&amp;gt; -&amp;gt; nur intern, keine Moduswahl möglich&lt;br /&gt;
* &amp;lt;s&amp;gt;Folder Selector für Backend (Extension einbauen und testen)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Inhalte===&lt;br /&gt;
* &amp;lt;s&amp;gt;Formular - automatisch Datenschutzhinweis anhängen&amp;lt;/s&amp;gt;&lt;br /&gt;
* Formular - Datenschuthinweis Englisch&lt;br /&gt;
* Formular - Required Klasse fehlt &lt;br /&gt;
* English Site -&amp;gt; Zugriff der Redakteure nur auf Unterseiten&lt;br /&gt;
* &amp;lt;s&amp;gt;News Archiv aus Infosite importieren &amp;lt;/s&amp;gt;&lt;br /&gt;
=== Server ===&lt;br /&gt;
* LDAP Geislingen / Nürtingen -&amp;gt; Gruppen&lt;br /&gt;
* &amp;lt;s&amp;gt;Geislingen generell Zugriff ermöglichen (Dieter)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Server -&amp;gt; Mails versenden&amp;lt;/s&amp;gt;&lt;br /&gt;
* Server -&amp;gt; ssh Verschlüsselung&lt;br /&gt;
* Webbretter&lt;br /&gt;
&lt;br /&gt;
===Personal Datenbank===&lt;br /&gt;
* Zurückbutton von Detailansicht&lt;br /&gt;
* Pagebrowser für Listenansicht&lt;br /&gt;
* Linkmöglichkeit auf Personaldatensatz&lt;br /&gt;
* Meldung bei Kein Datensatz gefunden&lt;br /&gt;
* &amp;lt;s&amp;gt;Ausgabe von Personal nach bestimmten Gruppen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Aufbereiten aus Infosite Daten&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===RTE===&lt;br /&gt;
* Maillink Symbol (Klasse) wird nur mit Assistent (Wizard) aber nicht bei Autoumwandlung im RTE eingefügt -&amp;gt; Klasse auch bei RTE hinzufügen lassen.&lt;br /&gt;
* &amp;lt;s&amp;gt;RTE - Maillinks automatisch&amp;lt;/s&amp;gt;&lt;br /&gt;
* RTE - Feld für manuelle LinkID Eingabe im Link PopUp&lt;br /&gt;
* &amp;lt;s&amp;gt;RTE - Textausrichtung zentriert geht nicht&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;RTE - Einzug geht nicht&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;RTE Formatierung entfernen MS-Word testen geht evt. nicht richtig&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;RTE - automatische Umwandlung in Links funktioniert im Backend noch nicht (nur bei IE)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Text mit Bild CSS korrigieren (versch. Anordnungen)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Bilder größer skalieren verhindern&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Übersetzung bei Links _top sollte nicht oben heißen (besser neues Fenster)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;CSS bei Bildern in Spalten korrigieren&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Vorschau Icons für pdf Dokumente&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;DAM - Ordner lassen sich im popup nicht anlegen&amp;lt;/s&amp;gt;&lt;br /&gt;
* Alt Text für Icons bei Filelinks (z.B. &amp;#039;pdf&amp;#039;)&lt;br /&gt;
* Crawler für Indexed Search&lt;br /&gt;
* &amp;lt;s&amp;gt;Multilanguage -&amp;gt; Flaggen gehen auf Seitenbaumanfang der jeweils anderen Sprache&amp;lt;/s&amp;gt; &lt;br /&gt;
* &amp;lt;s&amp;gt;Multilanguage -&amp;gt; Zusätzliche Sprachnavigation bei mehrsprachigen Seiten von Profs etc.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Eigene 404 Error Seite(rb)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;2. Medienauswahlfeld in Seiteninhalte ausschalten (rb)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;überflüssige Rahmen Seite &amp;quot;Typ&amp;quot; ausschalten (rb)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Fehlerseite erstellen (rb)&amp;lt;/s&amp;gt;&lt;br /&gt;
* automatischer Clearer nach Inhaltselementen&lt;br /&gt;
* &amp;lt;s&amp;gt;Metatags Extension&amp;lt;/s&amp;gt;&lt;br /&gt;
* Metatags automatisch aus DAM entnehmen (siehe Patch in dam maillist)&lt;br /&gt;
* &amp;lt;s&amp;gt;css_filelinks&amp;lt;/s&amp;gt;&lt;br /&gt;
* Backendbezeichnungen für Metatagbeschreibung eindeutiger&lt;br /&gt;
* &amp;lt;s&amp;gt;Tool für beliebige Datenbankabfragen&amp;lt;/s&amp;gt;  &lt;br /&gt;
* &amp;lt;s&amp;gt;News als Kategorieauswahl für Personaldatenbank&amp;lt;/s&amp;gt; - andere Lösung weil tt_news zu Umfangreich&lt;br /&gt;
* LDAP Anbindung (Kontakt in LB) - Frontendbenutzer&lt;br /&gt;
* Workspaces&lt;br /&gt;
* &amp;lt;s&amp;gt;News Benutzer - Zugriff auf Newskategorien festlegen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;News Benutzer einrichten&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;JavaScript für IE Dropdown, nur in IEs anzeigen (Bug bei Anzeige in Opera)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Zeichensatz prüfen (Fehler in Druckausgabe)&amp;lt;/s&amp;gt;&lt;br /&gt;
* Standardsprache (Fehler in News Datum etc.)&lt;br /&gt;
* Weiterleitungen mit htaccess o.ä. definieren&lt;br /&gt;
=== Webbretter ===&lt;br /&gt;
* Webbretteinträge bekommen pid=0 -&amp;gt; sollten in einen Ordner gelegt werden&lt;br /&gt;
&lt;br /&gt;
===Templates===&lt;br /&gt;
* &amp;lt;s&amp;gt;Konfiguration der Rahmenvarianten (Rechte Spalte)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Konfiguration und Design der Layoutvarianten - Content Bereich&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Templates für das News Plugin&amp;lt;/s&amp;gt;&lt;br /&gt;
* RSS-Feed für News Plugin&lt;br /&gt;
* Blog-Möglichkeiten basierend auf News Plugin (vgl. Typo3 Podcast)&lt;br /&gt;
* &amp;lt;s&amp;gt;letze Änderung-Funktion&amp;lt;/s&amp;gt;&lt;br /&gt;
* letzte Änderung mit letztem Bearbeiter nicht mit Seitenersteller&lt;br /&gt;
* &amp;lt;s&amp;gt;Copyright-Funktion&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;minimale Höhe des Layouts&amp;lt;/s&amp;gt; (evt. noch Anpassen)&lt;br /&gt;
*Kürzel der Studiengänge&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
* Webbretter (Integration in Raumplanung berücksichtigen)&lt;br /&gt;
* Tutorials (Video ?) mit den gängigen Arbeitsschritten&lt;br /&gt;
* Wer richtet Subdomains ein - Vorgehen? .htaccess&lt;br /&gt;
&lt;br /&gt;
===Benutzer===&lt;br /&gt;
* LDAP - Tests Struktur etc.&lt;br /&gt;
* Standardrechte (Grafik)&lt;br /&gt;
* Standard-Backend&lt;br /&gt;
* Frontendkonfiguration&lt;br /&gt;
* Backend Anpassungen - Frontend Editing, wer macht was&lt;br /&gt;
* Struktur überarbeiten - evt. Bereiche in Benutzer auslagern (zu individuell)&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
Liste der verwendeten Extensions&lt;br /&gt;
adodb&lt;br /&gt;
&lt;br /&gt;
[[HfWU - Seminars (Kursverwaltung)]] -&amp;gt; WAF&lt;br /&gt;
&lt;br /&gt;
[[HfWU - Konfiguration von tt_news]]&lt;br /&gt;
&lt;br /&gt;
Popup manager  	popup_manager (ermöglicht Seiten als Popup zu öffnen)	2.0.0 (z.B. Richter Umfrage)&lt;br /&gt;
&lt;br /&gt;
=== Eigene Extensions ===&lt;br /&gt;
[[HfWU Raumliste (hfwuraum)]] &lt;br /&gt;
&lt;br /&gt;
[[HfWU Personal Manager (hfwupersonal)]]&lt;br /&gt;
&lt;br /&gt;
[[HfWU Webboards (hfwuwebboard)]]&lt;br /&gt;
&lt;br /&gt;
todo&lt;br /&gt;
&lt;br /&gt;
== HfWU Styleguide ==&lt;br /&gt;
CSS, Vorgaben für Schriften, Farben, Layouts etc.&lt;br /&gt;
[[HfWU - Styleguide]]&lt;br /&gt;
&lt;br /&gt;
== HfWU TYPO3 Templates-Guide ==&lt;br /&gt;
s.u.&lt;br /&gt;
&lt;br /&gt;
== Ideensammlung zum Relaunch der HFWU ==&lt;br /&gt;
&lt;br /&gt;
* lernender Webauftritt. User können Schlagworte eingeben die Sie Sinnvoll für einen Bereich finden. Anders herum wird eine Statistik der meist eingegebenen Schlagworte geführt und so während der Suche (AJAX) die Auswahl eingeschränkt. &lt;br /&gt;
&lt;br /&gt;
Die Suche könnte ebenfalls ausgewertet werden (nicht gefundene Begriffe die eingegeben wurden)&lt;br /&gt;
&lt;br /&gt;
* Datenbank für Personal, Studiengänge u. a. Datasheets...&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Todo&lt;br /&gt;
&lt;br /&gt;
== Templates ==&lt;br /&gt;
[[HfWU - Templates Dokumentation]]&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
[[Horde]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DAM ==&lt;br /&gt;
* DAM - Erfahrungen&lt;br /&gt;
* Vorgehen Inhaltsübernahme&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
[[HfWU - Helpdesk]]&lt;br /&gt;
&lt;br /&gt;
== Backend ==&lt;br /&gt;
* Assistent für Seitenelemente abschalten&lt;br /&gt;
&lt;br /&gt;
== Benutzer und Rechte ==&lt;br /&gt;
[[HfWU - Richtlinie zur Benutzer- und Rechtekonfiguration]]&lt;br /&gt;
&lt;br /&gt;
[[HfWU - LDAP Anbindung]]&lt;br /&gt;
&lt;br /&gt;
=== Redakteure mit besonderen Rechten (fortgeschrittene Redakteure) ===&lt;br /&gt;
Rolle: fortgeschrittene Benutzer (muß als letztes eingebunden werden)&lt;br /&gt;
&lt;br /&gt;
Für Benutzer die schon mehr Erfahrung bei der Arbeit mit TYPO3 haben stehen mit dieser Rolle einige erweiterte Funktionen zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
- SysOrdner anlegen&lt;br /&gt;
- Dateiverweise angeben&lt;br /&gt;
&lt;br /&gt;
==Datenexport und -import mit awk==&lt;br /&gt;
[[HfWU - Datenexport und -import mit awk]]&lt;br /&gt;
&lt;br /&gt;
== Organistatorisches ==&lt;br /&gt;
[[Reisekostenabrechnung]]&lt;br /&gt;
&lt;br /&gt;
== fhlumni ==&lt;br /&gt;
[[HfWU - fhlumni]]&lt;br /&gt;
&lt;br /&gt;
== Redirects &amp;amp; Subdomains ==&lt;br /&gt;
Redirects über .htaccess&lt;br /&gt;
z.B.&lt;br /&gt;
 Redirect 301 /alteslager http://www.hfwu.de/index.php?id=2751&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Subdomains über etc/apache2/sites-available/subdomains&lt;br /&gt;
&lt;br /&gt;
z.B.&lt;br /&gt;
 &amp;lt;VirtualHost *&amp;gt; &lt;br /&gt;
 Redirect /  http://www.hfwu.de/index.php?id=2751 &lt;br /&gt;
 ServerName www.alteslager.hfwu.de &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Müssen z.Zt. aber noch im DNS eingetragen werden (RZ)&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
* Serverstandards&lt;br /&gt;
* Zertifizierung ssl&lt;br /&gt;
* [[HfWU Testserver]]&lt;br /&gt;
&lt;br /&gt;
== Azubi ==&lt;br /&gt;
* Weiterleitungen&lt;br /&gt;
* Wie funktioniert das Internet ?&lt;br /&gt;
* Wie kriegt der Browser seine Seiten ?&lt;br /&gt;
* Geschichte&lt;br /&gt;
* HTML-Basics&lt;br /&gt;
* Design a Cite (Zitat)?&lt;br /&gt;
* Präsentationen&lt;br /&gt;
** YUI&lt;br /&gt;
** YAML&lt;br /&gt;
** JavaScript Frameworks&lt;br /&gt;
* Kinderhochschule&lt;br /&gt;
&lt;br /&gt;
== HFWU - VPN Gateway ==&lt;br /&gt;
[[HFWU - VPN Gateway]]&lt;br /&gt;
== HfWU - Studium ==&lt;br /&gt;
- Bildet Studienstruktur ab&lt;br /&gt;
=== Wartung ===&lt;br /&gt;
==== nicht mehr gebrauchte Fächer löschen ====&lt;br /&gt;
Geht am besten in single Table Ansicht mit aktiviertem Clipboard, dann kann man z.B. Fächer nach Studiengang, Anfangsbuchstaben o.ä. sortieren und über die Häkchen markieren und dann alle zusammen löschen.&lt;br /&gt;
D.h. der Löschflag ist gesetzt.&lt;br /&gt;
&lt;br /&gt;
==== Verknüpfungen zu anderen Tabellen ====&lt;br /&gt;
MM Verknüpfungen von Hand sind hierbei nicht gelöscht. Diese können nur komplett gelöscht werden. Möglich wäre ein SQL-Skript &amp;quot;Suche alle Fächer mit deleted = 1 lösche diese und die gejointen mm Verbindungen (dozenten und SG)&lt;br /&gt;
&lt;br /&gt;
Dies kann aber auch ab und zu mal erfolgen.&lt;br /&gt;
&lt;br /&gt;
==== Neue Fächer importieren ====&lt;br /&gt;
Als erstes Fächer und deren Studiengänge in separate Tabelle. Dann Studiengänge durch ihre uid ersetzen (z.B. suchen ersetzen)&lt;br /&gt;
&lt;br /&gt;
Als csv exportieren und über import Tool wieder einfügen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== HfWU - Personaldatenbank ==&lt;br /&gt;
=== Eingabehinweise ===&lt;br /&gt;
Homepage - jeder Prof bekommt eine Homepage&lt;br /&gt;
&lt;br /&gt;
Weblinks - vollständige URL eintragen z.B. http://www.hfwu.de&lt;br /&gt;
&lt;br /&gt;
Sprechzeiten - jeweils bei Semesterbeginn&lt;br /&gt;
&lt;br /&gt;
Senat - Funktion, Mitglied kraft Amtes oder gewähltes Mitglied&lt;br /&gt;
&lt;br /&gt;
Hochschulrat - Hochschulexternes Mitglied oder Hochschulinternes Mitglied&lt;br /&gt;
=== Sortierschlüssel ===&lt;br /&gt;
==== Sortierung Hochschulrat ====&lt;br /&gt;
Auflistungsreihenfolge&lt;br /&gt;
==== Sortierung Senat ====&lt;br /&gt;
Auflistungsreihenfolge&lt;br /&gt;
==== Wichtigkeitsstufen ====&lt;br /&gt;
0 Rektor&lt;br /&gt;
&lt;br /&gt;
1 Professoren&lt;br /&gt;
&lt;br /&gt;
2 Beamte&lt;br /&gt;
&lt;br /&gt;
3 Angestellte / Wissenschaftler Mitarbeiter&lt;br /&gt;
&lt;br /&gt;
4 Arbeiter&lt;br /&gt;
&lt;br /&gt;
5 Azubis&lt;br /&gt;
&lt;br /&gt;
6 Sonstige (z.B. Externe)&lt;br /&gt;
==== Sortierung Ämter ====&lt;br /&gt;
1 Rektor / Dekan / Studiendekan&lt;br /&gt;
&lt;br /&gt;
2 Prorektor / Prodekan&lt;br /&gt;
&lt;br /&gt;
3 Prüfungsausschuss&lt;br /&gt;
&lt;br /&gt;
4 Praktikantenamt&lt;br /&gt;
&lt;br /&gt;
bei Instituten o.ä.&lt;br /&gt;
&lt;br /&gt;
1 Institutsleitung&lt;br /&gt;
&lt;br /&gt;
2 Leitung Unterabteilung&lt;br /&gt;
&lt;br /&gt;
3 Mitglied&lt;br /&gt;
&lt;br /&gt;
4 Mitarbeiter&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Benutzer_Registrierung_(sr_feuser_register)&amp;diff=1947</id>
		<title>Typo3 - Benutzer Registrierung (sr feuser register)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Benutzer_Registrierung_(sr_feuser_register)&amp;diff=1947"/>
		<updated>2010-04-16T10:24:17Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Extension kann die wichtigsten Dinge für Frontend Benutzer ab:&lt;br /&gt;
* Registrieren&lt;br /&gt;
* An- / Abmeldung&lt;br /&gt;
* Zuordnung zu verschiedenen Benutzergruppen&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[http://wiki.typo3.org/index.php/De:Front_End_User_Registration Typo3 Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://blog.marit.ag/2010/02/12/fe-user-gesalzenen/ User Registrierung mit gesalzenen Passwörtern]&lt;br /&gt;
&lt;br /&gt;
== Beispiel: sr_feuser_register für Newsletter einsetzen ==&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel geht es darum die Benutzer Registrierung für Direct Mail (direct_mail) einzubauen und zu konfigurieren.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Benutzer_Registrierung_(sr_feuser_register)&amp;diff=1945</id>
		<title>Typo3 - Benutzer Registrierung (sr feuser register)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Benutzer_Registrierung_(sr_feuser_register)&amp;diff=1945"/>
		<updated>2010-04-16T10:22:57Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Extension kann die wichtigsten Dinge für Frontend Benutzer ab:&lt;br /&gt;
* Registrieren&lt;br /&gt;
* An- / Abmeldung&lt;br /&gt;
* Zuordnung zu verschiedenen Benutzergruppen&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
[[http://wiki.typo3.org/index.php/De:Front_End_User_Registration]]&lt;br /&gt;
&lt;br /&gt;
[[http://blog.marit.ag/2010/02/12/fe-user-gesalzenen/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiel: sr_feuser_register für Newsletter einsetzen ==&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel geht es darum die Benutzer Registrierung für Direct Mail (direct_mail) einzubauen und zu konfigurieren.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Benutzer_Registrierung_(sr_feuser_register)&amp;diff=1944</id>
		<title>Typo3 - Benutzer Registrierung (sr feuser register)</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Benutzer_Registrierung_(sr_feuser_register)&amp;diff=1944"/>
		<updated>2010-04-16T10:21:44Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Extension kann die wichtigsten Dinge für Frontend Benutzer ab:&lt;br /&gt;
* Registrieren&lt;br /&gt;
* An- / Abmeldung&lt;br /&gt;
* Zuordnung zu verschiedenen Benutzergruppen&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
== Beispiel: sr_feuser_register für Newsletter einsetzen ==&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel geht es darum die Benutzer Registrierung für Direct Mail (direct_mail) einzubauen und zu konfigurieren.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Newsletter_mit_Direct_Mail&amp;diff=1950</id>
		<title>Newsletter mit Direct Mail</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Newsletter_mit_Direct_Mail&amp;diff=1950"/>
		<updated>2010-04-16T10:19:10Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* bei sr_feuser_register */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Quickstart ==&lt;br /&gt;
* Extensions: tt_address, direct_mail, direct_mail_subscriptionoder sr_feuser_register oder sr_email_subscribe)&lt;br /&gt;
* Ordner: Newsletter/, Newsletter/Abonnements/&lt;br /&gt;
* Seiteneigenschaften enthält Plugin direct_mail&lt;br /&gt;
* Neues Root-Template auf Newsletter (alles clearen) includes: content(default), plugin.alt.plaintext(99) und css_styled_content. (Update es gibt auch direct mail plaintext und direct mail news plaintext)&lt;br /&gt;
&lt;br /&gt;
=== Bei Verwendung von direct_mail_subscription ===&lt;br /&gt;
* Konstanten anpassen (Constants Editor) für direct_mail_subscription (Admin Email, Name und Record PID auf Abonnement Ordner setzen)&lt;br /&gt;
* Anmelde Template nach fileadmin&lt;br /&gt;
&lt;br /&gt;
=== bei sr_feuser_register ===&lt;br /&gt;
Ist meiner Ansicht nach das bessere Tool um Benutzer (wofür auch immer) über das Frontend zu registrieren.&lt;br /&gt;
&lt;br /&gt;
Infos dazu:&lt;br /&gt;
&lt;br /&gt;
[[Typo3 - Benutzer Registrierung (sr_feuser_register)]]&lt;br /&gt;
&lt;br /&gt;
=== bei sr_email_subscribe ===&lt;br /&gt;
Todo&lt;br /&gt;
&lt;br /&gt;
=== Code ===&lt;br /&gt;
TS&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.feadmin.dmailsubscription.color1 = #CCCCCC&lt;br /&gt;
plugin.feadmin.dmailsubscription.email = schlegel@geo-bit.de&lt;br /&gt;
plugin.feadmin.dmailsubscription.emailName = Stephan Schlegel&lt;br /&gt;
plugin.feadmin.dmailsubscription.pid = 87&lt;br /&gt;
plugin.feadmin.dmailsubscription.file.templateFile = fileadmin/templates/direct_mail_subscription/direct_mail_subscription.tmpl&lt;br /&gt;
plugin.feadmin.dmailsubscription.wrap1 = &amp;lt;div class=&amp;quot;dmail1&amp;quot;&amp;gt; | &amp;lt;/div&amp;gt;&lt;br /&gt;
plugin.feadmin.dmailsubscription.wrap2 = &amp;lt;div class=&amp;quot;dmail2&amp;gt; | &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
HTML Template&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Basiert auf: &lt;br /&gt;
&lt;br /&gt;
 Tutorials und Artikel  / Typo3  / Einrichtung eines Newsletters mit Direct Mail&lt;br /&gt;
Einrichtung eines Newsletters mit Direct Mail&lt;br /&gt;
&lt;br /&gt;
Um einen Newsletter mit Direct mail unter Typo3 4.0 einzurichten, bedarf es nur wenige Schritte. In diesem Tutorial möchte ich die Vorgehensweise beschreiben, auf Sonderfälle gehe ich nicht ein, es sollte jedem möglich sein, anhand der Beschreibung einen solchen Newsletter auf den eigenen Seiten einzubinden.&lt;br /&gt;
Benötigte Extensions&lt;br /&gt;
&lt;br /&gt;
Diese Extensions werden benötigt und sollten, wenn noch nicht vorhanden, über den Extension-manager installiert werden.&lt;br /&gt;
&lt;br /&gt;
    * Address list (tt_address)&lt;br /&gt;
    * Direct Mail (direct_mail) &lt;br /&gt;
    * Direct Mail Subscription (direct_mail_subscription) &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Vorbereitungen&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Als erstes legen wir &amp;#039;&amp;#039;&amp;#039;2 Systemordner&amp;#039;&amp;#039;&amp;#039; an, die sich auf der rootline befinden. Dadurch greift das Template der root-Seite nicht und wir sind unabhängig von dem Rest der Seite. In meinem Fall hat der Sysordner Newsletter die PID 147 und der Sysordner Abonnoments die PID 148.  Wir bearbeiten die Seinteneigenschaften des Sysordners Newsletter und geben unter &amp;quot;Enthält Erweiterung&amp;quot; direct mail an.&lt;br /&gt;
&lt;br /&gt;
Man kann die Ordner auch woanders hinlegen und das root-Template einfach mit einem neuen root Template überschreiben bzw dessen eigenschaften mit den clear Häkchen löschen.&lt;br /&gt;
&lt;br /&gt;
 Newsletter/&lt;br /&gt;
 Abonnements/&lt;br /&gt;
&lt;br /&gt;
Wir benötigen noch eine Seite, auf der die User sich für den Newsletter anmelden können. Hierzu erstellen wir in unserem Seitenbaum eine Seite und fügen auf ihr das Inhaltselement &amp;quot;Plugin / Direct Mail Anmeldung&amp;quot; ein. Als Ausgangspunkt wählen wir unseren Sysordner Abonnements, in dem die Anmeldungen gesammelt werden sollen.&lt;br /&gt;
Template Anpassungen&lt;br /&gt;
&lt;br /&gt;
Nun wollen wir unser root-Template vervollständigen. Hierzu legen wir auf unserem SysOrdner Newsletter ein neues Template an &amp;quot;Create template for a new site&amp;quot;. Wir benennen es und binden folgende Module ein:&lt;br /&gt;
&lt;br /&gt;
Das Modul content(default) und plugin.alt.plaintext(99) wird benötigt, um den Inhalt für die Plain Text-Emails zu generieren, für die HTML-Ausgabe nehmen wir wie gewohnt die css_styled_content.&lt;br /&gt;
&lt;br /&gt;
Unserem root-Template müssen wir auch noch einige Angaben hinzufügen. Vorerst kopieren wir das Template für die Newsletteranmeldung (typo3conf/ext/direct_mail_subscription/pi/fe_admin_dmailsubscrip.tmpl) nach fileadmin/templates/newsletter_subscription.html, so das wir es später bearbeiten können.&lt;br /&gt;
&lt;br /&gt;
Wir gehen auf unser root-Template und wählen im Constants-Editor die Seite PLUGIN.FEADMIN.DMAILSUBSCRIPTION und wählen die Einträge&lt;br /&gt;
Administration email, Administration name und Record PID.&lt;br /&gt;
Wir ergänzen die email-Angaben und unter Record PID geben wir unseren SysOrdner Abonnoments an (in meinem Fall 148) - hierdurch werden die Anmeldungen auch in diesem SysOrdner gespeichert.&lt;br /&gt;
&lt;br /&gt;
Anschliessend öffnen wir Constants unter Info/Modify und ergänzen die Angabe unseres Templatefiles:&lt;br /&gt;
 plugin.feadmin.dmailsubscription.file.templateFile = fileadmin/templates/newsletter_subscription.html&lt;br /&gt;
&lt;br /&gt;
In diesem Zuge können wir auch das Template in einem Editor bearbeiten und entsprechend anpassen.&lt;br /&gt;
&lt;br /&gt;
Wir sind nun mit den Vorbereitungen fertig und melden uns probeweiser beim Newsletter an. Es müsste ein neuer Datensatz im SysOrdner Abonnoments gelandet sein, der versteckt ist - wenn wir unsere Email erhalten haben und auf den Aktivierungslink geklickt haben, so wird der Datensatz sichtbar.&lt;br /&gt;
Newsletter einrichten&lt;br /&gt;
&lt;br /&gt;
Nun wollen wir unseren ersten Newsletter einrichten. Die Newsletter sind ganz normale Typo3-Seiten, die in unserem SysOrdner Newsletter landen. Hier brauchen wir noch ein paar ergänzende Angaben in unserem Template des SysOrdners Newsletter, damit auch die Inhalte angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
In diesem Fall nehmen wir ein einfaches Typoscript-Template, hier kann jeder natürlich die Ausgabe so stylen, wie er gerne möchte. In diesem Beispiel sieht das Template so aus:&lt;br /&gt;
TypoScript&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
page = PAGE&lt;br /&gt;
&lt;br /&gt;
page.headerData.10=TEXT&lt;br /&gt;
page.headerData.10.value (&lt;br /&gt;
style type=text/css&lt;br /&gt;
* {margin:0;padding:0;}&lt;br /&gt;
body {background: #eee;}&lt;br /&gt;
div#main {padding:12px;}&lt;br /&gt;
/style&lt;br /&gt;
)&lt;br /&gt;
page.bodyTag=body&lt;br /&gt;
page.10  styles.content.get - ERROR: Line 12: Object Name String, &amp;quot;page.10&amp;quot; was not preceded by any operator, =&amp;lt;&amp;gt;({&lt;br /&gt;
page.10.wrap = divimg src=fileadmin/images/newsletterheader.gif/divdiv id=main|/div&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nachdem wir das Template gespeichert haben, klicken wir unter Web auf den Direct Mail-Link. Wir sehen unseren SysOrdner Newsletter, den wir anklicken. Dann klicken wir auf den Link &amp;quot;Klicken Sie hier, um eine neue Typo3-Seite, die Sie später als Newsletter verschicken können, anzulegen. &amp;quot;. Wir benennen die Seite und speichern sie. Nun legen wir noch ein bischen Inhalt auf der Seite an und lassen sie anzeigen, um unser Template zu überprüfen. Wenn alles glatt gelaufen ist, sehen wir unseren ersten Newsletter.&lt;br /&gt;
&lt;br /&gt;
Nun können wir unseren Newsletter versenden. Wir wählen wieder Web&amp;gt;Direct Mail. Unter Modulkonfiguration ändern wir noch die Einstellungen wie gewünscht. Wir  erstellen unter Empfängerliste eine neue Versandgruppe. Unter Tabellen klicken wir Adresse an, da wir ja tt_address für unsere Adressen benutzen. Wir sehen, das es da noch weitere Optionen gibt.&lt;br /&gt;
&lt;br /&gt;
Nun erstellen wir unseren Newsletter anhand unserer Seite. Wir haben nun viele Optionen zum versenden, wir können ihn zuerst als Testmail an uns selbst verschicken, um alles zu überprüfen. Wir sollten uns mit den einzelnen Menüpunkten von DirectMail vertraut machen,  es ist alles gut erklärt und somit verständlich.&lt;br /&gt;
&lt;br /&gt;
Unserem Newsletter steht nun nichts mehr im Weg, viel Spass!&lt;br /&gt;
Bugfix&lt;br /&gt;
&lt;br /&gt;
Bei einigen Konfigurationen ergibt sich ein Problem mit den Plain Text - Mails. Hier wird als Content nur eine 1 erzeugt, und der Plain-Letter wird erst richtig erzeugt, wenn man den FE-Cache löscht.&lt;br /&gt;
Sollte dieses Problem auftauchen, so kann man den Code von direct mail modifizieren, um das Verhalten zu ändern. Folgende Zeile muss in der Datei direct_mail/mod/class.web_mod_dmail.php auskommentiert werden (Zeile 3916):&lt;br /&gt;
PHP&lt;br /&gt;
&lt;br /&gt;
 // $this-tmpl-forceTemplateParsing = 1; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quelle: sk-typo3 · Steffen Kamper · 2006     last Update:Wednesday, 22.07.2009&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Formulare_mit_https_sicher_versenden&amp;diff=17551</id>
		<title>Typo3 - Formulare mit https sicher versenden</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Formulare_mit_https_sicher_versenden&amp;diff=17551"/>
		<updated>2010-04-16T10:07:45Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voraussetzung: Der Server braucht ein Zertifikat und muß wissen was er mit https anfangen soll.&lt;br /&gt;
&lt;br /&gt;
Formularobjekt kann folgendermaßen modifiziert werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
temp.FORM = FORM&lt;br /&gt;
temp.FORM.type = index.php?id=&lt;br /&gt;
temp.FORM.dataWrap = https://meine.domain/|{TSFE:id}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Baukasten&amp;diff=2059</id>
		<title>Typo3 - Baukasten</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Typo3_-_Baukasten&amp;diff=2059"/>
		<updated>2010-04-16T10:06:05Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &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;
== 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;
=== 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;
=== 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;
&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;
&lt;br /&gt;
temp.addHeaderData=COA&lt;br /&gt;
[browser = msie]&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;
[global]&lt;br /&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;
&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;
&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;
&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>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Rss&amp;diff=1968</id>
		<title>Rss</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Rss&amp;diff=1968"/>
		<updated>2010-04-14T12:08:31Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Beispiel für Link im Header der Seite&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;application/rss+xml&amp;quot; title=&amp;quot;t3n Magazin RSS Feed&amp;quot; href=&amp;quot;http://t3n.de/magazin/feed/&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Rss&amp;diff=1937</id>
		<title>Rss</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Rss&amp;diff=1937"/>
		<updated>2010-04-14T12:08:10Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &amp;lt;link rel=&amp;quot;alternate&amp;quot; type=&amp;quot;application/rss+xml&amp;quot; title=&amp;quot;t3n Magazin RSS Feed&amp;quot; href=&amp;quot;http://t3n.de/magazin/feed/&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Apache_-_Konfiguration_und_Performance&amp;diff=18681</id>
		<title>Apache - Konfiguration und Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Apache_-_Konfiguration_und_Performance&amp;diff=18681"/>
		<updated>2010-04-09T10:42:38Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
Sehr guter Artikel zu Performance bezogenen Einstellungen (englisch):&lt;br /&gt;
http://www.devside.net/articles/apache-performance-tuning&lt;br /&gt;
&lt;br /&gt;
Übersicht und Links auf andere gute Seiten: &lt;br /&gt;
http://www.joomlaperformance.com/articles/server_related/how_to_track_down_a_high_server_load_5_16.html&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Tipps zur Performance ==&lt;br /&gt;
=== Die Zusammenhänge ===&lt;br /&gt;
Es gibt das Prefork MPM und das Worker MPM. Der Hauptunterschied besteht darin daß der Worker MPM mehrere Threads bilden kann. Das ist unter Umständen gut wenn mehrere Prozessor-Kerne am Werk sind.&lt;br /&gt;
&lt;br /&gt;
Prefork bildet einen Thread und spaltet davon Kindprozesse ab. Das braucht weniger Speicher für die Threads. &lt;br /&gt;
&lt;br /&gt;
== Apache2 unter Worker MPM ==&lt;br /&gt;
Unter Worker MPM muß man aufpassen das die Einstellungen zum Speicherangebot des Servers passen. Bei kleinen Servern oder VServern  ist die Standardkonfiguration ein Killer, weil allein die Prozesse des Apache den ganzen Speicher brauchen und kein Platz mehr für andere Tätigkeiten (z.B. CGI-Skripte) bleiben.&lt;br /&gt;
&lt;br /&gt;
Standardkonfiguration Worker und Prefork:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# MaxClients: maximum number of server processes allowed to start&lt;br /&gt;
# MaxRequestsPerChild: maximum number of requests a server process serves&lt;br /&gt;
&amp;lt;IfModule mpm_prefork_module&amp;gt;&lt;br /&gt;
    StartServers         50&lt;br /&gt;
    MinSpareServers      10&lt;br /&gt;
    MaxSpareServers      50&lt;br /&gt;
    MaxClients          250&lt;br /&gt;
    MaxRequestsPerChild   0&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# worker MPM&lt;br /&gt;
# StartServers: initial number of server processes to start&lt;br /&gt;
# MaxClients: maximum number of simultaneous client connections&lt;br /&gt;
# MinSpareThreads: minimum number of worker threads which are kept spare&lt;br /&gt;
# MaxSpareThreads: maximum number of worker threads which are kept spare&lt;br /&gt;
# ThreadsPerChild: constant number of worker threads in each server process&lt;br /&gt;
# MaxRequestsPerChild: maximum number of requests a server process serves&lt;br /&gt;
&amp;lt;IfModule mpm_worker_module&amp;gt;&lt;br /&gt;
    StartServers          2&lt;br /&gt;
    MaxClients          150&lt;br /&gt;
    MinSpareThreads      25&lt;br /&gt;
    MaxSpareThreads      75&lt;br /&gt;
    ThreadsPerChild      25&lt;br /&gt;
    MaxRequestsPerChild   0&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für den Worker muß man also versuchen die Werte so einzustellen, daß nicht zuviel Speicher verschwendet wird, aber trotzdem die erwartete Last gut abgearbeitet wird und noch Reserven zur Verfügung stehen. Wenn die Werte zu hoch gesetzt sind riskiert man außerdem daß die threads gar nicht genutzt werden könnnen, weil die Prozessorleistung zu niedrig ist und der Speicherverbrauch zu hoch.&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Werte sind hierbei: &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MaxClients&amp;#039;&amp;#039;&amp;#039; - Dieser Wert gibt an, wieviel Clients sich maximal zur gleichen Zeit verbinden dürfen&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ThreadsPerChild&amp;#039;&amp;#039;&amp;#039; - Gibt an wieviel Threads in einem Serverprozess laufen. (Sollte nicht niedriger sein als MinSpareThreads)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MaxRequestsPerChild&amp;#039;&amp;#039;&amp;#039; - Wenn gesetzt wird ein Serverprozess nach der angegebenen Zahl beendet und wenn benötigt ein neuer gestartet. Gerade bei vielen Skripten wichtig, um zu verhindern daß ein Serverprozess zu lange auf ein Skript wartet und nicht anderswo genutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Tipps ===&lt;br /&gt;
* Die &amp;#039;&amp;#039;&amp;#039;KeepAliveTimeout&amp;#039;&amp;#039;&amp;#039; kann man u.U. ebenfalls etwas heruntersetzten (z.B. von 15 auf 10 oder sogar 5s). Dann muß der Browser zwar evtl. eine neue Verbindung aufbauen, dafür wird bei langsamen Verbindungen die Verbindung nicht blockiert. Ganz auschalten ist aber auch nicht sinnvoll, dann ist der Server dauernd beschäftigt, neue Verbindungen aufzubauen, was natürlich auch wieder Zeit benötigt.&lt;br /&gt;
* Min und MaxSpareThreads sollten durch ThreadsPerChild Teilbarsein. Sonst rundet der Server.&lt;br /&gt;
* Den Speicherverbrauch eines Workerprozesses kann man angeblich effektiv mit der &amp;#039;&amp;#039;&amp;#039;ThreadStackSize&amp;#039;&amp;#039;&amp;#039; beeinflussen, auf geringe Kosten der Performance bezogen auf die Requestdauer.&amp;#039;&amp;#039; I reduced my setting down to 65536 bytes and was able to bring down my apache2 process usage from 50MB to just 10MB! And it works quite well with little to no effect on the speed of requests handled!&amp;#039;&amp;#039;&lt;br /&gt;
* Man kann sich auch bei knappem Speicher überlegen lieber weniger Server und MaxClients zu nehmen und dafür mehr ThreadsPerChild. Spart Speicher geht aber wieder zu lasten der Geschwindigkeit (vor allem bei Prozessoren mit mehrerern Kernen.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Apache_-_Konfiguration_und_Performance&amp;diff=1933</id>
		<title>Apache - Konfiguration und Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Apache_-_Konfiguration_und_Performance&amp;diff=1933"/>
		<updated>2010-04-09T09:31:01Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
Sehr guter Artikel zu Performance bezogenen Einstellungen (englisch):&lt;br /&gt;
http://www.devside.net/articles/apache-performance-tuning&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Tipps zur Performance ==&lt;br /&gt;
=== Die Zusammenhänge ===&lt;br /&gt;
Es gibt das Prefork MPM und das Worker MPM. Der Hauptunterschied besteht darin daß der Worker MPM mehrere Threads bilden kann. Das ist unter Umständen gut wenn mehrere Prozessor-Kerne am Werk sind.&lt;br /&gt;
&lt;br /&gt;
Prefork bildet einen Thread und spaltet davon Kindprozesse ab. Das braucht weniger Speicher für die Threads. &lt;br /&gt;
&lt;br /&gt;
== Apache2 unter Worker MPM ==&lt;br /&gt;
Unter Worker MPM muß man aufpassen das die Einstellungen zum Speicherangebot des Servers passen. Bei kleinen Servern oder VServern  ist die Standardkonfiguration ein Killer, weil allein die Prozesse des Apache den ganzen Speicher brauchen und kein Platz mehr für andere Tätigkeiten (z.B. CGI-Skripte) bleiben.&lt;br /&gt;
&lt;br /&gt;
Standardkonfiguration Worker und Prefork:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# MaxClients: maximum number of server processes allowed to start&lt;br /&gt;
# MaxRequestsPerChild: maximum number of requests a server process serves&lt;br /&gt;
&amp;lt;IfModule mpm_prefork_module&amp;gt;&lt;br /&gt;
    StartServers         50&lt;br /&gt;
    MinSpareServers      10&lt;br /&gt;
    MaxSpareServers      50&lt;br /&gt;
    MaxClients          250&lt;br /&gt;
    MaxRequestsPerChild   0&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# worker MPM&lt;br /&gt;
# StartServers: initial number of server processes to start&lt;br /&gt;
# MaxClients: maximum number of simultaneous client connections&lt;br /&gt;
# MinSpareThreads: minimum number of worker threads which are kept spare&lt;br /&gt;
# MaxSpareThreads: maximum number of worker threads which are kept spare&lt;br /&gt;
# ThreadsPerChild: constant number of worker threads in each server process&lt;br /&gt;
# MaxRequestsPerChild: maximum number of requests a server process serves&lt;br /&gt;
&amp;lt;IfModule mpm_worker_module&amp;gt;&lt;br /&gt;
    StartServers          2&lt;br /&gt;
    MaxClients          150&lt;br /&gt;
    MinSpareThreads      25&lt;br /&gt;
    MaxSpareThreads      75&lt;br /&gt;
    ThreadsPerChild      25&lt;br /&gt;
    MaxRequestsPerChild   0&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für den Worker muß man also versuchen die Werte so einzustellen, daß nicht zuviel Speicher verschwendet wird, aber trotzdem die erwartete Last gut abgearbeitet wird und noch Reserven zur Verfügung stehen. Wenn die Werte zu hoch gesetzt sind riskiert man außerdem daß die threads gar nicht genutzt werden könnnen, weil die Prozessorleistung zu niedrig ist und der Speicherverbrauch zu hoch.&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Werte sind hierbei: &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MaxClients&amp;#039;&amp;#039;&amp;#039; - Dieser Wert gibt an, wieviel Clients sich maximal zur gleichen Zeit verbinden dürfen&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ThreadsPerChild&amp;#039;&amp;#039;&amp;#039; - Gibt an wieviel Threads in einem Serverprozess laufen. (Sollte nicht niedriger sein als MinSpareThreads)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MaxRequestsPerChild&amp;#039;&amp;#039;&amp;#039; - Wenn gesetzt wird ein Serverprozess nach der angegebenen Zahl beendet und wenn benötigt ein neuer gestartet. Gerade bei vielen Skripten wichtig, um zu verhindern daß ein Serverprozess zu lange auf ein Skript wartet und nicht anderswo genutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Tipps ===&lt;br /&gt;
* Die &amp;#039;&amp;#039;&amp;#039;KeepAliveTimeout&amp;#039;&amp;#039;&amp;#039; kann man u.U. ebenfalls etwas heruntersetzten (z.B. von 15 auf 10 oder sogar 5s). Dann muß der Browser zwar evtl. eine neue Verbindung aufbauen, dafür wird bei langsamen Verbindungen die Verbindung nicht blockiert. Ganz auschalten ist aber auch nicht sinnvoll, dann ist der Server dauernd beschäftigt, neue Verbindungen aufzubauen, was natürlich auch wieder Zeit benötigt.&lt;br /&gt;
* Min und MaxSpareThreads sollten durch ThreadsPerChild Teilbarsein. Sonst rundet der Server.&lt;br /&gt;
* Den Speicherverbrauch eines Workerprozesses kann man angeblich effektiv mit der &amp;#039;&amp;#039;&amp;#039;ThreadStackSize&amp;#039;&amp;#039;&amp;#039; beeinflussen, auf geringe Kosten der Performance bezogen auf die Requestdauer.&amp;#039;&amp;#039; I reduced my setting down to 65536 bytes and was able to bring down my apache2 process usage from 50MB to just 10MB! And it works quite well with little to no effect on the speed of requests handled!&amp;#039;&amp;#039;&lt;br /&gt;
* Man kann sich auch bei knappem Speicher überlegen lieber weniger Server und MaxClients zu nehmen und dafür mehr ThreadsPerChild. Spart Speicher geht aber wieder zu lasten der Geschwindigkeit (vor allem bei Prozessoren mit mehrerern Kernen.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Apache_-_Konfiguration_und_Performance&amp;diff=1932</id>
		<title>Apache - Konfiguration und Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Apache_-_Konfiguration_und_Performance&amp;diff=1932"/>
		<updated>2010-04-09T09:05:22Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: /* Weitere Tipps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeine Tipps zur Performance ==&lt;br /&gt;
=== Die Zusammenhänge ===&lt;br /&gt;
Es gibt das Prefork MPM und das Worker MPM. Der Hauptunterschied besteht darin daß der Worker MPM mehrere Threads bilden kann. Das ist unter Umständen gut wenn mehrere Prozessor-Kerne am Werk sind.&lt;br /&gt;
&lt;br /&gt;
Prefork bildet einen Thread und spaltet davon Kindprozesse ab. Das braucht weniger Speicher für die Threads. &lt;br /&gt;
&lt;br /&gt;
== Apache2 unter Worker MPM ==&lt;br /&gt;
Unter Worker MPM muß man aufpassen das die Einstellungen zum Speicherangebot des Servers passen. Bei kleinen Servern oder VServern  ist die Standardkonfiguration ein Killer, weil allein die Prozesse des Apache den ganzen Speicher brauchen und kein Platz mehr für andere Tätigkeiten (z.B. CGI-Skripte) bleiben.&lt;br /&gt;
&lt;br /&gt;
Standardkonfiguration Worker und Prefork:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# MaxClients: maximum number of server processes allowed to start&lt;br /&gt;
# MaxRequestsPerChild: maximum number of requests a server process serves&lt;br /&gt;
&amp;lt;IfModule mpm_prefork_module&amp;gt;&lt;br /&gt;
    StartServers         50&lt;br /&gt;
    MinSpareServers      10&lt;br /&gt;
    MaxSpareServers      50&lt;br /&gt;
    MaxClients          250&lt;br /&gt;
    MaxRequestsPerChild   0&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# worker MPM&lt;br /&gt;
# StartServers: initial number of server processes to start&lt;br /&gt;
# MaxClients: maximum number of simultaneous client connections&lt;br /&gt;
# MinSpareThreads: minimum number of worker threads which are kept spare&lt;br /&gt;
# MaxSpareThreads: maximum number of worker threads which are kept spare&lt;br /&gt;
# ThreadsPerChild: constant number of worker threads in each server process&lt;br /&gt;
# MaxRequestsPerChild: maximum number of requests a server process serves&lt;br /&gt;
&amp;lt;IfModule mpm_worker_module&amp;gt;&lt;br /&gt;
    StartServers          2&lt;br /&gt;
    MaxClients          150&lt;br /&gt;
    MinSpareThreads      25&lt;br /&gt;
    MaxSpareThreads      75&lt;br /&gt;
    ThreadsPerChild      25&lt;br /&gt;
    MaxRequestsPerChild   0&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für den Worker muß man also versuchen die Werte so einzustellen, daß nicht zuviel Speicher verschwendet wird, aber trotzdem die erwartete Last gut abgearbeitet wird und noch Reserven zur Verfügung stehen. Wenn die Werte zu hoch gesetzt sind riskiert man außerdem daß die threads gar nicht genutzt werden könnnen, weil die Prozessorleistung zu niedrig ist und der Speicherverbrauch zu hoch.&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Werte sind hierbei: &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MaxClients&amp;#039;&amp;#039;&amp;#039; - Dieser Wert gibt an, wieviel Clients sich maximal zur gleichen Zeit verbinden dürfen&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ThreadsPerChild&amp;#039;&amp;#039;&amp;#039; - Gibt an wieviel Threads in einem Serverprozess laufen. (Sollte nicht niedriger sein als MinSpareThreads)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MaxRequestsPerChild&amp;#039;&amp;#039;&amp;#039; - Wenn gesetzt wird ein Serverprozess nach der angegebenen Zahl beendet und wenn benötigt ein neuer gestartet. Gerade bei vielen Skripten wichtig, um zu verhindern daß ein Serverprozess zu lange auf ein Skript wartet und nicht anderswo genutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Tipps ===&lt;br /&gt;
* Die &amp;#039;&amp;#039;&amp;#039;KeepAliveTimeout&amp;#039;&amp;#039;&amp;#039; kann man u.U. ebenfalls etwas heruntersetzten (z.B. von 15 auf 10 oder sogar 5s). Dann muß der Browser zwar evtl. eine neue Verbindung aufbauen, dafür wird bei langsamen Verbindungen die Verbindung nicht blockiert. Ganz auschalten ist aber auch nicht sinnvoll, dann ist der Server dauernd beschäftigt, neue Verbindungen aufzubauen, was natürlich auch wieder Zeit benötigt.&lt;br /&gt;
* Min und MaxSpareThreads sollten durch ThreadsPerChild Teilbarsein. Sonst rundet der Server.&lt;br /&gt;
* Den Speicherverbrauch eines Workerprozesses kann man angeblich effektiv mit der &amp;#039;&amp;#039;&amp;#039;ThreadStackSize&amp;#039;&amp;#039;&amp;#039; beeinflussen, auf geringe Kosten der Performance bezogen auf die Requestdauer.&amp;#039;&amp;#039; I reduced my setting down to 65536 bytes and was able to bring down my apache2 process usage from 50MB to just 10MB! And it works quite well with little to no effect on the speed of requests handled!&amp;#039;&amp;#039;&lt;br /&gt;
* Man kann sich auch bei knappem Speicher überlegen lieber weniger Server und MaxClients zu nehmen und dafür mehr ThreadsPerChild. Spart Speicher geht aber wieder zu lasten der Geschwindigkeit (vor allem bei Prozessoren mit mehrerern Kernen.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Apache_-_Konfiguration_und_Performance&amp;diff=1931</id>
		<title>Apache - Konfiguration und Performance</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Apache_-_Konfiguration_und_Performance&amp;diff=1931"/>
		<updated>2010-04-09T08:58:26Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeine Tipps zur Performance ==&lt;br /&gt;
=== Die Zusammenhänge ===&lt;br /&gt;
Es gibt das Prefork MPM und das Worker MPM. Der Hauptunterschied besteht darin daß der Worker MPM mehrere Threads bilden kann. Das ist unter Umständen gut wenn mehrere Prozessor-Kerne am Werk sind.&lt;br /&gt;
&lt;br /&gt;
Prefork bildet einen Thread und spaltet davon Kindprozesse ab. Das braucht weniger Speicher für die Threads. &lt;br /&gt;
&lt;br /&gt;
== Apache2 unter Worker MPM ==&lt;br /&gt;
Unter Worker MPM muß man aufpassen das die Einstellungen zum Speicherangebot des Servers passen. Bei kleinen Servern oder VServern  ist die Standardkonfiguration ein Killer, weil allein die Prozesse des Apache den ganzen Speicher brauchen und kein Platz mehr für andere Tätigkeiten (z.B. CGI-Skripte) bleiben.&lt;br /&gt;
&lt;br /&gt;
Standardkonfiguration Worker und Prefork:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# MaxClients: maximum number of server processes allowed to start&lt;br /&gt;
# MaxRequestsPerChild: maximum number of requests a server process serves&lt;br /&gt;
&amp;lt;IfModule mpm_prefork_module&amp;gt;&lt;br /&gt;
    StartServers         50&lt;br /&gt;
    MinSpareServers      10&lt;br /&gt;
    MaxSpareServers      50&lt;br /&gt;
    MaxClients          250&lt;br /&gt;
    MaxRequestsPerChild   0&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# worker MPM&lt;br /&gt;
# StartServers: initial number of server processes to start&lt;br /&gt;
# MaxClients: maximum number of simultaneous client connections&lt;br /&gt;
# MinSpareThreads: minimum number of worker threads which are kept spare&lt;br /&gt;
# MaxSpareThreads: maximum number of worker threads which are kept spare&lt;br /&gt;
# ThreadsPerChild: constant number of worker threads in each server process&lt;br /&gt;
# MaxRequestsPerChild: maximum number of requests a server process serves&lt;br /&gt;
&amp;lt;IfModule mpm_worker_module&amp;gt;&lt;br /&gt;
    StartServers          2&lt;br /&gt;
    MaxClients          150&lt;br /&gt;
    MinSpareThreads      25&lt;br /&gt;
    MaxSpareThreads      75&lt;br /&gt;
    ThreadsPerChild      25&lt;br /&gt;
    MaxRequestsPerChild   0&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für den Worker muß man also versuchen die Werte so einzustellen, daß nicht zuviel Speicher verschwendet wird, aber trotzdem die erwartete Last gut abgearbeitet wird und noch Reserven zur Verfügung stehen. Wenn die Werte zu hoch gesetzt sind riskiert man außerdem daß die threads gar nicht genutzt werden könnnen, weil die Prozessorleistung zu niedrig ist und der Speicherverbrauch zu hoch.&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Werte sind hierbei: &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MaxClients&amp;#039;&amp;#039;&amp;#039; - Dieser Wert gibt an, wieviel Clients sich maximal zur gleichen Zeit verbinden dürfen&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ThreadsPerChild&amp;#039;&amp;#039;&amp;#039; - Gibt an wieviel Threads in einem Serverprozess laufen. (Sollte nicht niedriger sein als MinSpareThreads)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MaxRequestsPerChild&amp;#039;&amp;#039;&amp;#039; - Wenn gesetzt wird ein Serverprozess nach der angegebenen Zahl beendet und wenn benötigt ein neuer gestartet. Gerade bei vielen Skripten wichtig, um zu verhindern daß ein Serverprozess zu lange auf ein Skript wartet und nicht anderswo genutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Tipps ===&lt;br /&gt;
* Die &amp;#039;&amp;#039;&amp;#039;KeepAliveTimeout&amp;#039;&amp;#039;&amp;#039; kann man u.U. ebenfalls etwas heruntersetzten (z.B. von 15 auf 10 oder sogar 5s). Dann muß der Browser zwar evtl. eine neue Verbindung aufbauen, dafür wird bei langsamen Verbindungen die Verbindung nicht blockiert. Ganz auschalten ist aber auch nicht sinnvoll, dann ist der Server dauernd beschäftigt, neue Verbindungen aufzubauen, was natürlich auch wieder Zeit benötigt.&lt;br /&gt;
* Min und MaxSpareThreads sollten durch ThreadsPerChild Teilbarsein. Sonst rundet der Server.&lt;br /&gt;
* Den Speicherverbrauch eines Workerprozesses kann man angeblich effektiv mit der &amp;#039;&amp;#039;&amp;#039;ThreadStackSize&amp;#039;&amp;#039;&amp;#039; beeinflussen, auf geringe Kosten der Performance bezogen auf die Requestdauer.&amp;#039;&amp;#039; I reduced my setting down to 65536 bytes and was able to bring down my apache2 process usage from 50MB to just 10MB! And it works quite well with little to no effect on the speed of requests handled!&amp;#039;&amp;#039;&lt;br /&gt;
* Maybe move to a single child process with 15 threads.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Apache2_und_CGI/FastCGI&amp;diff=18673</id>
		<title>Apache2 und CGI/FastCGI</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Apache2_und_CGI/FastCGI&amp;diff=18673"/>
		<updated>2010-04-09T08:27:41Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Links ==&lt;br /&gt;
http://blog.zakame.net/tips/apache2-worker-lowmem Apache auf Systemen mit wenig Speicher&lt;br /&gt;
&lt;br /&gt;
[[Apache - Konfiguration und Performance]]&lt;br /&gt;
&lt;br /&gt;
== Apache2 mit php5 und mod_fcgid auf Debian Lenny (Debian 5) ==&lt;br /&gt;
Quelle (en):http://www.howtoforge.com/how-to-set-up-apache2-with-mod_fcgid-and-php5-on-debian-lenny 19.2.2010&lt;br /&gt;
&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
&lt;br /&gt;
==== FastCGI ====&lt;br /&gt;
Wenn man PHP nicht als Modul von Apache laufen lassen will kann man es über das Common Gateway Interface ansprechen. FastCGI erzeugt im Gegensatz zu CGI nicht für jede Anfreage einen neuen Thread und ist dementsprechend genügsamer was die Performance betrifft.&lt;br /&gt;
&lt;br /&gt;
Das FastCGI Modul &amp;#039;&amp;#039;&amp;#039;mod_fcgid&amp;#039;&amp;#039;&amp;#039; ist eine Alternative zum älteren mod_fastcgi.&lt;br /&gt;
Durch den klassischen CGI - Ansatz können wir PHP-Skripte mit dem jeweiligen Besitzer und nicht nur mit dem Apache User auszuführen. Das erlaubt eine saubere Trennung von Virutellen Hosts. &lt;br /&gt;
&lt;br /&gt;
==== Beispiel Konfiguration ====&lt;br /&gt;
Im Beispiel werden zwei vhosts (www.example1.com und www.example2.com) konfiguriert die jeweils ein eigenes Web-Verzeichnis, eigene Benutzer und theoretisch auch eigene php.ini Konfigurationen beinhalten können.&lt;br /&gt;
Wir nehmen an das Web Rootvezeichnis liegt Debian üblich in /var/www/&lt;br /&gt;
&lt;br /&gt;
=== Apache2, PHP5 CGI Version und mod_fcgid installieren ===&lt;br /&gt;
Geht auf Debian einfach mit dem aptitude Tool:&lt;br /&gt;
 aptitude install apache2 apache2-suexec libapache2-mod-fcgid php5-cgi&lt;br /&gt;
&lt;br /&gt;
Falls der Apache schon mit aktiviertem php5 Modul installiert wurde müssen wir dieses abschalten:&lt;br /&gt;
&lt;br /&gt;
 a2dismod php5&lt;br /&gt;
&lt;br /&gt;
Folgende Module schalten wir ein:&lt;br /&gt;
&lt;br /&gt;
 a2enmod rewrite&lt;br /&gt;
 a2enmod suexec&lt;br /&gt;
 a2enmod include&lt;br /&gt;
 a2enmod fcgid&lt;br /&gt;
&lt;br /&gt;
Folgende PHP Einstellung sorgt für ein intelligenteres Handling der Skriptnamen und Pfade in PHP Skripten. Es funktioniert jedoch nicht auf allen Servern (z.B. nicht auf (OmniHttp oder Microsoft). Dort muß es abgeschalten werden.&lt;br /&gt;
&lt;br /&gt;
Wir editieren das Standard php.ini File z.B. mit vim (Pfad für Debian angegeben)&lt;br /&gt;
&lt;br /&gt;
 vim /etc/php5/cgi/php.ini&lt;br /&gt;
&lt;br /&gt;
Am Ende fügen wir die Zeile:&lt;br /&gt;
&lt;br /&gt;
 cgi.fix_pathinfo = 1 &lt;br /&gt;
&lt;br /&gt;
ein.&lt;br /&gt;
&lt;br /&gt;
Apache neustarten:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== VHOSTs einrichten ===&lt;br /&gt;
Wir richten 2 vhosts ein:&lt;br /&gt;
&lt;br /&gt;
* www.example1.com &lt;br /&gt;
* Benutzer: web1&lt;br /&gt;
* Gruppe: web1&lt;br /&gt;
* Document Root: /var/www/web1/web&lt;br /&gt;
&lt;br /&gt;
Analog dazu www.example2.com&lt;br /&gt;
&lt;br /&gt;
==== Benutzer und Gruppen anlegen ====&lt;br /&gt;
Für www.example1.com erzeugen wir einen Benutzer web1 und eine Gruppe web1. Analog dazu für www.example2.com:&lt;br /&gt;
&lt;br /&gt;
 groupadd web1&lt;br /&gt;
 groupadd web2&lt;br /&gt;
 useradd -s /bin/false -d /var/www/web1 -m -g web1 web1&lt;br /&gt;
 useradd -s /bin/false -d /var/www/web2 -m -g web2 web2&lt;br /&gt;
&lt;br /&gt;
==== Webverzeichnisse der vhosts anlegen ====&lt;br /&gt;
 mkdir -p /var/www/web1/web&lt;br /&gt;
 mkdir -p /var/www/web2/web&lt;br /&gt;
&lt;br /&gt;
==== Benutzerrechte anpassen ====&lt;br /&gt;
&lt;br /&gt;
 chown web1:web1 /var/www/web1/web&lt;br /&gt;
 chown web2:web2 /var/www/web2/web&lt;br /&gt;
&lt;br /&gt;
==== Zugriff auf PHP Konfigurieren ====&lt;br /&gt;
Auf PHP greift man über das Modul suexec zu.&lt;br /&gt;
&lt;br /&gt;
PHP liegt in&lt;br /&gt;
 /usr/lib/cgi-bin/php&lt;br /&gt;
also außerhalb des Web Verzeichnisses. suexec hat aber nur Zugriff auf das Webverzeichnis (DOC_ROOT):&lt;br /&gt;
&lt;br /&gt;
 /usr/lib/apache2/suexec -V&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe sieht ungefähr so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server1:~# /usr/lib/apache2/suexec -V&lt;br /&gt;
 -D AP_DOC_ROOT=&amp;quot;/var/www&amp;quot;&lt;br /&gt;
 -D AP_GID_MIN=100&lt;br /&gt;
 -D AP_HTTPD_USER=&amp;quot;www-data&amp;quot;&lt;br /&gt;
 -D AP_LOG_EXEC=&amp;quot;/var/log/apache2/suexec.log&amp;quot;&lt;br /&gt;
 -D AP_SAFE_PATH=&amp;quot;/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
 -D AP_UID_MIN=100&lt;br /&gt;
 -D AP_USERDIR_SUFFIX=&amp;quot;public_html&amp;quot;&lt;br /&gt;
server1:~#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies lösen wir mit einem sog. Wrapper-Skript,das für jeden VHOST erstellt wird. Das Skript leitet die Anfragen an PHP weiter. Es liegt innerhalb des Webverzeichnisses und bekommt Benutzer und Gruppe des zugehörigen vhosts zugewiesen. Zu beachten ist das das Skript für &amp;#039;&amp;#039;other&amp;#039;&amp;#039; nicht beschreibbar ist. Sonst verweigert suexec seinen Dienst aus Sicherheitsgründen.&lt;br /&gt;
Die Wrapper Skripte bekommen ein eigenes Verzeichnis, damit wir die Übersicht behalten: /var/www/php-fcgi-scripts&lt;br /&gt;
&lt;br /&gt;
So gehts:&lt;br /&gt;
&lt;br /&gt;
WrapperSkript für www.example1.com&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /var/www/php-fcgi-scripts/web1&lt;br /&gt;
 vim /var/www/php-fcgi-scripts/web1/php-fcgi-starter&lt;br /&gt;
 &lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
PHPRC=/etc/php5/cgi/&lt;br /&gt;
export PHPRC&lt;br /&gt;
&lt;br /&gt;
# max num of requests before fcgid process is stopped and new one is launched.&lt;br /&gt;
export PHP_FCGI_MAX_REQUESTS=5000&lt;br /&gt;
&lt;br /&gt;
# number of PHP children that will be launched&lt;br /&gt;
export PHP_FCGI_CHILDREN=8&lt;br /&gt;
exec /usr/lib/cgi-bin/php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Analog für www.example2.com. Hier muß nur web1 zu web2 verändert werden.&lt;br /&gt;
&lt;br /&gt;
Die php-fcgi-starter Skripte müssen ausführbar sein und der Gruppe und dem User der entsprechenden Website gehören:&lt;br /&gt;
&lt;br /&gt;
 chmod 755 /var/www/php-fcgi-scripts/web1/php-fcgi-starter&lt;br /&gt;
 chmod 755 /var/www/php-fcgi-scripts/web2/php-fcgi-starter&lt;br /&gt;
 chown -R web1:web1 /var/www/php-fcgi-scripts/web1&lt;br /&gt;
 chown -R web2:web2 /var/www/php-fcgi-scripts/web2&lt;br /&gt;
&lt;br /&gt;
=== Apache VirtualHosts anlegen ===&lt;br /&gt;
Im Apache Verzeichnis sites-available werden die VirtualHosts angelegt...&lt;br /&gt;
 vim /etc/apache2/sites-available/web1&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName www.example1.com&lt;br /&gt;
  ServerAlias example1.com&lt;br /&gt;
  ServerAdmin webmaster@example1.com&lt;br /&gt;
  DocumentRoot /var/www/web1/web/&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;IfModule mod_fcgid.c&amp;gt;&lt;br /&gt;
    SuexecUserGroup web1 web1&lt;br /&gt;
    PHP_Fix_Pathinfo_Enable 1&lt;br /&gt;
    &amp;lt;Directory /var/www/web1/web/&amp;gt;&lt;br /&gt;
      Options +ExecCGI&lt;br /&gt;
      AllowOverride All&lt;br /&gt;
      AddHandler fcgid-script .php&lt;br /&gt;
      FCGIWrapper /var/www/php-fcgi-scripts/web1/php-fcgi-starter .php&lt;br /&gt;
      Order allow,deny&lt;br /&gt;
      Allow from all&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
  &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  # ErrorLog /var/log/apache2/error.log&lt;br /&gt;
  # CustomLog /var/log/apache2/access.log combined&lt;br /&gt;
&lt;br /&gt;
  ServerSignature Off&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... und die neue Site aktiviert&lt;br /&gt;
 &lt;br /&gt;
 a2ensite web1&lt;br /&gt;
&lt;br /&gt;
Analog dazu für www.example2.com (Pfade und Name des Host anpassen)&lt;br /&gt;
&lt;br /&gt;
Server neu laden:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
Zum Test erzeugen wir eine kleine PHP Testdatei in www.example1.com&lt;br /&gt;
&lt;br /&gt;
 vim /var/www/web1/web/info.php&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und rufen sie im Browser auf. Eventuell muß man dazu die hosts Datei auf seinem Rechner so anpassen, das sie auf die richtige ServerIP zeigt (Suche nach hosts Datei)&lt;br /&gt;
&lt;br /&gt;
Wenn alles stimmt sollte eine Infoseite ausgegeben werden, und der Zeile Server API sollte der Wert CGI/FastCGI stehen.&lt;br /&gt;
&lt;br /&gt;
Wenn es nicht klappt lohnt sich meist ein Blick in die error.log und suexec.log Dateien des Apache (/var/log/apache2/ auf Debian) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Eine individuelle PHP Konfiguration für jeden Host ===&lt;br /&gt;
&lt;br /&gt;
Da jede Site ihr eigenes php-fcgi-starter Wrapper Skript hat, ist es möglich eigene php.ini Dateien zu konfigurieren&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 1 ====&lt;br /&gt;
Am Anfang bietet es sich an eine Kopie der Standard php.ini Datei zu nehmen und diese anzupassen:&lt;br /&gt;
&lt;br /&gt;
===== php.ini Kopieren und Rechte anpassen =====&lt;br /&gt;
&lt;br /&gt;
 cp /etc/php5/cgi/php.ini /var/www/web2/&lt;br /&gt;
 chown web2:web2 /var/www/web2/php.ini&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Wrapperskript anpassen damit die neue Konfiguration gelesen wird =====&lt;br /&gt;
&lt;br /&gt;
 vim /var/www/php-fcgi-scripts/web2/php-fcgi-starter&lt;br /&gt;
&lt;br /&gt;
Die Konstante PHPRC bekommt einen neuen Wert: &amp;#039;&amp;#039;/var/www/web2/&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
PHPRC=/var/www/web2/&lt;br /&gt;
export PHPRC&lt;br /&gt;
export PHP_FCGI_MAX_REQUESTS=5000&lt;br /&gt;
export PHP_FCGI_CHILDREN=8&lt;br /&gt;
exec /usr/lib/cgi-bin/php&lt;br /&gt;
&lt;br /&gt;
Apache neu laden:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
==== Beispiel 2 ====&lt;br /&gt;
Man kann auch einzelne Werte der geladenen php Konfiguration direkt im Wrapperskript überscheiben oder hinzufügen, indem man den -d Schalter nutzt.&lt;br /&gt;
&lt;br /&gt;
In diesem Beispiel deaktivieren wir die magic_quotes_gpc für die Site www.example2.com&lt;br /&gt;
&lt;br /&gt;
 vim /var/www/php-fcgi-scripts/web2/php-fcgi-starter&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
PHPRC=/etc/php5/cgi/&lt;br /&gt;
export PHPRC&lt;br /&gt;
export PHP_FCGI_MAX_REQUESTS=5000&lt;br /&gt;
export PHP_FCGI_CHILDREN=8&lt;br /&gt;
exec /usr/lib/cgi-bin/php -d magic_quotes_gpc=off&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neuladen des Apache:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/apache2 reload&lt;br /&gt;
&lt;br /&gt;
== Weiterführende Links ==&lt;br /&gt;
* http://www.heise.de/security/artikel/Grundsicherung-fuer-PHP-Software-270918.html&lt;br /&gt;
* php.ini Optionen Referenz: http://www.tu-chemnitz.de/docs/php/ini.core.html&lt;br /&gt;
*  mod_fcgid: http://fastcgi.coremail.cn/&lt;br /&gt;
* Apache: http://httpd.apache.org/&lt;br /&gt;
* PHP: http://www.php.net/&lt;br /&gt;
* Debian: http://www.debian.org/&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=Wt_gallery&amp;diff=18662</id>
		<title>Wt gallery</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Wt_gallery&amp;diff=18662"/>
		<updated>2010-03-31T11:35:10Z</updated>

		<summary type="html">&lt;p&gt;193.196.133.66: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemein ==&lt;br /&gt;
Arbeitet standardmäßig mit mehreren Template Files (s.u.), müßte aber auch funktionieren wenn alles in einer Datei steht.&lt;br /&gt;
&lt;br /&gt;
Basiert auf 3.3.1&lt;br /&gt;
&lt;br /&gt;
== Constants ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
plugin.wtgallery.main.path = fileadmin/bilder&lt;br /&gt;
plugin.wtgallery.list.rows = 5&lt;br /&gt;
plugin.wtgallery.list.columns = 4&lt;br /&gt;
plugin.wtgallery.list.limit = 80&lt;br /&gt;
plugin.wtgallery.category.rows = 3&lt;br /&gt;
plugin.wtgallery.category.columns = 3&lt;br /&gt;
plugin.wtgallery.category.previewpicture_order = newest&lt;br /&gt;
plugin.wtgallery.cooliris.title = BDP-Cooliris&lt;br /&gt;
plugin.wtgallery.single.pid_single = 82&lt;br /&gt;
plugin.wtgallery.single.width = 400&lt;br /&gt;
#plugin.wtgallery.single.height = 300&lt;br /&gt;
&lt;br /&gt;
plugin.wtgallery.list.width = 100c&lt;br /&gt;
plugin.wtgallery.list.height = 100c&lt;br /&gt;
plugin.wtgallery.category.width = 126c&lt;br /&gt;
plugin.wtgallery.category.height = 100c&lt;br /&gt;
plugin.wtgallery.template.single = fileadmin/templates/wtgallery/single.html&lt;br /&gt;
plugin.wtgallery.template.list = fileadmin/templates/wtgallery/list.html&lt;br /&gt;
plugin.wtgallery.template.category = fileadmin/templates/wtgallery/category.html&lt;br /&gt;
plugin.wtgallery.cooliris.url = http://www.mydomain.org/&lt;br /&gt;
plugin.wtgallery.cooliris.width = 400&lt;br /&gt;
plugin.wtgallery.cooliris.height = 300&lt;br /&gt;
plugin.wtgallery.cooliris.limit = 100&lt;br /&gt;
plugin.wtgallery.cooliris.window_width = 460&lt;br /&gt;
plugin.wtgallery.cooliris.window_height = 400&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
plugin.tx_wtgallery_pi1.single.image.imageLinkWrap.bodyTag = &amp;lt;body style=&amp;quot;background:#FFF;margin:0;padding:0;&amp;quot;&amp;gt;&lt;br /&gt;
plugin.tx_wtgallery_pi1._LOCAL_LANG.de.wtgallery_ll_title_category = Kategorie&lt;br /&gt;
plugin.tx_wtgallery_pi1._LOCAL_LANG.de.wtgallery_ll_startcategorylink = Zurück zur Übersicht&lt;br /&gt;
&lt;br /&gt;
== HTML-Template==&lt;br /&gt;
category.html&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wt_gallery HTML Template for category view&lt;br /&gt;
&lt;br /&gt;
--- Markers within loop ---&lt;br /&gt;
Imagetag (e.g. &amp;lt;img src=&amp;quot;typo3temp/pic.jpg&amp;quot;&amp;gt;):	###IMAGE###&lt;br /&gt;
Imagepath (e.g. typo3temp/pic.jpg):		###PICTURE###&lt;br /&gt;
Picture filename (e.g. pic.jpg):		###BASENAME###&lt;br /&gt;
Filename without extension (e.g. pic):		###FILENAME###&lt;br /&gt;
Extension(e.g.jpg):				###EXTENSION###&lt;br /&gt;
Relative path to this folder (e.g. fileadmin/folder/):###DIRNAME###&lt;br /&gt;
Timestamp of current picture:			###TSTAMP###&lt;br /&gt;
Name of folder:					###CURRENTFOLDER###&lt;br /&gt;
Text from txt files to any folder:		###TEXT###&lt;br /&gt;
Dynamic class (firstofrow, centerofrow, lastofrow):	###CLASS###&lt;br /&gt;
Subpart link to list view:			&amp;lt;!-- ###CATEGORYLINK### --&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
--- Markers out of the loop ---&lt;br /&gt;
Insert category browser				###PAGEBROWSER###&lt;br /&gt;
    &lt;br /&gt;
GLOBAL MARKERS:&lt;br /&gt;
Displaying any value from pi1/locallang.xml:			###WTGALLERY_LL_YOURFIELD### (Could be filled via locallang.xml or typoscript - see manual for details)&lt;br /&gt;
Displaying any value from typoscript:					###WTGALLERY_TS_YOURFIELD### (Could be filled via typoscript - see manual for details)&lt;br /&gt;
	&lt;br /&gt;
		&lt;br /&gt;
&amp;lt;!-- ###WTGALLERY_CATEGORY### begin --&amp;gt; &lt;br /&gt;
&amp;lt;div class=&amp;quot;wtgallery_category_area&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!-- ###CONTENT### --&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ###ITEM### --&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;wtgallery_categories ###CLASS###&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;div class=&amp;quot;wtgallery_category_pic&amp;quot;&amp;gt;###IMAGE###&amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;!-- ###CATEGORYLINK### --&amp;gt;###TEXT###&amp;lt;!-- ###CATEGORYLINK### --&amp;gt;&lt;br /&gt;
         &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ###ITEM### --&amp;gt;&lt;br /&gt;
   &amp;lt;!-- ###CONTENT### --&amp;gt;&lt;br /&gt;
   &amp;lt;div class=&amp;quot;clear&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
	###PAGEBROWSER###&lt;br /&gt;
   &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###WTGALLERY_CATEGORY### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wt_directory HTML Template for category_browser view&lt;br /&gt;
&lt;br /&gt;
	Current page - from X to...:							###CURRENT_MIN###&lt;br /&gt;
    Current page - to X pictures:							###CURRENT_MAX###&lt;br /&gt;
    Overall pictures on all pages: 							###OVERALL###&lt;br /&gt;
    Insert HMENU (define via TS):							###PAGELINKS###&lt;br /&gt;
    Insert link to start category (define via TS):			###STARTCATEGORYLINK###&lt;br /&gt;
    &lt;br /&gt;
	GLOBAL MARKERS:&lt;br /&gt;
	Displaying any value from pi1/locallang.xml:			###WTGALLERY_LL_YOURFIELD### (Could be filled via locallang.xml or typoscript - see manual for details)&lt;br /&gt;
	Displaying any value from typoscript:					###WTGALLERY_TS_YOURFIELD### (Could be filled via typoscript - see manual for details)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ###WTGALLERY_CATEGORY_PAGEBROWSER### begin --&amp;gt; &lt;br /&gt;
	&amp;lt;div class=&amp;quot;wtgallery_category_pagebrowser_area&amp;quot;&amp;gt;   &lt;br /&gt;
        &amp;lt;p&amp;gt;###CURRENT_MIN### ###WTGALLERY_LL_PAGEBROWSER_UPTO### ###CURRENT_MAX### ###WTGALLERY_LL_PAGEBROWSER_WITHIN### ###OVERALL###&amp;lt;/p&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;###PAGELINKS###&amp;lt;/p&amp;gt;&lt;br /&gt;
        ###STARTCATEGORYLINK###&lt;br /&gt;
	&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###WTGALLERY_CATEGORY_PAGEBROWSER### end --&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cooliris.html&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wt_gallery HTML Template for cooliris rss&lt;br /&gt;
&lt;br /&gt;
	--- Markers within loop ---&lt;br /&gt;
	Picture resource (like typo3temp/picture.jpg)			###IMAGE###&lt;br /&gt;
	Picture filename (e.g. pic.jpg):						###BASENAME###&lt;br /&gt;
    Filename without extension (e.g. pic):					###FILENAME###&lt;br /&gt;
    Extension (e.g. jpg):									###EXTENSION###&lt;br /&gt;
    Relative path to this folder (e.g. fileadmin/folder/):	###DIRNAME###&lt;br /&gt;
    Timestamp of current picture:							###TSTAMP###&lt;br /&gt;
	Name of folder:											###CURRENTFOLDER###&lt;br /&gt;
    &lt;br /&gt;
    --- Markers out of loop ---&lt;br /&gt;
    ###TITLE###&lt;br /&gt;
    ###URL###&lt;br /&gt;
    ###DESCRIPTION###&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
	GLOBAL MARKERS:&lt;br /&gt;
	Displaying any value from pi1/locallang.xml:			###WTGALLERY_LL_YOURFIELD### (Could be filled via locallang.xml or typoscript - see manual for details)&lt;br /&gt;
	Displaying any value from typoscript:					###WTGALLERY_TS_YOURFIELD### (Could be filled via typoscript - see manual for details)&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
&amp;lt;!-- ###WTGALLERY_COOLIRIS_RSS### begin --&amp;gt; &lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;rss version=&amp;quot;2.0&amp;quot; xmlns:media=&amp;quot;http://search.yahoo.com/mrss&amp;quot; xmlns:atom=&amp;quot;http://www.w3.org/2005/Atom&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;channel&amp;gt;&lt;br /&gt;
                &amp;lt;title&amp;gt;wt_gallery&amp;lt;/title&amp;gt;&lt;br /&gt;
                &amp;lt;link&amp;gt;http://testumgebung.einpraegsam.net/&amp;lt;/link&amp;gt;&lt;br /&gt;
                &amp;lt;description&amp;gt;Description&amp;lt;/description&amp;gt;&lt;br /&gt;
                &lt;br /&gt;
                &amp;lt;!-- ###CONTENT### --&amp;gt;&amp;lt;!-- ###ITEM### --&amp;gt;&lt;br /&gt;
                    &amp;lt;item&amp;gt;&lt;br /&gt;
						&amp;lt;title&amp;gt;###FILENAME###&amp;lt;/title&amp;gt;&lt;br /&gt;
            			&amp;lt;link&amp;gt;###IMAGE###&amp;lt;/link&amp;gt;&lt;br /&gt;
                        &amp;lt;guid&amp;gt;###FILENAME###&amp;lt;/guid&amp;gt;&lt;br /&gt;
                        &amp;lt;media:thumbnail url=&amp;quot;###IMAGE###&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;media:content url=&amp;quot;###IMAGE###&amp;quot; type=&amp;quot;image/jpeg&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;!-- ###ITEM### --&amp;gt;&amp;lt;!-- ###CONTENT### --&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/channel&amp;gt;&lt;br /&gt;
    &amp;lt;/rss&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###WTGALLERY_COOLIRIS_RSS### end --&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
list.html&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wt_gallery HTML Template for list view&lt;br /&gt;
&lt;br /&gt;
	--- Markers within loop ---&lt;br /&gt;
	Imagetag (e.g. &amp;lt;img src=&amp;quot;typo3temp/pic.jpg&amp;quot;&amp;gt;):			###IMAGE###&lt;br /&gt;
	Imagepath (e.g. typo3temp/pic.jpg):						###PICTURE###&lt;br /&gt;
	Picture filename (e.g. pic.jpg):						###BASENAME###&lt;br /&gt;
    Filename without extension (e.g. pic):					###FILENAME###&lt;br /&gt;
    Extension (e.g. jpg):									###EXTENSION###&lt;br /&gt;
    Relative path to this folder (e.g. fileadmin/folder/):	###DIRNAME###&lt;br /&gt;
    Timestamp of current picture:							###TSTAMP###&lt;br /&gt;
	Name of folder:											###CURRENTFOLDER###&lt;br /&gt;
    Image text (from EXIF or txt file):						###TEXT###&lt;br /&gt;
    Dynamic class (firstofrow, centerofrow, lastofrow):		###CLASS###&lt;br /&gt;
    Subpart for Single view link:							&amp;lt;!-- ###SINGLELINK### --&amp;gt;Image&amp;lt;!-- ###SINGLELINK### --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    --- Markers out of the loop ---&lt;br /&gt;
    Inserts pagebrowser to Marker							###PAGEBROWSER###&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
	GLOBAL MARKERS:&lt;br /&gt;
	Displaying any value from pi1/locallang.xml:			###WTGALLERY_LL_YOURFIELD### (Could be filled via locallang.xml or typoscript - see manual for details)&lt;br /&gt;
	Displaying any value from typoscript:					###WTGALLERY_TS_YOURFIELD### (Could be filled via typoscript - see manual for details)&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;!-- ###WTGALLERY_LIST### begin --&amp;gt; &lt;br /&gt;
    &amp;lt;div class=&amp;quot;wtgallery_list_area&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!-- ###CONTENT### --&amp;gt;&amp;lt;!-- ###ITEM### --&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;wtgallery_list ###CLASS###&amp;quot;&amp;gt;&lt;br /&gt;
                ###IMAGE###&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;!-- ###ITEM### --&amp;gt;&amp;lt;!-- ###CONTENT### --&amp;gt;&lt;br /&gt;
        &amp;lt;div class=&amp;quot;clear&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        ###PAGEBROWSER###&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###WTGALLERY_LIST### end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
wt_gallery HTML Template for pagebrowser in listview&lt;br /&gt;
&lt;br /&gt;
	Current page - from X to...:						###CURRENT_MIN###&lt;br /&gt;
    Current page - to X pictures:						###CURRENT_MAX###&lt;br /&gt;
    Overall pictures on all pages: 						###OVERALL###&lt;br /&gt;
    Insert HMENU:										###PAGELINKS###&lt;br /&gt;
&lt;br /&gt;
	GLOBAL MARKERS:&lt;br /&gt;
	Displaying any value from pi1/locallang.xml:		###WTGALLERY_LL_YOURFIELD### (Could be filled via locallang.xml or typoscript - see manual for details)&lt;br /&gt;
	Displaying any value from typoscript:				###WTGALLERY_TS_YOURFIELD### (Could be filled via typoscript - see manual for details)&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;!-- ###WTGALLERY_LIST_PAGEBROWSER### begin --&amp;gt; &lt;br /&gt;
    &amp;lt;div class=&amp;quot;wtgallery_list_pagebrowser_area&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;###CURRENT_MIN### ###WTGALLERY_LL_PAGEBROWSER_UPTO### ###CURRENT_MAX### ###WTGALLERY_LL_PAGEBROWSER_WITHIN### ###OVERALL###&amp;lt;/p&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;###PAGELINKS###&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###WTGALLERY_LIST_PAGEBROWSER### end --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
single.html&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wt_directory HTML Template for single view&lt;br /&gt;
&lt;br /&gt;
	Imagetag (e.g. &amp;lt;img src=&amp;quot;typo3temp/pic.jpg&amp;quot;&amp;gt;):		###IMAGE###&lt;br /&gt;
    Image text (from EXIF or txt file):					###TEXT###&lt;br /&gt;
    Picture (e.g. fileadmin/pics/pic.jpg):				###PICTURE###&lt;br /&gt;
    Filename (e.g. pic):								###FILENAME###&lt;br /&gt;
    Dirname (e.g. fileadmin/pics):						###DIRNAME###&lt;br /&gt;
    Basename (e.g. pic.jpg):							###BASENAME###&lt;br /&gt;
    Extension (e.g. jpg):								###EXTENSION###&lt;br /&gt;
    Timestamp of changedate:							###TSTAMP###&lt;br /&gt;
    Insert link to listview (define via TS):			###LISTVIEWLINK###&lt;br /&gt;
    Subpart for next link:								&amp;lt;!-- ###NEXT### --&amp;gt;Next&amp;lt;!-- ###NEXT### --&amp;gt;&lt;br /&gt;
    Subpart for previous link:							&amp;lt;!-- ###PREVIOUS### --&amp;gt;Previous&amp;lt;!-- ###PREVIOUS### --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
	GLOBAL MARKERS:&lt;br /&gt;
	Displaying any value from pi1/locallang.xml:		###WTGALLERY_LL_YOURFIELD### (Could be filled via locallang.xml or typoscript - see manual for details)&lt;br /&gt;
	Displaying any value from typoscript:				###WTGALLERY_TS_YOURFIELD### (Could be filled via typoscript - see manual for details)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ###WTGALLERY_SINGLE### begin --&amp;gt;&lt;br /&gt;
	&amp;lt;div class=&amp;quot;wtgallery wtgallery_single wt_gallery_single_###FILENAME###&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;!--&amp;lt;h2 class=&amp;quot;wtgallery_single&amp;quot;&amp;gt;###WTGALLERY_LL_TITLE_SINGLE###&amp;lt;/h2&amp;gt;--&amp;gt;&lt;br /&gt;
        ###IMAGE###&lt;br /&gt;
        &amp;lt;div class=&amp;quot;wtgallery_single_browser&amp;quot;&amp;gt;&lt;br /&gt;
        	&amp;lt;div class=&amp;quot;wtgallery_single_browser_previous&amp;quot;&amp;gt;&lt;br /&gt;
            	&amp;lt;!-- ###PREVIOUS### --&amp;gt;###WTGALLERY_LL_PREVIOUS###&amp;lt;!-- ###PREVIOUS### --&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;wtgallery_single_browser_next&amp;quot;&amp;gt;&lt;br /&gt;
            	&amp;lt;!-- ###NEXT### --&amp;gt;###WTGALLERY_LL_NEXT###&amp;lt;!-- ###NEXT### --&amp;gt;&lt;br /&gt;
            &amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
        ###TEXT###&lt;br /&gt;
        ###LISTVIEWLINK###&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ###WTGALLERY_SINGLE### end --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
Zusätzliches CSS für wt_gallery (rest kommt aus der Extension&lt;br /&gt;
wt_gallery.css&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*gallery*/&lt;br /&gt;
div.tx-wtgallery-pi1 {&lt;br /&gt;
	padding: 0px;&lt;br /&gt;
	background-color: #FFF;&lt;br /&gt;
margin: 0 0 1em 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.tx-wtgallery-pi1 ul{&lt;br /&gt;
padding: 0 0 0 0px !important;&lt;br /&gt;
margin: 0;&lt;br /&gt;
}&lt;br /&gt;
div.tx-wtgallery-pi1 li{&lt;br /&gt;
display: inline;&lt;br /&gt;
padding-right:0.5em;&lt;br /&gt;
margin: 0;&lt;br /&gt;
}&lt;br /&gt;
div.tx-wtgallery-pi1 p{&lt;br /&gt;
margin:0;&lt;br /&gt;
padding: 0 0 0 0px;}&lt;br /&gt;
&lt;br /&gt;
div.tx-wtgallery-pi1 a{&lt;br /&gt;
margin: 0;&lt;br /&gt;
padding: 0;&lt;br /&gt;
}&lt;br /&gt;
/*categories*/&lt;br /&gt;
div.wtgallery_categories{&lt;br /&gt;
background: #cae5b7;&lt;br /&gt;
border: 1px solid #6fa24a;&lt;br /&gt;
text-align:center;&lt;br /&gt;
margin: 0 5px 10px 5px;&lt;br /&gt;
padding: 0;&lt;br /&gt;
width: 150px;&lt;br /&gt;
height: 155px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.wtgallery_category_pic{&lt;br /&gt;
padding:8px 0 2px 0;&lt;br /&gt;
}&lt;br /&gt;
div.wtgallery_category_pic img{&lt;br /&gt;
border: 1px solid #6fa24a !important;&lt;br /&gt;
}&lt;br /&gt;
div.wtgallery_category_folder,&lt;br /&gt;
div.wt_gallery_category_inner_text{&lt;br /&gt;
font-size: 11px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.wt_gallery_category_inner_text{&lt;br /&gt;
margin: 0 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*list*/&lt;br /&gt;
div.wtgallery_list {&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
	margin: 7px;&lt;br /&gt;
	background-color: #FFF;&lt;br /&gt;
}&lt;br /&gt;
div.wtgallery_list_area{&lt;br /&gt;
/*background: pink;*/&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.wtgallery_list_area .list_row{&lt;br /&gt;
padding-left:9px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.wtgallery_list a img {&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
/*	filter: alpha(opacity=66);&lt;br /&gt;
	-moz-opacity: 0.66;&lt;br /&gt;
	opacity: 0.66;*/&lt;br /&gt;
	border: 1px solid #6fa24a !important;&lt;br /&gt;
}&lt;br /&gt;
div.wtgallery_list_current a img {&lt;br /&gt;
	border: 1px solid #6fa24a !important;&lt;br /&gt;
}&lt;br /&gt;
div.wtgallery_list a:hover img {&lt;br /&gt;
/*	filter: alpha(opacity=100);&lt;br /&gt;
	-moz-opacity: 1.00;&lt;br /&gt;
	opacity: 1.00;*/&lt;br /&gt;
        background: #cae5b7;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*single*/&lt;br /&gt;
div.wt_gallery_single_inner_pic {&lt;br /&gt;
	margin: 10px;&lt;br /&gt;
	padding: 1px;&lt;br /&gt;
}&lt;br /&gt;
div.wt_gallery_single_inner_pic a img {&lt;br /&gt;
	border: 1px solid #6fa24a !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.wtgallery_single{&lt;br /&gt;
width: 496px;&lt;br /&gt;
margin: 0 0 0 12px;&lt;br /&gt;
}&lt;br /&gt;
div.wtgallery_single img{&lt;br /&gt;
padding: 1px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.wt_gallery_single_inner_title {&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
	margin-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
div.wt_gallery_single_inner_comments {&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
div.wtgallery_single_browser{&lt;br /&gt;
text-align: center;&lt;br /&gt;
margin: auto;&lt;br /&gt;
}&lt;br /&gt;
div.wtgallery_single_browser_previous{&lt;br /&gt;
display: inline;&lt;br /&gt;
margin: 0 0.5em;&lt;br /&gt;
}&lt;br /&gt;
div.wtgallery_single_browser_next{&lt;br /&gt;
display: inline;&lt;br /&gt;
margin: 0 0.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Singleansicht mit Perfect Light Box ==&lt;br /&gt;
Folgender Schnipsel eignet sich um eine Listenseite mit Imagelightbox anzuschauen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# WT Gallery PerfectLightbox für Listenansicht&lt;br /&gt;
plugin.tx_wtgallery_pi1 {&lt;br /&gt;
  list {&lt;br /&gt;
    image = IMAGE&lt;br /&gt;
    image {&lt;br /&gt;
      imageLinkWrap.typolink {&lt;br /&gt;
        parameter.cObject = IMG_RESOURCE&lt;br /&gt;
        parameter.cObject.file.import.field = picture&lt;br /&gt;
        parameter.cObject.file.maxW = 600&lt;br /&gt;
        parameter.cObject.file.maxH = 600&lt;br /&gt;
        ATagParams = rel=&amp;quot;lightbox[galerie]&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Natürlich muß die Lightbox installiert sein für das Beispiel hier wurde perfectlightbox benutzt.&lt;/div&gt;</summary>
		<author><name>193.196.133.66</name></author>
	</entry>
</feed>