<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://de.contaowiki.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://de.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marc</id>
		<title>Contao Community Documentation - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://de.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marc"/>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Spezial:Beitr%C3%A4ge/Marc"/>
		<updated>2026-04-30T13:58:15Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>https://de.contaowiki.org/Datei:Contao_Fanpage_Web-small.png</id>
		<title>Datei:Contao Fanpage Web-small.png</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Datei:Contao_Fanpage_Web-small.png"/>
				<updated>2011-01-30T21:12:10Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Installation</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Installation"/>
				<updated>2010-10-16T22:33:40Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: &amp;lt;br /&amp;gt; zwischen zwei Anmerkungen entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
[[Category:Installation und Updates]]&lt;br /&gt;
&lt;br /&gt;
=Installation von Contao=&lt;br /&gt;
==Kurzanleitung für die Installation bei einem Contao-fähigen Webhoster==&lt;br /&gt;
&lt;br /&gt;
# Download des Contao-Cores auf www.contao.org&lt;br /&gt;
# Entpacken auf dem Heimrechner&lt;br /&gt;
# Hochladen der Dateien mittles FTP auf Ihren Server&lt;br /&gt;
# Hochladen des [[Systemdiagnosetool]]s ins Verzeichnis der Contao-Installation (gewöhnlicherweise das Root-Verzeichnis Ihrer Webadresse)&lt;br /&gt;
# Aufrufen der Diagnosedatei in der Adresszeile Ihres Browsers und eventuelle Fehlermeldungen beseitigen&lt;br /&gt;
# Aufrufen der Installationsdatei: www.IhreDomain.com/contao/install.php (ersetzen Sie &amp;quot;www.IhreDomain.com&amp;quot; mit Ihrer tatsächlichen Webadresse; in diesem Fall ist Contao im Rootverzeichnis Ihres Webservers installiert; der Zugang zum BackEnd (BE) liegt im Unterverzeichnis &amp;quot;contao/&amp;quot;)&lt;br /&gt;
# Das Installationsskript führt Sie durch die abschließenden Schritte (die erforderlichen Daten zur Datenbank erhalten Sie von Ihrem Webhoster)&lt;br /&gt;
# Nach erfolgreicher Installation können Sie sich im BackEnd einloggen (&amp;quot;www.IhreDomain.com/contao/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==Detaillierte Anleitung für die Installation bei einem kompatiblen Webhoster==&lt;br /&gt;
&lt;br /&gt;
===Download von Contao und entpacken auf dem Heimrechner===&lt;br /&gt;
&lt;br /&gt;
Auf www.contao.org begibt man sich auf den Bereich [http://www.contao.org/herunterladen.html Herunterladen] und wählt die aktuellste Version von Contao zum Download und speichert diese Datei auf dem eigenen Rechner.&lt;br /&gt;
{{Anmerkung| Contao wird in zwei unterschiedlichen Archivformaten angeboten. pkzip (Zip-Archiv) und tar.gz (gzipped Tarball). Sollten man einen Windows PC verwenden, sollte die pkzip Version verwendet werden. }}&lt;br /&gt;
&lt;br /&gt;
Nachdem die Datei heruntergeladen wurde, entpackt man sie mit dem Packprogramm seiner Wahl wie z.B. [http://www.7-zip.org/ 7-zip], welches nahezu alle gängigen Archivformate beherrscht.&lt;br /&gt;
&lt;br /&gt;
===FTP-Programm einrichten===&lt;br /&gt;
Um Contao auf die richtige Stelle ihres Webspace zu kopieren, müssen die FTP-Zugangsdaten in ein FTP-Programm eintragen werden. &lt;br /&gt;
Bei Eingabe der richtigen Daten wird sich das FTP-Programm direkt in das Verzeichnis, in welchem Contao installiert werden soll, öffnen. Jedes FTP-Programm sieht anders aus, deshalb hier nur ein Beispiel. In allen Programmen sind aber immer die gleichen Angaben zu machen.&lt;br /&gt;
{{Achtung|Bei einigen FTP-Programmen ist standardmäßig die Übertragung von versteckten Dateien (wie .htaccess) abgeschaltet. Bei Contao ist es '''sehr wichtig''', diese Dateien mit zu übertragen. Sie gewährleisten die Sicherheit gegen ungewolltes Auslesen von Daten.&lt;br /&gt;
Häufig ist es möglich Parameter für den LIST-Befehl anzugeben, dann bitte '''-la''' angeben. Hierzu sollte die Doku des verwendeten FTP-Programms weiter helfen.}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|rowspan=&amp;quot;6&amp;quot; | [[Datei:1u1_ftp2.jpg|FTP-Zugangsdaten eintragen]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Protokoll:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Es soll eine FTP-Verbindung aufgebaut werden.&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Server:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Hier wird einfach die Hauptdomain eingetragen,&amp;lt;br /&amp;gt;welche automatisch auf die richtige IP aufgelöst wird.&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Port:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Hier trägt man meist den Standard-Port einer&amp;lt;br /&amp;gt;FTP-Verbindung, den Port 21 ein.&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Benutzername:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Der Benutzername wurde vom Provider mitgeteilt.&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Passwort:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Das FTP-Passwort wurde vom Provider mitgeteilt.&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Anfangsverzeichnis:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Hier muss das Basisverzeichnis für die Installation&amp;lt;br /&amp;gt;angegeben werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Wenn das FTP-Programm mit diesen Parametern gestartet wird, sollte sich auf dem Server ein leeres Verzeichnis auftun.&lt;br /&gt;
&lt;br /&gt;
===Upload Contao===&lt;br /&gt;
In dem zuvor heruntergeladenen und entpackten Archiv ist als einziger Eintrag ein Verzeichnis mit der Versionskennung enthalten. Dieses ist das Basisverzeichnis, aus dem der Inhalt auf den Webserver geladen werden soll.&lt;br /&gt;
&lt;br /&gt;
[[Datei:1u1_zip1.jpg|Contao ZIP-Archiv]]&lt;br /&gt;
&lt;br /&gt;
'''Das ganze Paket (ab Basisverzeichnis) ladet man jetzt per FTP auf den Webspace hoch.'''&lt;br /&gt;
Wie genau dies geht, entnehme man der Bedienungsanleitung des verwendeten FTP Programmes.&lt;br /&gt;
&lt;br /&gt;
===Aufruf des Installtools===&lt;br /&gt;
&lt;br /&gt;
Den Installer ruft man einfach mit '''&amp;lt;nowiki&amp;gt;http://contao.meinedomain.de/contao/install.php&amp;lt;/nowiki&amp;gt;''' auf (bei älteren Paketen, sprich vor Version 2.9, natürlich mit dem Pfad typolight anstatt contao).&lt;br /&gt;
&lt;br /&gt;
Das Installtool verlangt als allererstes das Contao Installationspasswort. Dies ist standardmässig das kleingeschriebe Wort &amp;quot;contao&amp;quot; (bei Versionen kleiner 2.9 &amp;quot;typolight&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Nach Eingabe desselbigen wird man aufgefordert das Installationspasswort zu ändern.&lt;br /&gt;
{{Anmerkung|Das Installationspasswort muss mindestens acht Zeichen lang sein und sollte eine Kombination von gross und klein geschriebenen Buchstaben, Zahlen und Sonderzeichen sein. Dieses Passwort sollte man an einem sicheren Ort verwahren, da es jedesmal benötigt wird, wenn ein Update von Contao auf der Webseite vorgenommen wird.}}&lt;br /&gt;
&lt;br /&gt;
Nachdem das Installationspasswort geändert wurde, erfolgt nun die Eingabe eines Verschlüsselungskeys.&lt;br /&gt;
Dieser wird von Contao dazu verwendet, Datensätze bei Bedarf verschlüsselt in der Datenbank abzulegen. Bislang wird diese Funktionalität jedoch nur von wenigen Erweiterungen verwendet.&lt;br /&gt;
{{Anmerkung|Diese Eingabe ist nur notwendig, wenn ein [[Webseitentemplate]] importiert werden soll. Sollte dies nicht gewünscht sein, so lässt man das Feld leer und Contao erzeugt selbständig einen Key.}}{{Achtung|Den hierbei erzeugten Key sollte man sich auf jeden Fall, zusätzlich zum Installpasswort, notieren und sicher verwahren. Sollte er einmal verloren gehen, gibt es keine Möglichkeit mehr die verschlüsselten Daten zu entschlüsseln.}}&lt;br /&gt;
&lt;br /&gt;
Nach Eingabe des Verschlüsselungskeys ist die Konfiguration der Datenbank vorzunehmen. Die zu verwendende Datenbank sollte auf jeden Fall eine MySQL Datenbank in der Version 5 sein.&lt;br /&gt;
{|&lt;br /&gt;
|[[Datei:1u1_install1.jpg|Datenbankconnection]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | &amp;lt;br /&amp;gt;Hier werden alle Daten eingetragen, die man von seinem Provider erhalten hat. Wenn die eingegebenen Daten korrekt sind, wird nach dem Speichern die Meldung &amp;quot;Datenbankverbindung ok.&amp;quot; ausgegeben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Nachdem die Zugangsdaten der Datenbankverbindung gespeichert wurden, erkennt das Installtool, dass die Datenbank nicht aktuell ist. Hier genügt es am Ende der Seite den Aktualisierungs-Button zu drücken und die Datenbank wird auf den aktuellen Stand gebracht.&lt;br /&gt;
&lt;br /&gt;
Nun kann man, wenn man will, ein Webseitentemplate importieren. Von Haus aus liefert Contao das von der [http://demo.contao.org Demonstrationswebseite] bekannte Webseitentemplate &amp;quot;Music Academy&amp;quot; mit. Diese sollten Anfänger importieren, da es alle Funktionen des Cores demonstriert. Sollte kein Import gewünscht sein, so lässt man das Auswahlmenü leer.&lt;br /&gt;
&lt;br /&gt;
Abschliessend muss ein Administrator angelegt werden. Hier gebe man den gewünschten Benutzernamen und das Passwort ein. Das Passwort sollte wie das Installpasswort eine Kombination unterschiedlichster Zeichen sein und muss ebenfalls mindestens acht Zeichen lang sein. (Beim Import des Webseitentemplates &amp;quot;Music Academy&amp;quot; wird automatisch ein Administrator mit angelegt.)&lt;br /&gt;
&lt;br /&gt;
Nachdem der Administrator angelegt wurde, erscheint unten rechts ein Link &amp;quot;zum Backend&amp;quot;, welcher ins Backend von Contao weiterleitet.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Gratulation, die Installation ist abgeschlossen.'''&lt;br /&gt;
&lt;br /&gt;
=Webhoster=&lt;br /&gt;
==Liste kompatibler Webhoster==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hetzner.de (ab dem entsprechenden &amp;quot;Tarif inkl. MySQL-Datenbank&amp;quot; voll kompatibel)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|+ &amp;lt;big&amp;gt;'''Diese Informationen basieren ausschließlich auf Erfahrungen von Nutzern. Diese Erfahrungen stimmen teilweise nicht für alle Webpakete eines Anbieters! Manchmal ändern Anbieter auch die technischen Einstellungen, so dass sich neue Umstände ergeben. Verlasst euch niemals nur darauf, sondern führt wenn möglich mindestens eine Diagnose, am besten aber eine Testinstallation auf einem Test-Webspace (beim Anbieter nachfragen) durch.'''&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Webhoster&lt;br /&gt;
!Tarif&lt;br /&gt;
!SMH notwendig&lt;br /&gt;
!.htaccess notwendig&lt;br /&gt;
!php.ini notwendig&lt;br /&gt;
!CHMOD notwendig&lt;br /&gt;
!ER möglich&lt;br /&gt;
!LU möglich&lt;br /&gt;
!Sonstige Anmerkungen&lt;br /&gt;
!Information von&lt;br /&gt;
|-&lt;br /&gt;
|1&amp;amp;1 Internet || ab 1&amp;amp;1 Homepage Perfect || nein || {{td_red |PHP 5}} || nein || nein || ja || ja || [[1 und 1 Internet|detaillierte Installationsanleitung]]  || do_while&lt;br /&gt;
|-&lt;br /&gt;
| 1Blu || Homepage Unlimited, Homepage Professional || nein || nein || nein || nein || ja || ja || PHP muss mittels einer im Verzeichnis abzulegenden Konfigurationsdatei auf Version 5 umgestellt werden. Problemlos und in den 1Blu-FAQ gut erklärt || LousyWeather&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;|&lt;br /&gt;
| Alfahosting.de || Multipaket, Profipaket, Businesspaket || nein || nein || nein || nein || ja || ja || one-click-Installation von Contao. || marc und psren&lt;br /&gt;
|-&lt;br /&gt;
| Arcor || 700 MB Webspace || {{td_yellow |unbekannt}} || nein || nein || nein || {{td_red | SOAP}} || ja || Läuft sehr langsam, Premium-Pakete mit weniger Kunden pro Server gibt es nicht. Safe_Mode ist aktiviert, die Seite funktioniert trotzdem, nur eben sehr langsam. || Stranger&lt;br /&gt;
|-&lt;br /&gt;
| bytecamp.net || bytecamp arbeitet mit einem einzigen Tarifmodell || nein || {{td_red |PHP 5}} || nein || nein || ja || {{td_yellow|unbekannt}} || PHP 5 Aktivierung in .htaccess: &amp;lt;pre&amp;gt;AddType application/x-httpd-php5 .php&amp;lt;/pre&amp;gt; Vereinfache Installation und PHP5 vorkonfiguriert durch eigenen Installer. [http://www.bytecamp.net/de/hosting/details/installer.html 3 Schritte bequem per Webbrowser. ]|| Franziska &amp;amp; Frank&lt;br /&gt;
|-&lt;br /&gt;
|BPlaced.net (Freehoster, in den Userseiten werbefrei) || Free || nein || nein || nein || nein || {{td_red |nein}} | {{td_red |nein}} || &lt;br /&gt;
Laut User [http://www.contao-community.de/showthread.php?7436-PHP-Version-5.3.2&amp;amp;highlight=bplaced tommy] gibt es inzwischen Ärger mit diesem Freehoster.&lt;br /&gt;
|| thomask&lt;br /&gt;
|-&lt;br /&gt;
|CanHost || CAN-NUKE und andere || nein || nein || {{td_red |ja}} || nein || ja || ja || (hängt stark vom gebuchten Paket ab, einige Änderungen sind im IP-Conf möglich, sonstige sind häufig per Mail an Support machbar)&lt;br /&gt;
Kein Backup von Webspace und Datenbanken im Preis enthalten (hinzubuchbar). &lt;br /&gt;
Teilweise nur kurzes PHP-Zeitlimit (Support um Aufstockung bitten), Sehr verschiedene Konfigurationen der Server (auch bei gleichen Hosting-Paketen), In der Vergangenheit auch zeitweise Ausfälle, Domain teilweise nicht erreichbar.&lt;br /&gt;
Einige ausgewählte php.ini-Parameter lassen sich im IP-Conf (Konfigurationstool) selbst einstellen.&lt;br /&gt;
Über den Support kann man fast immer die benötigten Einstellungen bekommen (Beispiele: allow_url_fopen=On, max_execution_time=30, upload_max_filesize=8M, mcrypt aktiviert, SOAP installiert), nicht in allen Paketen läßt sich der Safe-Mode einstellen (safe_mode = Off).&lt;br /&gt;
|| do_while&lt;br /&gt;
|-&lt;br /&gt;
|Celeros Online || Private || nein || nein || nein || nein || ja || {{td_yellow|unbekannt}} || || cypa&lt;br /&gt;
|-&lt;br /&gt;
|Cyon.ch || KIWI || nein || laut Nutzer &amp;quot;zed&amp;quot; inzwischen nicht mehr nötig, PHP5 nun Standard || nein || nein || ja || ja || keine || Trikerdaniel&lt;br /&gt;
|-&lt;br /&gt;
|DomainFactory || ManagedHosting L, ManagedHosting M, My Home Vorkonfiguration 1, My Home Dynamic || nein || nein || nein || nein || ja || ja || keine || hschottm und Kahru&lt;br /&gt;
|-&lt;br /&gt;
|dynamic-net.ch || Alle Pakete inkl. Reseller || nein || nein || nein || nein || ja || ja || falls ER nicht ersichtlich, SOAP freischalten lassen - kurzes Supportticket, kein Problem. || [[User:Toflar|Toflar]]&lt;br /&gt;
|-&lt;br /&gt;
|fc-hosting || Profi-2 || nein || nein || nein || nein || ja || ja || {{td_yellow |Newsletterversand möglich, aber nur blockweise (100Stk.)}} || mandrael&lt;br /&gt;
|-&lt;br /&gt;
|Flyhost.de || Flyhost 100, Flyhost 50 || nein || nein || nein || nein || ja || {{td_yellow |unbekannt}} || keine || ways2web&lt;br /&gt;
|-&lt;br /&gt;
|genotec.ch || Shared Pro UNIX || nein || nein || nein || nein || {{td_red | SOAP}} | {{td_yellow |unbekannt}} || keine || mamboo&lt;br /&gt;
|-&lt;br /&gt;
|Goneo.de || Homepage Easy, Profi und Premium  || nein || nein || nein || nein || ja || ja || nur .de Domains gelten als Inklusivdomains, andere kostenpflichtig müssen zugebucht werden || felixpfeifer&lt;br /&gt;
|-&lt;br /&gt;
|greatnet.de || Classic || nein || {{td_red |PHP 5 }} || nein || nein || ja || ja || PHP 5 Aktivierung in .htaccess: &amp;lt;pre&amp;gt;FCGIWrapper /home/www/*DEINWEB*/fcgid/php5-fcgid .php&amp;lt;/pre&amp;gt; || tblumrich&lt;br /&gt;
|-&lt;br /&gt;
|Hetzner || ab dem Paket &amp;quot;Level 4&amp;quot; voll kompatibel || nein || nein || nein || nein || ja || ja || keine || firex112&lt;br /&gt;
|-&lt;br /&gt;
|Host4Free.de || individueller Tarif || nein || nein || nein || nein || ja || ja || Für größere Websites wird ein Paket ab 4maxi empfohlen, da hier mehr Arbeitsspeicher pro Prozess zur Verfügung steht. || Psi&lt;br /&gt;
|-&lt;br /&gt;
|Hosting-Agency || Agency 250 || nein || nein || nein || nein || {{td_red | SOAP}} || ja || keine || lucina&lt;br /&gt;
|-&lt;br /&gt;
|Hostmonster.com || - || nein || nein || nein || nein || {{td_yellow |unbekannt}} | {{td_yellow |unbekannt}} || keine || crazycisco&lt;br /&gt;
|-&lt;br /&gt;
|Hostpoint.ch || SH Server Standard  || nein || nein || nein || nein || ja || ja || Anscheinend läuft bei Hostpoint [http://www.contao-community.de/showpost.php?p=30104&amp;amp;postcount=32 TCPDF nicht wie gewünscht] &lt;br /&gt;
|| Trikerdaniel&lt;br /&gt;
|-&lt;br /&gt;
|Hoststar.ch || StarEntry || nein || {{td_red |PHP 5}} | {{td_red |mod_rewrite aktivieren lassen}} || nein || {{td_yellow | SOAP}} || ja || Über my.hoststar.ch ein Ticket erstellen für SOAP Aktivierung. Dann kommt meistens eine Antwort wie &amp;quot;das sei unsicher&amp;quot;. Durch Beharrlichkeit und klar machen dass SOAP kein Sicherheitsrisiko darstellt kann Aktivierung erreicht werden. || dusi&lt;br /&gt;
|-&lt;br /&gt;
|HostTech.biz || Easy 10000 || {{td_red |Ja}} || nein || nein || nein || ja || {{td_yellow |unbekannt}} || keine || m.koell&lt;br /&gt;
|-&lt;br /&gt;
|iNet Robots || ab Web Home  || nein || nein || nein || nein || ja || ja || keine || do_while&lt;br /&gt;
|-&lt;br /&gt;
|intersaar.de || ab Web-Präsenz &amp;quot;Eco&amp;quot; aufwärts (&amp;quot;Eco&amp;quot;, &amp;quot;Business&amp;quot;, &amp;quot;Professional&amp;quot;, &amp;quot;Premium&amp;quot;) gut geeignet. || nein || nein || nein || nein || {{td_yellow | SOAP}} | {{td_yellow |unbekannt}} || Bei Vertragsschluß am Besten gleich angeben, daß SOAP-Extensions aktiviert werden sollen. || rhagen&lt;br /&gt;
|-&lt;br /&gt;
|Mittwald || - || nein || nein || nein || nein || ja || ja || keine || Mittwald&lt;br /&gt;
|-&lt;br /&gt;
|one.com || 3000MB || {{td_yellow |unbekannt}} || nein || nein || nein || ja || {{td_yellow |unbekannt}} || keine || cypa&lt;br /&gt;
|-&lt;br /&gt;
|Strato || Strato PowerPlus, Strato Speedplus || nein || {{td_red |PHP 5 }} || nein || nein || {{td_red | SOAP}} | {{td_yellow |unbekannt}} || &amp;lt;pre&amp;gt;AddHandler application/x-httpd-php5 .php&amp;lt;/pre&amp;gt;''Anmerkung von planepix:'' Alternativ kann man sich im Kundencenter von Strato einloggen und links im Menü unter &amp;quot;Homepagestaltung&amp;quot; die Option &amp;quot;Website-Konfigurator&amp;quot; wählen. Dort gibt es den Punkt &amp;quot;PHP-Konfiguration&amp;quot; mit dem man die PHP-Version fürs Verzeichnis auf PHP5 einstellen kann.&lt;br /&gt;
''In den neuen Paketen (z.B. BasicWeb XL) muss man in der localconfig.php ggf. diese Zeile nach(!) &amp;quot;### INSTALL SCRIPT STOP ###&amp;quot; hinzufügen:''&lt;br /&gt;
&amp;lt;pre&amp;gt;unset($_SERVER['HTTP_X_FORWARDED_HOST']);&amp;lt;/pre&amp;gt;&lt;br /&gt;
teilweise sehr langsam im Datenbankzugriff&lt;br /&gt;
|| thomask&lt;br /&gt;
|-&lt;br /&gt;
|Suleitec || ab Tarif Expert || nein || nein || nein || nein || {{td_yellow |unbekannt}} | {{td_yellow |unbekannt}} || keine || Soulfood&lt;br /&gt;
|-&lt;br /&gt;
|TNG || VLAMP-Server || nein || nein || nein || nein || ja || ja || Aktivierung von mod_rewrite via Support || lucina&lt;br /&gt;
|-&lt;br /&gt;
|Top-Hoster.de || Tarife &amp;quot;S&amp;quot;-&amp;quot;XXL&amp;quot;, &amp;quot;Sommerpaket 2009&amp;quot; ohne Probleme,  || nein || {{td_red |PHP 5 }} || nein || nein || {{td_yellow |SOAP}} | {{td_yellow |unbekannt}} || SOAP von Support aktivieren lassen.&amp;lt;br/&amp;gt;'''Tarif &amp;quot;XS&amp;quot; funktioniert nicht, hat keine MySQL-Datenbanken''' || StephanE&lt;br /&gt;
|-&lt;br /&gt;
|United-Domains || Standard || nein || nein || nein || nein || ja || ja || keine || Nina&lt;br /&gt;
|-&lt;br /&gt;
|web.de || colspan=&amp;quot;8&amp;quot; | Siehe [[1 und 1 Internet]] da web.de eine Tochtergesellschaft ist. || kos&lt;br /&gt;
|-&lt;br /&gt;
|webhoster.de || Webhosting Starter Tarif || nein || nein || nein || nein || ja || ja || keine || x-ray&lt;br /&gt;
|-&lt;br /&gt;
|WebHostOne || ab Basic-300 (Carino: empfohlen Basic 750), Pro-1500 || nein || nein || nein || nein || ja || ja || &lt;br /&gt;
[http://www.contao.org/neuigkeiten/items/typolight-als-1click-installation.html 1 Klick Installation von TL]&amp;lt;br/&amp;gt;Man kann bei speziellen Wünschen httpd.conf und php.ini selbst anpassen. Wenn man sich nicht so gut damit auskennt, kann man sogar im kostenlosen SupportChat fragen wie man welchen Befehl schreiben muss.&lt;br /&gt;
|| Carino und Stranger&lt;br /&gt;
|-&lt;br /&gt;
|World4You || Domainserver Start || nein || nein || nein || nein || ja || ja || Live Update URL ev. vom Support freischalten lassen.&amp;lt;br/&amp;gt;Contao als Easy.Install im Kundencenter verfügbar. || HAST&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Workarounds für bestimmte Webhoster==&lt;br /&gt;
Bei manchen Webhostern ist es leider notwendig von obigem Standard Installationsschema abzuweichen.&lt;br /&gt;
&lt;br /&gt;
Diese Besonderheiten sind hier aufgeführt um zu ermöglichen, dass Contao bei diesen Webhostern läuft.&lt;br /&gt;
&lt;br /&gt;
Oftmals betrifft dies den so genannten [[Safemode Hack]], welcher bei etlichen Webhostern notwendig ist.&lt;br /&gt;
Weiterhin ist oftmals die SOAP Erweiterung nicht in PHP enthalten, was den Erweiterungskatalog nicht verwendbar macht (Mögliche Abhilfe hierbei ist jedoch [[TensideRepository]]).&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|In Zukunft wird hier eine Liste von Artikeln veröffentlicht, welche Anpassungen bei welchen Webhoster notwendig ist um Contao zum Laufen zu bekommen.}}&lt;br /&gt;
&lt;br /&gt;
==Liste inkompatibler Webhoster==&lt;br /&gt;
In dieser Liste werden Webhoster gelistet, bei denen Contao nicht eingesetzt werden kann oder sollte, da sie die Nutzung wichtiger Systemfunktionen deaktivieren.&lt;br /&gt;
Bitte beim Hinzufügen von Webhostern darauf achten, detailliert zu beschreiben woran es scheitert, wie z.B. &amp;quot;stellt nur PHP4 zur Verfügung&amp;quot;, alternativ kann auch der Inhalt des betzreffenden Forum-threads rezitiert werden und selbiger Thread als Sonstige Anmerkung verlinkt werden.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;margin:0;vertical-align:top;&amp;quot;&lt;br /&gt;
|+ &amp;lt;big&amp;gt;'''Diese Informationen basieren ausschließlich auf Erfahrungen von Nutzern. Diese Erfahrungen stimmen teilweise nicht für alle Webpakete eines Anbieters! Manchmal ändern Anbieter auch die technischen Einstellungen, so dass sich neue Umstände ergeben. Verlasst euch niemals nur darauf, sondern führt wenn möglich mindestens eine Diagnose, am besten aber eine Testinstallation auf einem Test-Webspace (beim Anbieter nachfragen) durch.'''&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Webhoster&lt;br /&gt;
!Grund der Inkompatibilität&lt;br /&gt;
!Sonstige Anmerkungen&lt;br /&gt;
!Information von&lt;br /&gt;
|-&lt;br /&gt;
|1a websolutions.ch || Verwendet mod_security welches das Datenbank update lahm legt. || [http://www.contao-community.de/showthread.php?5895-Fehlermeldung-bei-der-Installatio Forum-Thread] || bluerate&lt;br /&gt;
|-&lt;br /&gt;
|T-Online ||Unterstützt keinen .htaccess Dateien daher keine URL Umschreibung und keine Absicherung von Verzeichnissen. || [http://www.contao-community.de/showthread.php?5621-t-online Forum-Thread] || MPstudent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Installation</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Installation"/>
				<updated>2010-10-16T22:14:03Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: margin der Tabelle entfernt da nicht (mehr) notwendig, störend&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
[[Category:Installation und Updates]]&lt;br /&gt;
&lt;br /&gt;
=Installation von Contao=&lt;br /&gt;
==Kurzanleitung für die Installation bei einem Contao-fähigen Webhoster==&lt;br /&gt;
&lt;br /&gt;
# Download des Contao-Cores auf www.contao.org&lt;br /&gt;
# Entpacken auf dem Heimrechner&lt;br /&gt;
# Hochladen der Dateien mittles FTP auf Ihren Server&lt;br /&gt;
# Hochladen des [[Systemdiagnosetool]]s ins Verzeichnis der Contao-Installation (gewöhnlicherweise das Root-Verzeichnis Ihrer Webadresse)&lt;br /&gt;
# Aufrufen der Diagnosedatei in der Adresszeile Ihres Browsers und eventuelle Fehlermeldungen beseitigen&lt;br /&gt;
# Aufrufen der Installationsdatei: www.IhreDomain.com/contao/install.php (ersetzen Sie &amp;quot;www.IhreDomain.com&amp;quot; mit Ihrer tatsächlichen Webadresse; in diesem Fall ist Contao im Rootverzeichnis Ihres Webservers installiert; der Zugang zum BackEnd (BE) liegt im Unterverzeichnis &amp;quot;contao/&amp;quot;)&lt;br /&gt;
# Das Installationsskript führt Sie durch die abschließenden Schritte (die erforderlichen Daten zur Datenbank erhalten Sie von Ihrem Webhoster)&lt;br /&gt;
# Nach erfolgreicher Installation können Sie sich im BackEnd einloggen (&amp;quot;www.IhreDomain.com/contao/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==Detaillierte Anleitung für die Installation bei einem kompatiblen Webhoster==&lt;br /&gt;
&lt;br /&gt;
===Download von Contao und entpacken auf dem Heimrechner===&lt;br /&gt;
&lt;br /&gt;
Auf www.contao.org begibt man sich auf den Bereich [http://www.contao.org/herunterladen.html Herunterladen] und wählt die aktuellste Version von Contao zum Download und speichert diese Datei auf dem eigenen Rechner.&lt;br /&gt;
{{Anmerkung| Contao wird in zwei unterschiedlichen Archivformaten angeboten. pkzip (Zip-Archiv) und tar.gz (gzipped Tarball). Sollten man einen Windows PC verwenden, sollte die pkzip Version verwendet werden. }}&lt;br /&gt;
&lt;br /&gt;
Nachdem die Datei heruntergeladen wurde, entpackt man sie mit dem Packprogramm seiner Wahl wie z.B. [http://www.7-zip.org/ 7-zip], welches nahezu alle gängigen Archivformate beherrscht.&lt;br /&gt;
&lt;br /&gt;
===FTP-Programm einrichten===&lt;br /&gt;
Um Contao auf die richtige Stelle ihres Webspace zu kopieren, müssen die FTP-Zugangsdaten in ein FTP-Programm eintragen werden. &lt;br /&gt;
Bei Eingabe der richtigen Daten wird sich das FTP-Programm direkt in das Verzeichnis, in welchem Contao installiert werden soll, öffnen. Jedes FTP-Programm sieht anders aus, deshalb hier nur ein Beispiel. In allen Programmen sind aber immer die gleichen Angaben zu machen.&lt;br /&gt;
{{Achtung|Bei einigen FTP-Programmen ist standardmäßig die Übertragung von versteckten Dateien (wie .htaccess) abgeschaltet. Bei Contao ist es '''sehr wichtig''', diese Dateien mit zu übertragen. Sie gewährleisten die Sicherheit gegen ungewolltes Auslesen von Daten.&lt;br /&gt;
Häufig ist es möglich Parameter für den LIST-Befehl anzugeben, dann bitte '''-la''' angeben. Hierzu sollte die Doku des verwendeten FTP-Programms weiter helfen.}}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|rowspan=&amp;quot;6&amp;quot; | [[Datei:1u1_ftp2.jpg|FTP-Zugangsdaten eintragen]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Protokoll:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Es soll eine FTP-Verbindung aufgebaut werden.&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Server:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Hier wird einfach die Hauptdomain eingetragen,&amp;lt;br /&amp;gt;welche automatisch auf die richtige IP aufgelöst wird.&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Port:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Hier trägt man meist den Standard-Port einer&amp;lt;br /&amp;gt;FTP-Verbindung, den Port 21 ein.&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Benutzername:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Der Benutzername wurde vom Provider mitgeteilt.&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Passwort:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Das FTP-Passwort wurde vom Provider mitgeteilt.&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Anfangsverzeichnis:&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | Hier muss das Basisverzeichnis für die Installation&amp;lt;br /&amp;gt;angegeben werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Wenn das FTP-Programm mit diesen Parametern gestartet wird, sollte sich auf dem Server ein leeres Verzeichnis auftun.&lt;br /&gt;
&lt;br /&gt;
===Upload Contao===&lt;br /&gt;
In dem zuvor heruntergeladenen und entpackten Archiv ist als einziger Eintrag ein Verzeichnis mit der Versionskennung enthalten. Dieses ist das Basisverzeichnis, aus dem der Inhalt auf den Webserver geladen werden soll.&lt;br /&gt;
&lt;br /&gt;
[[Datei:1u1_zip1.jpg|Contao ZIP-Archiv]]&lt;br /&gt;
&lt;br /&gt;
'''Das ganze Paket (ab Basisverzeichnis) ladet man jetzt per FTP auf den Webspace hoch.'''&lt;br /&gt;
Wie genau dies geht, entnehme man der Bedienungsanleitung des verwendeten FTP Programmes.&lt;br /&gt;
&lt;br /&gt;
===Aufruf des Installtools===&lt;br /&gt;
&lt;br /&gt;
Den Installer ruft man einfach mit '''&amp;lt;nowiki&amp;gt;http://contao.meinedomain.de/contao/install.php&amp;lt;/nowiki&amp;gt;''' auf (bei älteren Paketen, sprich vor Version 2.9, natürlich mit dem Pfad typolight anstatt contao).&lt;br /&gt;
&lt;br /&gt;
Das Installtool verlangt als allererstes das Contao Installationspasswort. Dies ist standardmässig das kleingeschriebe Wort &amp;quot;contao&amp;quot; (bei Versionen kleiner 2.9 &amp;quot;typolight&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Nach Eingabe desselbigen wird man aufgefordert das Installationspasswort zu ändern.&lt;br /&gt;
{{Anmerkung|Das Installationspasswort muss mindestens acht Zeichen lang sein und sollte eine Kombination von gross und klein geschriebenen Buchstaben, Zahlen und Sonderzeichen sein. Dieses Passwort sollte man an einem sicheren Ort verwahren, da es jedesmal benötigt wird, wenn ein Update von Contao auf der Webseite vorgenommen wird.}}&lt;br /&gt;
&lt;br /&gt;
Nachdem das Installationspasswort geändert wurde, erfolgt nun die Eingabe eines Verschlüsselungskeys.&lt;br /&gt;
Dieser wird von Contao dazu verwendet, Datensätze bei Bedarf verschlüsselt in der Datenbank abzulegen. Bislang wird diese Funktionalität jedoch nur von wenigen Erweiterungen verwendet.&lt;br /&gt;
{{Anmerkung|Diese Eingabe ist nur notwendig, wenn ein [[Webseitentemplate]] importiert werden soll. Sollte dies nicht gewünscht sein, so lässt man das Feld leer und Contao erzeugt selbständig einen Key.}}&lt;br /&gt;
{{Achtung|Den hierbei erzeugten Key sollte man sich auf jeden Fall, zusätzlich zum Installpasswort, notieren und sicher verwahren. Sollte er einmal verloren gehen, gibt es keine Möglichkeit mehr die verschlüsselten Daten zu entschlüsseln.}}&lt;br /&gt;
&lt;br /&gt;
Nach Eingabe des Verschlüsselungskeys ist die Konfiguration der Datenbank vorzunehmen. Die zu verwendende Datenbank sollte auf jeden Fall eine MySQL Datenbank in der Version 5 sein.&lt;br /&gt;
{|&lt;br /&gt;
|[[Datei:1u1_install1.jpg|Datenbankconnection]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot; | &amp;lt;br /&amp;gt;Hier werden alle Daten eingetragen, die man von seinem Provider erhalten hat. Wenn die eingegebenen Daten korrekt sind, wird nach dem Speichern die Meldung &amp;quot;Datenbankverbindung ok.&amp;quot; ausgegeben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Nachdem die Zugangsdaten der Datenbankverbindung gespeichert wurden, erkennt das Installtool, dass die Datenbank nicht aktuell ist. Hier genügt es am Ende der Seite den Aktualisierungs-Button zu drücken und die Datenbank wird auf den aktuellen Stand gebracht.&lt;br /&gt;
&lt;br /&gt;
Nun kann man, wenn man will, ein Webseitentemplate importieren. Von Haus aus liefert Contao das von der [http://demo.contao.org Demonstrationswebseite] bekannte Webseitentemplate &amp;quot;Music Academy&amp;quot; mit. Diese sollten Anfänger importieren, da es alle Funktionen des Cores demonstriert. Sollte kein Import gewünscht sein, so lässt man das Auswahlmenü leer.&lt;br /&gt;
&lt;br /&gt;
Abschliessend muss ein Administrator angelegt werden. Hier gebe man den gewünschten Benutzernamen und das Passwort ein. Das Passwort sollte wie das Installpasswort eine Kombination unterschiedlichster Zeichen sein und muss ebenfalls mindestens acht Zeichen lang sein. (Beim Import des Webseitentemplates &amp;quot;Music Academy&amp;quot; wird automatisch ein Administrator mit angelegt.)&lt;br /&gt;
&lt;br /&gt;
Nachdem der Administrator angelegt wurde, erscheint unten rechts ein Link &amp;quot;zum Backend&amp;quot;, welcher ins Backend von Contao weiterleitet.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Gratulation, die Installation ist abgeschlossen.'''&lt;br /&gt;
&lt;br /&gt;
=Webhoster=&lt;br /&gt;
==Liste kompatibler Webhoster==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hetzner.de (ab dem entsprechenden &amp;quot;Tarif inkl. MySQL-Datenbank&amp;quot; voll kompatibel)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|+ &amp;lt;big&amp;gt;'''Diese Informationen basieren ausschließlich auf Erfahrungen von Nutzern. Diese Erfahrungen stimmen teilweise nicht für alle Webpakete eines Anbieters! Manchmal ändern Anbieter auch die technischen Einstellungen, so dass sich neue Umstände ergeben. Verlasst euch niemals nur darauf, sondern führt wenn möglich mindestens eine Diagnose, am besten aber eine Testinstallation auf einem Test-Webspace (beim Anbieter nachfragen) durch.'''&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Webhoster&lt;br /&gt;
!Tarif&lt;br /&gt;
!SMH notwendig&lt;br /&gt;
!.htaccess notwendig&lt;br /&gt;
!php.ini notwendig&lt;br /&gt;
!CHMOD notwendig&lt;br /&gt;
!ER möglich&lt;br /&gt;
!LU möglich&lt;br /&gt;
!Sonstige Anmerkungen&lt;br /&gt;
!Information von&lt;br /&gt;
|-&lt;br /&gt;
|1&amp;amp;1 Internet || ab 1&amp;amp;1 Homepage Perfect || nein || {{td_red |PHP 5}} || nein || nein || ja || ja || [[1 und 1 Internet|detaillierte Installationsanleitung]]  || do_while&lt;br /&gt;
|-&lt;br /&gt;
| 1Blu || Homepage Unlimited, Homepage Professional || nein || nein || nein || nein || ja || ja || PHP muss mittels einer im Verzeichnis abzulegenden Konfigurationsdatei auf Version 5 umgestellt werden. Problemlos und in den 1Blu-FAQ gut erklärt || LousyWeather&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;|&lt;br /&gt;
| Alfahosting.de || Multipaket, Profipaket, Businesspaket || nein || nein || nein || nein || ja || ja || one-click-Installation von Contao. || marc und psren&lt;br /&gt;
|-&lt;br /&gt;
| Arcor || 700 MB Webspace || {{td_yellow |unbekannt}} || nein || nein || nein || {{td_red | SOAP}} || ja || Läuft sehr langsam, Premium-Pakete mit weniger Kunden pro Server gibt es nicht. Safe_Mode ist aktiviert, die Seite funktioniert trotzdem, nur eben sehr langsam. || Stranger&lt;br /&gt;
|-&lt;br /&gt;
| bytecamp.net || bytecamp arbeitet mit einem einzigen Tarifmodell || nein || {{td_red |PHP 5}} || nein || nein || ja || {{td_yellow|unbekannt}} || PHP 5 Aktivierung in .htaccess: &amp;lt;pre&amp;gt;AddType application/x-httpd-php5 .php&amp;lt;/pre&amp;gt; Vereinfache Installation und PHP5 vorkonfiguriert durch eigenen Installer. [http://www.bytecamp.net/de/hosting/details/installer.html 3 Schritte bequem per Webbrowser. ]|| Franziska &amp;amp; Frank&lt;br /&gt;
|-&lt;br /&gt;
|BPlaced.net (Freehoster, in den Userseiten werbefrei) || Free || nein || nein || nein || nein || {{td_red |nein}} | {{td_red |nein}} || &lt;br /&gt;
Laut User [http://www.contao-community.de/showthread.php?7436-PHP-Version-5.3.2&amp;amp;highlight=bplaced tommy] gibt es inzwischen Ärger mit diesem Freehoster.&lt;br /&gt;
|| thomask&lt;br /&gt;
|-&lt;br /&gt;
|CanHost || CAN-NUKE und andere || nein || nein || {{td_red |ja}} || nein || ja || ja || (hängt stark vom gebuchten Paket ab, einige Änderungen sind im IP-Conf möglich, sonstige sind häufig per Mail an Support machbar)&lt;br /&gt;
Kein Backup von Webspace und Datenbanken im Preis enthalten (hinzubuchbar). &lt;br /&gt;
Teilweise nur kurzes PHP-Zeitlimit (Support um Aufstockung bitten), Sehr verschiedene Konfigurationen der Server (auch bei gleichen Hosting-Paketen), In der Vergangenheit auch zeitweise Ausfälle, Domain teilweise nicht erreichbar.&lt;br /&gt;
Einige ausgewählte php.ini-Parameter lassen sich im IP-Conf (Konfigurationstool) selbst einstellen.&lt;br /&gt;
Über den Support kann man fast immer die benötigten Einstellungen bekommen (Beispiele: allow_url_fopen=On, max_execution_time=30, upload_max_filesize=8M, mcrypt aktiviert, SOAP installiert), nicht in allen Paketen läßt sich der Safe-Mode einstellen (safe_mode = Off).&lt;br /&gt;
|| do_while&lt;br /&gt;
|-&lt;br /&gt;
|Celeros Online || Private || nein || nein || nein || nein || ja || {{td_yellow|unbekannt}} || || cypa&lt;br /&gt;
|-&lt;br /&gt;
|Cyon.ch || KIWI || nein || laut Nutzer &amp;quot;zed&amp;quot; inzwischen nicht mehr nötig, PHP5 nun Standard || nein || nein || ja || ja || keine || Trikerdaniel&lt;br /&gt;
|-&lt;br /&gt;
|DomainFactory || ManagedHosting L, ManagedHosting M, My Home Vorkonfiguration 1, My Home Dynamic || nein || nein || nein || nein || ja || ja || keine || hschottm und Kahru&lt;br /&gt;
|-&lt;br /&gt;
|dynamic-net.ch || Alle Pakete inkl. Reseller || nein || nein || nein || nein || ja || ja || falls ER nicht ersichtlich, SOAP freischalten lassen - kurzes Supportticket, kein Problem. || [[User:Toflar|Toflar]]&lt;br /&gt;
|-&lt;br /&gt;
|fc-hosting || Profi-2 || nein || nein || nein || nein || ja || ja || {{td_yellow |Newsletterversand möglich, aber nur blockweise (100Stk.)}} || mandrael&lt;br /&gt;
|-&lt;br /&gt;
|Flyhost.de || Flyhost 100, Flyhost 50 || nein || nein || nein || nein || ja || {{td_yellow |unbekannt}} || keine || ways2web&lt;br /&gt;
|-&lt;br /&gt;
|genotec.ch || Shared Pro UNIX || nein || nein || nein || nein || {{td_red | SOAP}} | {{td_yellow |unbekannt}} || keine || mamboo&lt;br /&gt;
|-&lt;br /&gt;
|Goneo.de || Homepage Easy, Profi und Premium  || nein || nein || nein || nein || ja || ja || nur .de Domains gelten als Inklusivdomains, andere kostenpflichtig müssen zugebucht werden || felixpfeifer&lt;br /&gt;
|-&lt;br /&gt;
|greatnet.de || Classic || nein || {{td_red |PHP 5 }} || nein || nein || ja || ja || PHP 5 Aktivierung in .htaccess: &amp;lt;pre&amp;gt;FCGIWrapper /home/www/*DEINWEB*/fcgid/php5-fcgid .php&amp;lt;/pre&amp;gt; || tblumrich&lt;br /&gt;
|-&lt;br /&gt;
|Hetzner || ab dem Paket &amp;quot;Level 4&amp;quot; voll kompatibel || nein || nein || nein || nein || ja || ja || keine || firex112&lt;br /&gt;
|-&lt;br /&gt;
|Host4Free.de || individueller Tarif || nein || nein || nein || nein || ja || ja || Für größere Websites wird ein Paket ab 4maxi empfohlen, da hier mehr Arbeitsspeicher pro Prozess zur Verfügung steht. || Psi&lt;br /&gt;
|-&lt;br /&gt;
|Hosting-Agency || Agency 250 || nein || nein || nein || nein || {{td_red | SOAP}} || ja || keine || lucina&lt;br /&gt;
|-&lt;br /&gt;
|Hostmonster.com || - || nein || nein || nein || nein || {{td_yellow |unbekannt}} | {{td_yellow |unbekannt}} || keine || crazycisco&lt;br /&gt;
|-&lt;br /&gt;
|Hostpoint.ch || SH Server Standard  || nein || nein || nein || nein || ja || ja || Anscheinend läuft bei Hostpoint [http://www.contao-community.de/showpost.php?p=30104&amp;amp;postcount=32 TCPDF nicht wie gewünscht] &lt;br /&gt;
|| Trikerdaniel&lt;br /&gt;
|-&lt;br /&gt;
|Hoststar.ch || StarEntry || nein || {{td_red |PHP 5}} | {{td_red |mod_rewrite aktivieren lassen}} || nein || {{td_yellow | SOAP}} || ja || Über my.hoststar.ch ein Ticket erstellen für SOAP Aktivierung. Dann kommt meistens eine Antwort wie &amp;quot;das sei unsicher&amp;quot;. Durch Beharrlichkeit und klar machen dass SOAP kein Sicherheitsrisiko darstellt kann Aktivierung erreicht werden. || dusi&lt;br /&gt;
|-&lt;br /&gt;
|HostTech.biz || Easy 10000 || {{td_red |Ja}} || nein || nein || nein || ja || {{td_yellow |unbekannt}} || keine || m.koell&lt;br /&gt;
|-&lt;br /&gt;
|iNet Robots || ab Web Home  || nein || nein || nein || nein || ja || ja || keine || do_while&lt;br /&gt;
|-&lt;br /&gt;
|intersaar.de || ab Web-Präsenz &amp;quot;Eco&amp;quot; aufwärts (&amp;quot;Eco&amp;quot;, &amp;quot;Business&amp;quot;, &amp;quot;Professional&amp;quot;, &amp;quot;Premium&amp;quot;) gut geeignet. || nein || nein || nein || nein || {{td_yellow | SOAP}} | {{td_yellow |unbekannt}} || Bei Vertragsschluß am Besten gleich angeben, daß SOAP-Extensions aktiviert werden sollen. || rhagen&lt;br /&gt;
|-&lt;br /&gt;
|Mittwald || - || nein || nein || nein || nein || ja || ja || keine || Mittwald&lt;br /&gt;
|-&lt;br /&gt;
|one.com || 3000MB || {{td_yellow |unbekannt}} || nein || nein || nein || ja || {{td_yellow |unbekannt}} || keine || cypa&lt;br /&gt;
|-&lt;br /&gt;
|Strato || Strato PowerPlus, Strato Speedplus || nein || {{td_red |PHP 5 }} || nein || nein || {{td_red | SOAP}} | {{td_yellow |unbekannt}} || &amp;lt;pre&amp;gt;AddHandler application/x-httpd-php5 .php&amp;lt;/pre&amp;gt;''Anmerkung von planepix:'' Alternativ kann man sich im Kundencenter von Strato einloggen und links im Menü unter &amp;quot;Homepagestaltung&amp;quot; die Option &amp;quot;Website-Konfigurator&amp;quot; wählen. Dort gibt es den Punkt &amp;quot;PHP-Konfiguration&amp;quot; mit dem man die PHP-Version fürs Verzeichnis auf PHP5 einstellen kann.&lt;br /&gt;
''In den neuen Paketen (z.B. BasicWeb XL) muss man in der localconfig.php ggf. diese Zeile nach(!) &amp;quot;### INSTALL SCRIPT STOP ###&amp;quot; hinzufügen:''&lt;br /&gt;
&amp;lt;pre&amp;gt;unset($_SERVER['HTTP_X_FORWARDED_HOST']);&amp;lt;/pre&amp;gt;&lt;br /&gt;
teilweise sehr langsam im Datenbankzugriff&lt;br /&gt;
|| thomask&lt;br /&gt;
|-&lt;br /&gt;
|Suleitec || ab Tarif Expert || nein || nein || nein || nein || {{td_yellow |unbekannt}} | {{td_yellow |unbekannt}} || keine || Soulfood&lt;br /&gt;
|-&lt;br /&gt;
|TNG || VLAMP-Server || nein || nein || nein || nein || ja || ja || Aktivierung von mod_rewrite via Support || lucina&lt;br /&gt;
|-&lt;br /&gt;
|Top-Hoster.de || Tarife &amp;quot;S&amp;quot;-&amp;quot;XXL&amp;quot;, &amp;quot;Sommerpaket 2009&amp;quot; ohne Probleme,  || nein || {{td_red |PHP 5 }} || nein || nein || {{td_yellow |SOAP}} | {{td_yellow |unbekannt}} || SOAP von Support aktivieren lassen.&amp;lt;br/&amp;gt;'''Tarif &amp;quot;XS&amp;quot; funktioniert nicht, hat keine MySQL-Datenbanken''' || StephanE&lt;br /&gt;
|-&lt;br /&gt;
|United-Domains || Standard || nein || nein || nein || nein || ja || ja || keine || Nina&lt;br /&gt;
|-&lt;br /&gt;
|web.de || colspan=&amp;quot;8&amp;quot; | Siehe [[1 und 1 Internet]] da web.de eine Tochtergesellschaft ist. || kos&lt;br /&gt;
|-&lt;br /&gt;
|webhoster.de || Webhosting Starter Tarif || nein || nein || nein || nein || ja || ja || keine || x-ray&lt;br /&gt;
|-&lt;br /&gt;
|WebHostOne || ab Basic-300 (Carino: empfohlen Basic 750), Pro-1500 || nein || nein || nein || nein || ja || ja || &lt;br /&gt;
[http://www.contao.org/neuigkeiten/items/typolight-als-1click-installation.html 1 Klick Installation von TL]&amp;lt;br/&amp;gt;Man kann bei speziellen Wünschen httpd.conf und php.ini selbst anpassen. Wenn man sich nicht so gut damit auskennt, kann man sogar im kostenlosen SupportChat fragen wie man welchen Befehl schreiben muss.&lt;br /&gt;
|| Carino und Stranger&lt;br /&gt;
|-&lt;br /&gt;
|World4You || Domainserver Start || nein || nein || nein || nein || ja || ja || Live Update URL ev. vom Support freischalten lassen.&amp;lt;br/&amp;gt;Contao als Easy.Install im Kundencenter verfügbar. || HAST&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Workarounds für bestimmte Webhoster==&lt;br /&gt;
Bei manchen Webhostern ist es leider notwendig von obigem Standard Installationsschema abzuweichen.&lt;br /&gt;
&lt;br /&gt;
Diese Besonderheiten sind hier aufgeführt um zu ermöglichen, dass Contao bei diesen Webhostern läuft.&lt;br /&gt;
&lt;br /&gt;
Oftmals betrifft dies den so genannten [[Safemode Hack]], welcher bei etlichen Webhostern notwendig ist.&lt;br /&gt;
Weiterhin ist oftmals die SOAP Erweiterung nicht in PHP enthalten, was den Erweiterungskatalog nicht verwendbar macht (Mögliche Abhilfe hierbei ist jedoch [[TensideRepository]]).&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|In Zukunft wird hier eine Liste von Artikeln veröffentlicht, welche Anpassungen bei welchen Webhoster notwendig ist um Contao zum Laufen zu bekommen.}}&lt;br /&gt;
&lt;br /&gt;
==Liste inkompatibler Webhoster==&lt;br /&gt;
In dieser Liste werden Webhoster gelistet, bei denen Contao nicht eingesetzt werden kann oder sollte, da sie die Nutzung wichtiger Systemfunktionen deaktivieren.&lt;br /&gt;
Bitte beim Hinzufügen von Webhostern darauf achten, detailliert zu beschreiben woran es scheitert, wie z.B. &amp;quot;stellt nur PHP4 zur Verfügung&amp;quot;, alternativ kann auch der Inhalt des betzreffenden Forum-threads rezitiert werden und selbiger Thread als Sonstige Anmerkung verlinkt werden.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;margin:0;vertical-align:top;&amp;quot;&lt;br /&gt;
|+ &amp;lt;big&amp;gt;'''Diese Informationen basieren ausschließlich auf Erfahrungen von Nutzern. Diese Erfahrungen stimmen teilweise nicht für alle Webpakete eines Anbieters! Manchmal ändern Anbieter auch die technischen Einstellungen, so dass sich neue Umstände ergeben. Verlasst euch niemals nur darauf, sondern führt wenn möglich mindestens eine Diagnose, am besten aber eine Testinstallation auf einem Test-Webspace (beim Anbieter nachfragen) durch.'''&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!Webhoster&lt;br /&gt;
!Grund der Inkompatibilität&lt;br /&gt;
!Sonstige Anmerkungen&lt;br /&gt;
!Information von&lt;br /&gt;
|-&lt;br /&gt;
|1a websolutions.ch || Verwendet mod_security welches das Datenbank update lahm legt. || [http://www.contao-community.de/showthread.php?5895-Fehlermeldung-bei-der-Installatio Forum-Thread] || bluerate&lt;br /&gt;
|-&lt;br /&gt;
|T-Online ||Unterstützt keinen .htaccess Dateien daher keine URL Umschreibung und keine Absicherung von Verzeichnissen. || [http://www.contao-community.de/showthread.php?5621-t-online Forum-Thread] || MPstudent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Arbeiten_mit_Bildern</id>
		<title>Arbeiten mit Bildern</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Arbeiten_mit_Bildern"/>
				<updated>2010-10-16T22:10:57Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Dev HOWTOS]]&lt;br /&gt;
[[Category:Dev Snippets]]{{AppliesTo&lt;br /&gt;
|TLVersion=ab 2.7&lt;br /&gt;
|Version=ab 2.9&lt;br /&gt;
}}&lt;br /&gt;
Das Contao-Framework stellt folgende Methoden für das Arbeiten mit Bildern zur Verfügung:&lt;br /&gt;
# generateImage()&lt;br /&gt;
# getImage()&lt;br /&gt;
Die Original-Daten, welche meistens unter dem Ordner '''tl_files''' abgelegt sind werden aufbereitet. &lt;br /&gt;
Hierzu wird das Bild in der entsprechenden Größe unter '''system/html''' abgelegt und auf der Webseite werden nur noch Verweise auf diese erzeugte Kopie ausgegeben.&lt;br /&gt;
&lt;br /&gt;
== getImage() ==&lt;br /&gt;
Die Methode getImage() ist in der Datei system/libraries/Controller.php angesiedelt und stellt fünf Parameter zur Verfügung, von welchen die ersten drei verpflichtend sind. &lt;br /&gt;
Die Methode erstellt eine neue Version des Original-Bildes und legt dieses im Cache Verzeichnis /system/html ab, sofern der Parameter $target nicht übergeben wird. &lt;br /&gt;
Es wird der Pfad zum neuen Bild zurück gegeben, wenn die Verarbeitung funktioniert hat.&lt;br /&gt;
&lt;br /&gt;
Aktuell verarbeitet Contao die Bildformate welche von PHP (gdlib) unterstützt werden: jpeg, jpg, png und gif (nur lesen)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
# $image: Enthällt den Pfad zu dem Bild welches bearbeitet werden soll. (BSP: tl_files/images/foobar.jpg)&lt;br /&gt;
# $width: enthällt die gewünschte Breite des Bildes (z.B.: 200)&lt;br /&gt;
# $height: enthällt die gewünschte Höhe des Bildes (z.B.: 250)&lt;br /&gt;
# $mode: optionale Angabe der Skallierungsmethode&lt;br /&gt;
## proportional&lt;br /&gt;
## box&lt;br /&gt;
# $target: Ort an dem das neue Bild gespeichert werden soll, relativ zu TL_ROOT.&lt;br /&gt;
&lt;br /&gt;
== generateImage() ==&lt;br /&gt;
Die Methode generateImage() ist ebenfalls in der Controller.php angesiedelt und erzeugt einen HTML &amp;lt;img&amp;gt; Tag welcher in einem Template ausgegeben werden kann. Diese Methode besitzt 3 Parameter wovon nur der Erste verpflichtend angegeben werden muss. Wird beim Parameter $src kein Pfad angegeben, sondern nur ein Bildname (Pfade beginnen immer mit / und sind relativ zum TL_ROOT zu verstehen, Bildnamen nicht) so sucht Contao das Bild im aktuellen Themes Verzeichnis. (i.d.R.: /system/themes/default/images/ sofern kein anderes Backend-Theme gewählt wurde).&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
# $src: Der Pfad zum Bild welches eingebunden werden soll. (hier kann z.B. der Rückgabewert der Methode getImage() verwendet werden)&lt;br /&gt;
# $alt: Angabe eines Wertes für das alt-Attribut. Dieser ist laut [[w:de:W3C|W3C]] Pflicht und sollte immer angegeben werden.&lt;br /&gt;
# $attributes: Angabe weiterer Attribute für das zu erzeugende &amp;lt;img&amp;gt; Tag. (z.B.: inline [[w:de:CSS|CSS]] via style Attribut, etc.)&lt;br /&gt;
&lt;br /&gt;
== Codebeispiele ==&lt;br /&gt;
Mit folgendem Code kann eine neue verkleinerte Version eines Bildes im Cache abgelegt und auf der Seite ausgegeben werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$strReturn = $this-&amp;gt;generateImage($this-&amp;gt;getImage('tl_files/images/foobar.jpg', 300, 250, 'proportional'), 'my first image');&lt;br /&gt;
// nun den Wert an ein Template übergeben.&lt;br /&gt;
$this-&amp;gt;Template-&amp;gt;myFirstImage = $strReturn;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Arbeiten_mit_Bildern</id>
		<title>Arbeiten mit Bildern</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Arbeiten_mit_Bildern"/>
				<updated>2010-10-16T22:10:31Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: &amp;lt;br /&amp;gt; unter der Hauptüberschrift entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Dev HOWTOS]]&lt;br /&gt;
[[Category:Dev Snippets]]{{AppliesTo&lt;br /&gt;
|TLVersion=ab 2.7&lt;br /&gt;
|Version=ab 2.9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Das Contao-Framework stellt folgende Methoden für das Arbeiten mit Bildern zur Verfügung:&lt;br /&gt;
# generateImage()&lt;br /&gt;
# getImage()&lt;br /&gt;
Die Original-Daten, welche meistens unter dem Ordner '''tl_files''' abgelegt sind werden aufbereitet. &lt;br /&gt;
Hierzu wird das Bild in der entsprechenden Größe unter '''system/html''' abgelegt und auf der Webseite werden nur noch Verweise auf diese erzeugte Kopie ausgegeben.&lt;br /&gt;
&lt;br /&gt;
== getImage() ==&lt;br /&gt;
Die Methode getImage() ist in der Datei system/libraries/Controller.php angesiedelt und stellt fünf Parameter zur Verfügung, von welchen die ersten drei verpflichtend sind. &lt;br /&gt;
Die Methode erstellt eine neue Version des Original-Bildes und legt dieses im Cache Verzeichnis /system/html ab, sofern der Parameter $target nicht übergeben wird. &lt;br /&gt;
Es wird der Pfad zum neuen Bild zurück gegeben, wenn die Verarbeitung funktioniert hat.&lt;br /&gt;
&lt;br /&gt;
Aktuell verarbeitet Contao die Bildformate welche von PHP (gdlib) unterstützt werden: jpeg, jpg, png und gif (nur lesen)&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
# $image: Enthällt den Pfad zu dem Bild welches bearbeitet werden soll. (BSP: tl_files/images/foobar.jpg)&lt;br /&gt;
# $width: enthällt die gewünschte Breite des Bildes (z.B.: 200)&lt;br /&gt;
# $height: enthällt die gewünschte Höhe des Bildes (z.B.: 250)&lt;br /&gt;
# $mode: optionale Angabe der Skallierungsmethode&lt;br /&gt;
## proportional&lt;br /&gt;
## box&lt;br /&gt;
# $target: Ort an dem das neue Bild gespeichert werden soll, relativ zu TL_ROOT.&lt;br /&gt;
&lt;br /&gt;
== generateImage() ==&lt;br /&gt;
Die Methode generateImage() ist ebenfalls in der Controller.php angesiedelt und erzeugt einen HTML &amp;lt;img&amp;gt; Tag welcher in einem Template ausgegeben werden kann. Diese Methode besitzt 3 Parameter wovon nur der Erste verpflichtend angegeben werden muss. Wird beim Parameter $src kein Pfad angegeben, sondern nur ein Bildname (Pfade beginnen immer mit / und sind relativ zum TL_ROOT zu verstehen, Bildnamen nicht) so sucht Contao das Bild im aktuellen Themes Verzeichnis. (i.d.R.: /system/themes/default/images/ sofern kein anderes Backend-Theme gewählt wurde).&lt;br /&gt;
&lt;br /&gt;
=== Parameter ===&lt;br /&gt;
# $src: Der Pfad zum Bild welches eingebunden werden soll. (hier kann z.B. der Rückgabewert der Methode getImage() verwendet werden)&lt;br /&gt;
# $alt: Angabe eines Wertes für das alt-Attribut. Dieser ist laut [[w:de:W3C|W3C]] Pflicht und sollte immer angegeben werden.&lt;br /&gt;
# $attributes: Angabe weiterer Attribute für das zu erzeugende &amp;lt;img&amp;gt; Tag. (z.B.: inline [[w:de:CSS|CSS]] via style Attribut, etc.)&lt;br /&gt;
&lt;br /&gt;
== Codebeispiele ==&lt;br /&gt;
Mit folgendem Code kann eine neue verkleinerte Version eines Bildes im Cache abgelegt und auf der Seite ausgegeben werden:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$strReturn = $this-&amp;gt;generateImage($this-&amp;gt;getImage('tl_files/images/foobar.jpg', 300, 250, 'proportional'), 'my first image');&lt;br /&gt;
// nun den Wert an ein Template übergeben.&lt;br /&gt;
$this-&amp;gt;Template-&amp;gt;myFirstImage = $strReturn;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/TEE-04_Backend_DCA</id>
		<title>TEE-04 Backend DCA</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/TEE-04_Backend_DCA"/>
				<updated>2010-10-16T22:05:03Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: &amp;lt;pre&amp;gt;-Tags durch korrekte &amp;lt;source&amp;gt;-Tags ersetzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
Tagebuch einer Extension-Entwicklung&lt;br /&gt;
[[Category:Tagebuch_einer_Extension-Entwicklung]]&lt;br /&gt;
{{AppliesTo&lt;br /&gt;
|Ext1=Extension Creator&lt;br /&gt;
|TLVersion=ab TL 2.8}}&lt;br /&gt;
&lt;br /&gt;
=Wir wagen uns in das DCA-Land=&lt;br /&gt;
Jetzt kommt es zu einem (vermutlich) harten Brocken. Mein Backend-Modul wird links in der Navigation des Backends (in der Sidebar) angezeigt, aber man kann noch keine Datensätze anlegen oder verändern. Dafür müssen wir einen passenden ''DCA-Record'' anlegen. Ich werde mich wieder vom [http://dev.typolight.org/projects/typolight/wiki/TutorialsExtension CD-Collection-Tutorial] und der Referenz zu den [http://www.typolight.org/dca.html DCA-Records] leiten lassen. Die Referenz ist schon mal erschlagend-beeindruckend.&lt;br /&gt;
&lt;br /&gt;
Mithilfe der DCA-Records erstellt TYPOlight die Masken, mit denen man im Backend die Tabellen füllen, verändern und löschen kann. In ''/system/modules/gw_turnierpaare/dca/tl_gw_turnierpaare.php'' hat der ''Extension-Generator'' freundlicherweise schon ein Skelett für einen DCA-Record für die Tabelle ''tl_gw_turnierpaare'' angelegt.&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_gw_turnierpaare'] = array &lt;br /&gt;
( &lt;br /&gt;
    // Config &lt;br /&gt;
    'config' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        'dataContainer'               =&amp;gt; 'Table', &lt;br /&gt;
        'enableVersioning'            =&amp;gt; true &lt;br /&gt;
    ), &lt;br /&gt;
...  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der zweite Array-Key in $GLOBALS ist der Name unserer Tabelle. Im darauffolgenden mehrfach verschachtelten Array gibt es zunächst die ''config''-Sektion. Hier wird zunächst festgehalten, dass es sich bei der Datenquelle um eine Tabelle handelt. Laut Referenz sind auch noch File und Folder vorgesehen. Sicherlich sind Tabellen der am häufigsten gebrauchte Datacontainer. ''enableVersioning'' erlaubt die Versionierung der Einträge - das ist OK und passt mir ins Konzept. Die Referenz verrät mir, daß ich eine &amp;quot;child Table&amp;quot; angeben kann. Da die Turniermeldungen Childs der Turnierpaare werden soll, ergänze ich also&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'ctable'                      =&amp;gt; 'tl_gw_meldungen'  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die verbleibenden Optionen in ''config'' erscheinen mir nicht weiter von Bedeutung. Weiter geht es mit dem Abschnitt ''list'', und dort mit ''sorting'':&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    // List &lt;br /&gt;
    'list' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        'sorting' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'mode'                    =&amp;gt; 1, &lt;br /&gt;
            'fields'                  =&amp;gt; array(''), &lt;br /&gt;
            'flag'                    =&amp;gt; 1 &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sortierart und Sortierreihenfolge sind für mich erst mal ok, da ich gerne nach Nachnamen von Herrn und Dame sortieren würde, verändere ich die Zeile mit ''fields'' auf:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
            'fields'                  =&amp;gt; array('partnernachname','partnerinnachname'),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als nächstes kommt ein Block ''label'':&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'label' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'fields'                  =&amp;gt; array(''), &lt;br /&gt;
            'format'                  =&amp;gt; '%s' &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier scheint es wohl darum zu gehen, was in der Liste der schon bestehenden Tabelleneinträge angezeigt wird. Ich verändere die Zeilen auf&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
            'fields'                  =&amp;gt; array('partnernachname','partnervorname','partnerinnachname','partnerinvorname','startgruppe','startklassestd','startklasselat'), &lt;br /&gt;
            'format'                  =&amp;gt; '%s, %s und %s, %s - %s %s LAT / %s STD'  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Etwas &amp;quot;domain-specific knowledge&amp;quot;: Startgruppe ist im Prinzip die Altersklasse, Startklasse ist die Leistungsklasse (Die &amp;quot;Liga&amp;quot;), in der das Paar tanzt, und zwar unterschieden nach lateinamerikanischen und Standardtänzen. Diese Infos sind für den Sportwart interessant und sollten in der Übersichtsliste vorhanden sein. Die &amp;quot;''%s''&amp;quot; im format-String werden in der Reihenfolge mit Feldinhalten befüllt, wie wir sie oben drüber im Array angegeben haben. Der Aufbau des format-Strings sollte PHP- (oder C-)Programmierern bekannt sein. Dann kommt ein Abschnitt ''global_operations'' und ''operations'', den ich aber gar nicht verändern will:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'global_operations' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'all' =&amp;gt; array &lt;br /&gt;
            ( &lt;br /&gt;
                'label'               =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['MSC']['all'], &lt;br /&gt;
                'href'                =&amp;gt; 'act=select', &lt;br /&gt;
                'class'               =&amp;gt; 'header_edit_all', &lt;br /&gt;
                'attributes'          =&amp;gt; 'onclick=&amp;quot;Backend.getScrollOffset();&amp;quot;' &lt;br /&gt;
            ) &lt;br /&gt;
        ), &lt;br /&gt;
        'operations' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'edit' =&amp;gt; array &lt;br /&gt;
            ( &lt;br /&gt;
                'label'               =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['edit'], &lt;br /&gt;
                'href'                =&amp;gt; 'act=edit', &lt;br /&gt;
                'icon'                =&amp;gt; 'edit.gif' &lt;br /&gt;
            ), &lt;br /&gt;
            'copy' =&amp;gt; array &lt;br /&gt;
            ( &lt;br /&gt;
                'label'               =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['copy'], &lt;br /&gt;
                'href'                =&amp;gt; 'act=copy', &lt;br /&gt;
                'icon'                =&amp;gt; 'copy.gif' &lt;br /&gt;
            ), &lt;br /&gt;
            'delete' =&amp;gt; array &lt;br /&gt;
            ( &lt;br /&gt;
                'label'               =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['delete'], &lt;br /&gt;
                'href'                =&amp;gt; 'act=delete', &lt;br /&gt;
                'icon'                =&amp;gt; 'delete.gif', &lt;br /&gt;
                'attributes'          =&amp;gt; 'onclick=&amp;quot;if (!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\')) return false;Backend.getScrollOffset();&amp;quot;' &lt;br /&gt;
            ), &lt;br /&gt;
            'show' =&amp;gt; array &lt;br /&gt;
            ( &lt;br /&gt;
                'label'               =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['show'], &lt;br /&gt;
                'href'                =&amp;gt; 'act=show', &lt;br /&gt;
                'icon'                =&amp;gt; 'show.gif' &lt;br /&gt;
            ) &lt;br /&gt;
        ) &lt;br /&gt;
    ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Laut Referenz sollte ''global_operations'' ein Unterpunkt von ''operations'' sein, im Skelett-File des Extension-Generators stehen sie aber auf gleicher Ebene. Ich bin etwas verwundert, aber wird schon funktionieren. Nächster Abschnitt im vorgegeben File sind ''palettes'' und ''subpalettes''. Leider stehen die nicht in der Referenz, und auch die Seite über ''palettes'' macht mich nicht so richtig schlauer.&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    // Palettes &lt;br /&gt;
    'palettes' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        '__selector__'                =&amp;gt; array(''), &lt;br /&gt;
        'default'                     =&amp;gt; '' &lt;br /&gt;
    ), &lt;br /&gt;
    // Subpalettes &lt;br /&gt;
    'subpalettes' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        ''                            =&amp;gt; '' &lt;br /&gt;
    ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein Blick ins [http://dev.typolight.org/projects/typolight/wiki/TutorialsExtension CD-Collection-Tutorial] verrät, dass man unter ''default'' die Felder angeben kann, die in Paletten sortiert werden sollen: Felder innerhalb der Palette mit Komma getrennt, Beginn einer neuen Palette durch ein Semikolon.&lt;br /&gt;
Da ich es zeitlich für diesen Post nicht schaffen werde, alle Felder meiner ''tl_gw_turnierpaare''-Tabelle zu definieren, will ich zunächst nur die Namensfelder definieren, und zum Testen 2 Paletten benutzen. Ich editiere den ''palettes''-Eintrag also in&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    // Palettes &lt;br /&gt;
    'palettes' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        '__selector__'                =&amp;gt; array(''), &lt;br /&gt;
        'default'                     =&amp;gt; 'partnernachname,partnervorname;partnerinnachname,partnerinvorname' &lt;br /&gt;
    ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Subpalettes'' lässt mich weiterhin ratlos, also Finger weg davon. Der letzte Teil der Skelett-Datei (und hier wird es richtig spannend!) ist das ''fields''-Array:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    // Fields &lt;br /&gt;
    'fields' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        '' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare'][''], &lt;br /&gt;
            'exclude'                 =&amp;gt; true, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;true, 'maxlength'=&amp;gt;255&lt;br /&gt;
) &lt;br /&gt;
        ) &lt;br /&gt;
    ) &lt;br /&gt;
);  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ich halte mich erst mal an das Skelett, und füge nur die Feldnamen hinzu, und vervielfältige den Block auf insgesamt 4 Stück:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    // Fields &lt;br /&gt;
    'fields' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        'partnernachname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnernachname'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;true, 'maxlength'=&amp;gt;64) &lt;br /&gt;
        ), &lt;br /&gt;
        'partnervorname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnervorname'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength'=&amp;gt;64&lt;br /&gt;
) &lt;br /&gt;
        ), &lt;br /&gt;
        'partnerinnachname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnerinnachname'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength'=&amp;gt;64&lt;br /&gt;
) &lt;br /&gt;
        ), &lt;br /&gt;
        'partnerinvorname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnerinvorname'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength'=&amp;gt;64&lt;br /&gt;
) &lt;br /&gt;
        ) &lt;br /&gt;
    )  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Labels müssen wir später noch in den Sprachfiles definieren, ''exclude'' = ''true'' bedeutet, dass nur Admins das Feld sehen können. Da später ein Nicht-Admin die Tabelle pflegen können soll, setze ich es also überall auf ''false''. Ich hoffe mein Gedankengang ist da richtig. Wir setzen für jedes Feld die Maximallänge auf 64 Zeichen, und nur der Partner-Nachname ist verpflichtend. Warum nicht auch Vorname und der Namen der Partnerin? Ich brauche für meine Anwendung EINE klitzekleine Ausnahme, in der ich gerne eine Mannschaft in die Startliste eintragen würde. Deren Name würde dann in ''partnernachname'' stehen, die restlichen Felder wären leer.&lt;br /&gt;
&lt;br /&gt;
Für den nächsten Post wird das alles noch verfeinert, weitere Optionen für die Felder hinzugefügt und vor allem alle Felder der Tabelle im DCA-Record definiert. Aber erst mal ein kleines, bescheidenes Zwischenergebnis zur Motivation:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attachment_004.png|Eingabemaske]]&lt;br /&gt;
&lt;br /&gt;
Und man kann auch schon was eingeben:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attachment_005.png|Datensatz]]&lt;br /&gt;
&lt;br /&gt;
Da Startgruppe und Klasse(n) noch nicht einzugeben sind, bleiben die in der Übersichtsliste noch leer. Aber: Grundlegend funktioniert das schonmal, und auch den Begriff ''palette'' habe ich jetzt (anhand des Screenshots) verstanden.&lt;br /&gt;
&lt;br /&gt;
Im nächsten Post wird das alles erweitert und &amp;quot;poliert&amp;quot;. Zur Übersicht nochmal mein aktueller Stand der Datei ''/system/modules/gw_turnierpaare/dca/tl_gw_turnierpaare.php'':&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/** &lt;br /&gt;
 * Table tl_gw_turnierpaare  &lt;br /&gt;
 */ &lt;br /&gt;
$GLOBALS['TL_DCA']['tl_gw_turnierpaare'] = array &lt;br /&gt;
( &lt;br /&gt;
    // Config &lt;br /&gt;
    'config' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        'dataContainer'               =&amp;gt; 'Table', &lt;br /&gt;
        'enableVersioning'            =&amp;gt; true, &lt;br /&gt;
        'ctable'                      =&amp;gt; 'tl_gw_meldungen' &lt;br /&gt;
    ), &lt;br /&gt;
    // List &lt;br /&gt;
    'list' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        'sorting' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'mode'                    =&amp;gt; 1, &lt;br /&gt;
            'fields'                  =&amp;gt; array('partnernachname','partnerinnachname'), &lt;br /&gt;
            'flag'                    =&amp;gt; 1 &lt;br /&gt;
        ), &lt;br /&gt;
        'label' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'fields'                  =&amp;gt; array('partnernachname','partnervorname','partnerinnachname','partnerinvorname','startgruppe','startklassestd','startklasselat'), &lt;br /&gt;
            'format'                  =&amp;gt; '%s, %s und %s, %s - %s %s LAT / %s STD' &lt;br /&gt;
        ), &lt;br /&gt;
        'global_operations' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'all' =&amp;gt; array &lt;br /&gt;
            ( &lt;br /&gt;
                'label'               =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['MSC']['all'], &lt;br /&gt;
                'href'                =&amp;gt; 'act=select', &lt;br /&gt;
                'class'               =&amp;gt; 'header_edit_all', &lt;br /&gt;
                'attributes'          =&amp;gt; 'onclick=&amp;quot;Backend.getScrollOffset();&amp;quot;' &lt;br /&gt;
            ) &lt;br /&gt;
        ), &lt;br /&gt;
        'operations' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'edit' =&amp;gt; array &lt;br /&gt;
            ( &lt;br /&gt;
                'label'               =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['edit'], &lt;br /&gt;
                'href'                =&amp;gt; 'act=edit', &lt;br /&gt;
                'icon'                =&amp;gt; 'edit.gif' &lt;br /&gt;
            ), &lt;br /&gt;
            'copy' =&amp;gt; array &lt;br /&gt;
            ( &lt;br /&gt;
                'label'               =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['copy'], &lt;br /&gt;
                'href'                =&amp;gt; 'act=copy', &lt;br /&gt;
                'icon'                =&amp;gt; 'copy.gif' &lt;br /&gt;
            ), &lt;br /&gt;
            'delete' =&amp;gt; array &lt;br /&gt;
            ( &lt;br /&gt;
                'label'               =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['delete'], &lt;br /&gt;
                'href'                =&amp;gt; 'act=delete', &lt;br /&gt;
                'icon'                =&amp;gt; 'delete.gif', &lt;br /&gt;
                'attributes'          =&amp;gt; 'onclick=&amp;quot;if (!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\')) return false; Backend.getScrollOffset();&amp;quot;' &lt;br /&gt;
            ), &lt;br /&gt;
            'show' =&amp;gt; array &lt;br /&gt;
            ( &lt;br /&gt;
                'label'               =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['show'], &lt;br /&gt;
                'href'                =&amp;gt; 'act=show', &lt;br /&gt;
                'icon'                =&amp;gt; 'show.gif' &lt;br /&gt;
            ) &lt;br /&gt;
        ) &lt;br /&gt;
    ), &lt;br /&gt;
    // Palettes &lt;br /&gt;
    'palettes' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        '__selector__'                =&amp;gt; array(''), &lt;br /&gt;
        'default'                     =&amp;gt; 'partnernachname,partnervorname;partnerinnachname,partnerinvorname' &lt;br /&gt;
    ), &lt;br /&gt;
    // Subpalettes &lt;br /&gt;
    'subpalettes' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        ''                            =&amp;gt; '' &lt;br /&gt;
    ), &lt;br /&gt;
    // Fields &lt;br /&gt;
    'fields' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        'partnernachname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnernachname'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;true, 'maxlength'=&amp;gt;64) &lt;br /&gt;
        ), &lt;br /&gt;
        'partnervorname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnervorname'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength'=&amp;gt;64&lt;br /&gt;
) &lt;br /&gt;
        ), &lt;br /&gt;
        'partnerinnachname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnerinnachname'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength'=&amp;gt;64&lt;br /&gt;
) &lt;br /&gt;
        ), &lt;br /&gt;
        'partnerinvorname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnerinvorname'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength'=&amp;gt;64&lt;br /&gt;
) &lt;br /&gt;
        ) &lt;br /&gt;
    ) &lt;br /&gt;
);  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Verwirrung im DCA-Land==&lt;br /&gt;
Nachdem ich einige Testpaare in meine &amp;quot;Minimalmaske&amp;quot; eingetragen habe, stelle ich fest, dass es nicht ganz so aussieht, wie ich es gerne hätte.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attachment_006.png|Mehrere Datensätze]]&lt;br /&gt;
&lt;br /&gt;
Für jeden Herrennachnamen gibt es eine eigene Gruppenüberschrift. Das ist irgendwie suboptimal, und verschwendet Platz. Ich hätte gerne keine Gruppenüberschriften, oder nur &amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;C&amp;quot;, usw...Ich vermute, dass das mit dem Eintrag ''['list']['sorting']['flag']'' zusammenhängt, den ich auf &amp;quot;1&amp;quot; hatte, laut Referenz ''Sort by initial letter ascending'':&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    // List &lt;br /&gt;
    'list' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        'sorting' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'mode'                    =&amp;gt; 1, &lt;br /&gt;
            'fields'                  =&amp;gt; array('partnernachname', 'partnervorname', 'partnerinnachname', 'partnerinvorname'), &lt;br /&gt;
            'flag'                    =&amp;gt; 1 &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ich spiele also etwas mit ''flag'' herum, und stelle fest: Irgendwie beeinflusst das garnix. &lt;br /&gt;
*  2 = ''Sort by initial letter descending'', &lt;br /&gt;
*  3 = ''Sort by initial two letters ascending'', &lt;br /&gt;
*  4 = ''Sort by initial two letters descending'', &lt;br /&gt;
* 11 = ''Sort ascending'' oder &lt;br /&gt;
* 12 = ''Sort descending'' &lt;br /&gt;
machen in meiner Auflistung nirgendwo irgendeinen Unterschied. Immer wird stur ''ascending'' in der Reihenfolge meiner Sortierfelder sortiert, und für jeden &amp;quot;Unique&amp;quot; Herrennachnamen gibt es eine Gruppenüberschrift.&lt;br /&gt;
 &lt;br /&gt;
In meiner Verzweifelung setze ich ''['list']['sorting']['mode']'' auf 0, laut Referenz ''Records are not sorted''. Das Ergebnis sieht so aus:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attachment_007.png|Datensätze unsortiert]]&lt;br /&gt;
&lt;br /&gt;
Immerhin sind die Gruppenüberschriften weg...und stur ''ascending'' nach meinen Sortierfeldern sortiert. Fast schon unnötig zu erwähnen, dass ''flag'' auch hier keine Wirkung zu haben scheint.&lt;br /&gt;
&lt;br /&gt;
Um das Sortieren vielleicht &amp;quot;von Hand&amp;quot; steuern zu können, füge ich streng nach Referenz die Zeile&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
            'panelLayout'             =&amp;gt; 'search,sort,filter'  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hinzu in der Erwartung, dass mir dann in der Übersicht die entsprechenden Optionen angeboten werden. Leider - nichts. Die Übersichtsliste der Turnierpaare verändert sich überhaupt nicht.&lt;br /&gt;
&lt;br /&gt;
Meine ''['list']['sorting']''-Sektion sieht nun so aus:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'sorting' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'mode'                    =&amp;gt; 0, &lt;br /&gt;
            'fields'                  =&amp;gt; array('partnernachname', 'partnervorname', 'partnerinnachname', 'partnerinvorname'), &lt;br /&gt;
            'flag'                    =&amp;gt; 1, &lt;br /&gt;
            'panelLayout'             =&amp;gt; 'search,sort,filter' &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jemand eine Ahnung, warum das Verhalten so ist, bzw. warum mich die Referenz für die DCA-Records so im Stich lässt?&lt;br /&gt;
Danke...&lt;br /&gt;
&lt;br /&gt;
==Leichte Entwirrung im DCA-Land==&lt;br /&gt;
Lösung gefunden! Bei den einzelnen ''field''-Beschreibungen muss noch die Freigabe zum Sortieren, Filtern und Suchen gegeben werden. Das sieht jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    // Fields &lt;br /&gt;
    'fields' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        'partnernachname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnernachname'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'search'                  =&amp;gt; true, &lt;br /&gt;
            'sorting'                 =&amp;gt; true, &lt;br /&gt;
            'filter'                  =&amp;gt; true, &lt;br /&gt;
            'flag'                    =&amp;gt; 1, &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;true, 'maxlength'=&amp;gt;64) &lt;br /&gt;
        ), &lt;br /&gt;
        'partnervorname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnervorname'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength'=&amp;gt;64&lt;br /&gt;
) &lt;br /&gt;
        ), &lt;br /&gt;
        'partnerinnachname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnerinnachname'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'search'                  =&amp;gt; true, &lt;br /&gt;
            'sorting'                 =&amp;gt; true, &lt;br /&gt;
            'filter'                  =&amp;gt; true, &lt;br /&gt;
            'flag'                    =&amp;gt; 1, &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength'=&amp;gt;64&lt;br /&gt;
) &lt;br /&gt;
        ), &lt;br /&gt;
        'partnerinvorname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnerinvorname'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength'=&amp;gt;64&lt;br /&gt;
) &lt;br /&gt;
        ) &lt;br /&gt;
    )  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit Ergebnis:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attachment_008.png|Datensätze sortiert]]&lt;br /&gt;
&lt;br /&gt;
Schon besser, auch wenn die Dropdown-Liste hinter ''Suchen:'' noch leer ist. Vielleicht liegt das an den noch fehlenden Feld-Labels in den Sprachdateien. Nur warum man ''flag'' bei den einzelnen Fields und nochmal global angeben muss, das will ich noch nicht verstehen...&lt;br /&gt;
&lt;br /&gt;
Ergänzung: Und wenn ich ''['sorting']['mode']'' auf 2 setze, dann kann ich sogar mein Sortierfeld auswählen....sehr schön...&lt;br /&gt;
&lt;br /&gt;
==DCA-Polishing==&lt;br /&gt;
Nachdem also die leichten Verwirrungen rund um den DCA-Record beseitigt sind, geht es weiter damit, die Backend-&amp;quot;Maske&amp;quot; für die ''tl_gw_turnierpaare''-Tabelle zu definieren und zu &amp;quot;polieren&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Zu jedem Feld lege ich einen Verweis auf den Erklärungs-Text an, der unter dem Eingabefeld angezeigt wird, z.B. für das ''partnernachname''-Feld im Abschnitt ''['fields']['partnernachname']'':&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnernachname_explanation'],  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der entsprechende Text muss in den Sprachfiles natürlich noch eingetragen werden - später.&lt;br /&gt;
&lt;br /&gt;
Außerdem ergänze ich den ''eval''-Wert meiner bisherigen 4 Eingabefelder um den Wert'' 'minlength' =&amp;gt; 1'', um bei den Namen eine Mindestlänge zu erzwingen (beim Wert 1 wahrscheinlich überflüssig, aber egal).&lt;br /&gt;
&lt;br /&gt;
Bei dem Nachnamen des Partners und der Partnerin ergänze ich außerdem ''&amp;lt;nowiki&amp;gt;'tl_class' =&amp;gt; 'w50'&amp;lt;/nowiki&amp;gt;''. Das sorgt dafür, dass zwei Felder nebeneinander dargestellt werden. Das Feld mit der w50-Klasse links, das darauffolgende rechts. Dadurch werden Nachname und Vorname jeder Person nebeneinander in einer Zeile dargestellt.&lt;br /&gt;
&lt;br /&gt;
Meine Einstellungen für das ''partnernachname''-Feld sehen jetzt so aus:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    // Fields &lt;br /&gt;
    'fields' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        'partnernachname' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnernachname'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['partnernachname_explanation'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'search'                  =&amp;gt; true, &lt;br /&gt;
            'sorting'                 =&amp;gt; true, &lt;br /&gt;
            'filter'                  =&amp;gt; true, &lt;br /&gt;
            'flag'                    =&amp;gt; 1, &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;true, 'minlength' =&amp;gt; 1, 'maxlength'=&amp;gt;64, 'tl_class' =&amp;gt; 'w50') &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wo ich gerade noch optisch etwas aufräume, baue ich den Eintrag ''default'' unter ''palettes'' so um:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    // Palettes &lt;br /&gt;
    'palettes' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        '__selector__'                =&amp;gt; array(''), &lt;br /&gt;
        'default'                     =&amp;gt; '{name_legend},partnernachname,partnervorname,partnerinnachname,partnerinvorname;' &lt;br /&gt;
    ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''{name_legend}'' legt die Überschrift für die &amp;quot;Palette&amp;quot; fest (also die Felder bis zum nächsten Semikolon). Der Wert muss später im Sprachenfile definiert werden. Ich habe nun alle 4 Textfelder in einer Palette. Optisches Ergebnis:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attachment_009.png|Eingabemaske]]&lt;br /&gt;
&lt;br /&gt;
Wenn man sich &amp;quot;vernünftige&amp;quot; Überschriften aus dem Sprachfile dazu vorstellt, schon mal ganz OK :-).&lt;br /&gt;
&lt;br /&gt;
Nun geht es um die noch fehlenden Tabellenfelder.&lt;br /&gt;
&lt;br /&gt;
Zunächst kommt ''startgruppe'', das bezeichnet die Altersklasse des Paars. Das Feld soll ''mandatory'' sein, aber auch eine &amp;quot;leere Option&amp;quot; erlauben. Ich will als Ausnahme auch eine Mannschaft in die Paarliste eingeben können, und Mannschaften haben keine Altersklasse. Mein Code für das ''field'' sieht so aus:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'startgruppe' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['startgruppe'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['startgruppe_explanation'],&lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'select', &lt;br /&gt;
            'options'                 =&amp;gt; array('KIN I','KIN II', 'JUN I', 'JUN II', 'JUG', 'HGR', 'HGR II', 'SEN I', 'SEN II', 'SEN III', 'SEN IV'), &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;true, 'includeBlankOption' =&amp;gt; true) &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ich wähle also ein ''select'', also eine Dropdown-Box. In ''options'' liste ich die möglichen Altersgruppen auf, im ''eval''-Bereich gebe ich noch an, dass eine leere Option hinzugefügt werden soll.&lt;br /&gt;
&lt;br /&gt;
Dann kommen ''startklasselatein'' und ''startklassestandard''. Inhaltlich kann in beiden Feldern dasselbe drinstehen, darum ist es fast nur Copy&amp;amp;Paste für das zweite Feld. Die Definition sieht so aus:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'startklasselatein' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['startklasselatein'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['startklasselatein_explanation'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'select', &lt;br /&gt;
            'options'                 =&amp;gt; array('E','D', 'C', 'B', 'A', 'S', 'PRO', 'LL', 'OL', 'RL', '2. BL', '1. BL'), &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;true, 'includeBlankOption' =&amp;gt; true, 'tl_class' =&amp;gt; 'w50') &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch hier wieder eine Dropdown-Box mit Optionen und Möglichkeit der &amp;quot;leeren Option&amp;quot;. Durch ''tl_class =&amp;gt; w50'' wird die Dropdown-Box nach links gerückt, so dass rechts daneben noch die gleichartige Box für ''startklassestandard'' passt. Die hat natürlich KEIN ''tl_class =&amp;gt; w50''!&lt;br /&gt;
&lt;br /&gt;
Eigentlich müsste ich prüfen, dass entweder in ''startklasselatein'' oder ''startklassestandard'' ein Wert ausgewählt ist (also nicht in beiden Feldern die leere Option gewählt wurde), aber das bürde ich zunächst mal dem User auf, vielleicht ergänze ich hier später eine Validation durch einen Hook.&lt;br /&gt;
&lt;br /&gt;
Zur Motivation will ich meine drei neuen Felder auch in im backend sehen, dazu muss ich sie zur Liste der Paletten hinzufügen. Ich packe sie in eine eigene Palette mit Überschrift.&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    // Palettes &lt;br /&gt;
    'palettes' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        '__selector__'                =&amp;gt; array(''), &lt;br /&gt;
        'default'                     =&amp;gt; '{name_legend},partnernachname,partnervorname,partnerinnachname,partnerinvorname;&lt;br /&gt;
{classes_legend},startgruppe,startklasselatein,startklassestandard' &lt;br /&gt;
    ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ergebnis:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attachment_010.png|Erweiterte Eingabemaske]]&lt;br /&gt;
&lt;br /&gt;
Weiter geht's, jetzt folgen die Felder ''aktiv'', ''aktivseit'' und ''aktivbis''.&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'aktiv' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['aktiv'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['aktiv_explanation'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'checkbox', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;true, 'isBoolean' =&amp;gt; true) &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Aktiv'' wird eine Checkbox. Ich weiß zwar nicht, was es für eine Bedeutung hat, aber da eine CheckBox immer &amp;quot;Boolean&amp;quot; ist, setze ich in ''eval'' ''isBoolean =&amp;gt; true''.&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'aktivseit' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['aktivseit'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['aktivseit_explanation'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'minlength' =&amp;gt; 4, 'maxlength' =&amp;gt; 4, 'rgxp' =&amp;gt; 'digit', 'tl_class' =&amp;gt; 'w50') &lt;br /&gt;
        ), &lt;br /&gt;
        'aktivbis' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['aktivbis'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['aktivbis_explanation'],&lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'minlength' =&amp;gt; 4, 'maxlength' =&amp;gt; 4, 'rgxp' =&amp;gt; 'digit') &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''aktivseit'' und ''aktivbis'' sollen nur eine Jahreszahl enthalten. Darum setze ich Minimal- und Maximallänge auf 4 und lasse durch ''rgxp'' nur Zahlen zu. Man hätte auch eine Dropdown-Box mit Jahreszahlen drin nehmen können. Ich denke beides hat Vor- und Nachteile. Sich durch DropDown-Boxen zu scrollen, die bei &amp;quot;1900&amp;quot; anfangen, wenn man nach &amp;quot;2004&amp;quot; will, ist auch kein Vergnügen. Das erste Feld setze ich mit ''tl_class =&amp;gt; w50'' nach links, um das zweite Feld daneben darstellen zu können.&lt;br /&gt;
&lt;br /&gt;
Ich ergänze die Paletten-Definition um&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
{aktiv_legend:hide},aktiv,aktivseit,aktivbis;  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da die Felder nicht so oft editiert werden, schließe ich die Palette defaultmäßig.&lt;br /&gt;
&lt;br /&gt;
Nun kommt schon ein kleiner Sonderfall: ''password''. Dies soll das Paar-Passwort sein, was zum Eintragen von Turnierergebnissen oder geänderten persönlichen Daten im Frontend dient. Ich will das nur in eigenen PHP-Skripten nutzen, von daher habe ich hier alle Freiheiten, wie ich das realisiere.&lt;br /&gt;
&lt;br /&gt;
Ich möchte gerne, dass der Sportwart in diesem Feld ein Klartextpasswort eingeben kann. In die Datenbank soll aber nur der MD5-Hash des Passworts gelangen. Momentan plane ich, dass in dem Textfeld einfach der MD5-Hash angezeigt wird, wenn man aber etwas in dieses Feld eingibt, dass es dann aber durch einen Hook in den Hash umgewandelt wird, bevor es in der Datenbank gespeichert wird. Um die Realisation kümmere ich mich später. Erstmal soll es ein ganz normales Text-Feld sein:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'password' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['password'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['password_explanation'], &lt;br /&gt;
            'exclude'                 =&amp;gt; false, &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'minlength' =&amp;gt; 1, 'maxlength' =&amp;gt; 64) &lt;br /&gt;
        )  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieses Feld soll (alleine) in einer eigenen Palette stehen, darum ergänze ich die Palettendefinition um:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
{password_legend:hide},password;  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zwischenstand der Backend-Maske:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attachment_011.png|Eingabemaske mit Passwort-Feld]]&lt;br /&gt;
&lt;br /&gt;
Und nochmal die gesamte Paletten-Definition:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    // Palettes &lt;br /&gt;
    'palettes' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        '__selector__'                =&amp;gt; array(''), &lt;br /&gt;
        'default'                     =&amp;gt; '{name_legend},partnernachname,partnervorname,partnerinnachname,partnerinvorname;&lt;br /&gt;
{classes_legend},startgruppe,startklasselatein,startklassestandard;{aktiv_legend:hide},aktiv,aktivseit,aktivbis;{password_legend:hide},password;' &lt;br /&gt;
    ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Leider ist damit schon wieder das Ende meiner zur Verfügung stehenden Zeit erreicht (Sorry, wenn es zu langsam voran geht). Bald geht es weiter.&lt;br /&gt;
&lt;br /&gt;
== Ein Bug, ein Bug!==&lt;br /&gt;
Nachdem man jetzt Startklassen eingeben, entdecke ich natürlich gleich einen Bug, und zwar in ''['list']['label']['fields']''.&lt;br /&gt;
&lt;br /&gt;
VORHER (falsch):&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
            'fields'                  =&amp;gt; array('partnernachname','partnervorname','partnerinnachname','partnerinvorname','startgruppe','startklassestd','startklasselat'),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NACHHER (richtig):&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
            'fields'                  =&amp;gt; array('partnernachname','partnervorname','partnerinnachname','partnerinvorname','startgruppe','startklassestandard','startklasselatein'),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D.h. die beiden Felder für die Startklasse Standard und Latein waren falsch benannt. Sorry.&lt;br /&gt;
&lt;br /&gt;
Und weiter geht es mit Bugs:&lt;br /&gt;
Wenn ich bei Feldern, die eine &amp;quot;leere Option&amp;quot; zulassen, trotzdem in ''eval 'mandatory' =&amp;gt; true'' fordere, kann die leere Option nicht ausgewählt werden. Gut, irgendwie auch logisch. Aus diesem Grund setze ich bei ''startgruppe'', ''startklasselatein'' und ''startklassestandard'': ''&amp;lt;nowiki&amp;gt;'mandatory'&amp;lt;/nowiki&amp;gt; =&amp;gt; false'', um auch die leere Option zuzulassen.&lt;br /&gt;
&lt;br /&gt;
Und letzter kleiner Fehler:&lt;br /&gt;
Im ''format''-String für die Zeilen in der Übersicht der Turnierpaare ''['list']['label']['format']'' ist LAT und STD vertauscht, ich drehe das um. Neu:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
            'format'                  =&amp;gt; '%s, %s und %s, %s - %s %s STD / %s LAT'  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Nochmals anders==&lt;br /&gt;
Tjaja, wie das bei so einem Tagebuch im Gegensatz zum &amp;quot;durchgeplanten und polierten&amp;quot; Tutorial so ist: Ich habe mir nochmal was anders überlegt.&lt;br /&gt;
&lt;br /&gt;
Ich habe mich entschlossen, die Felder ''startklasselatein'' und ''startklassestandard'' doch ''mandatory'' zu machen, aber als Option eine Leer-Option &amp;quot;-&amp;quot; hinzuzufügen. So ist der Benutzer gezwungen, explizit anzugeben, dass ein Paar keine Startklasse in einer der beiden Sektionen hat, und in meiner Paarübersicht sieht es besser aus, wenn z.B. vor &amp;quot;LAT&amp;quot; noch ein Strich steht, statt einfach garnichts.&lt;br /&gt;
&lt;br /&gt;
Bei beiden Feldern sieht der Eintrag in ''['fields']'' jetzt also so aus:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
            'options'                 =&amp;gt; array('-', 'E','D', 'C', 'B', 'A', 'S', 'PRO', 'LL', 'OL', 'RL', '2. BL', '1. BL'), &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;true)  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann habe ich noch entdeckt, dass man eine Checkbox nicht ''mandatory'' machen darf, weil dann MUSS sie nämlich angehakt werden. Ist irgendwie suboptimal. Also nochmal den Eintrag ''['fields']['aktiv']['eval']'' geändert auf:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'isBoolean' =&amp;gt; true)  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und schließlich habe ich den Format-String für die Turnierpaar-Übersicht nochmal überarbeitet. Damit die relevantesten Elemente hervor stechen, gebe ich die Nachnamen der Partner fett aus, ebenso die Startgruppe. Die Startklassen zusätzlich in orange (Standard) und rot (Latein). Die Startpässe der Paare in der jeweiligen Sektion haben die gleichen Farben, so dass dies für den Eingeweihten eine natürliche Assoziation ist.&lt;br /&gt;
&lt;br /&gt;
''['list']['label']['format']'' lautet jetzt:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
            'format'                  =&amp;gt; '&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;%s&amp;lt;/span&amp;gt;, %s und &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;%s&amp;lt;/span&amp;gt;, %s - &amp;lt;span style=&amp;quot;font-weight: bold; margin-left: 5px&amp;quot;&amp;gt;%s &amp;lt;span style=&amp;quot;color: orange; margin-left: 5px;&amp;quot;&amp;gt;%s STD&amp;lt;/span&amp;gt; / &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;%s LAT&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;'  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und sieht so aus:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attachment_012.png|Backend Datensätze]]&lt;br /&gt;
&lt;br /&gt;
Aber im nächsten Post geht es endlich mit den restlichen Feldern der ''tl_gw_turnierpaare''-Tabelle weiter.&lt;br /&gt;
==DCA - Almost there==&lt;br /&gt;
Schritt 4 scheint kein Ende zu nehmen. Wie erwartet, erweist sich das Thema &amp;quot;DCA&amp;quot; als harter Brocken.&lt;br /&gt;
&lt;br /&gt;
Zunächst geht es weiter mit den restlichen Feldern der ''tl_gw_turnierpaare''-Tabelle. Für Anschrift, Telefonnummer, Fax, Mobilnummer, Email-Adresse und Homepage gibt es jeweils ein Flag, ob es im öffentlichen Profil angezeigt werden soll. Ist es nicht gesetzt, sind die Daten nur im Backend sichtbar. So kann der Sportwart das Paar evtl. erreichen, falls notwendig&lt;br /&gt;
&lt;br /&gt;
Statt die Anschrift in Straße, PLZ, Ort, usw. aufzusplitten, habe ich hierfür eine ''textarea'' vorgesehen. Im DCA sieht das so aus:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'anschrift' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['anschrift'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['anschrift_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'textarea', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'cols' =&amp;gt; 40, 'rows' =&amp;gt; 5) &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alles wie gehabt, zusätzlich geben ''cols'' und ''rows'' die Spalten und Zeilen des Eingabebereichs an. &lt;br /&gt;
&lt;br /&gt;
Die Definition für das Flag, ob die Anschrift öffentlich angezeigt werden soll, ist so wie beim Feld ''aktiv'':&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'zeigeanschrift' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['zeigeanschrift'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['zeigeanschrift_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'checkbox', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'isBoolean' =&amp;gt; true) &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nicht Besonderes!&lt;br /&gt;
Die Felder für Telefon, Fax, Mobilnummer, EMail und Homepage sind jeweils Textfelder, denen ich je nach Art die passende Regular Expression zur Überprüfung der Inhalte zuweise. Zusätzlich hat jedes Feld die &amp;quot;Anzeigen&amp;quot;-Checkbox:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'telefon' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['telefon'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['telefon_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength' =&amp;gt; 32, 'rgxp' =&amp;gt; 'phone') &lt;br /&gt;
        ), &lt;br /&gt;
        'zeigetelefon' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['zeigetelefon'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['zeigetelefon_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'checkbox', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'isBoolean' =&amp;gt; true, 'tl_class' =&amp;gt; 'clr m12 w50') &lt;br /&gt;
        ), &lt;br /&gt;
        'fax' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['fax'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['fax_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength' =&amp;gt; 32, 'rgxp' =&amp;gt; 'phone') &lt;br /&gt;
        ), &lt;br /&gt;
        'zeigefax' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['zeigefax'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['zeigefax_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'checkbox', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'isBoolean' =&amp;gt; true, 'tl_class' =&amp;gt; 'clr m12 w50') &lt;br /&gt;
        ), &lt;br /&gt;
        'mobil' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['mobil'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['mobil_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength' =&amp;gt; 32, 'rgxp' =&amp;gt; 'phone') &lt;br /&gt;
        ), &lt;br /&gt;
        'zeigemobil' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['zeigemobil'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['zeigemobil_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'checkbox', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'isBoolean' =&amp;gt; true, 'tl_class' =&amp;gt; 'clr m12 w50') &lt;br /&gt;
        ), &lt;br /&gt;
        'email' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['email'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['email_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength' =&amp;gt; 32, 'rgxp' =&amp;gt; 'email') &lt;br /&gt;
        ), &lt;br /&gt;
        'zeigeemail' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['zeigeemail'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['zeigeemail_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'checkbox', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'isBoolean' =&amp;gt; true, 'tl_class' =&amp;gt; 'clr m12 w50') &lt;br /&gt;
        ), &lt;br /&gt;
        'homepage' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['homepage'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['homepage_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'text', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'maxlength' =&amp;gt; 32, 'rgxp' =&amp;gt; 'url') &lt;br /&gt;
        ), &lt;br /&gt;
        'zeigehomepage' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['zeigehomepage'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['zeigehomepage_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'checkbox', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'isBoolean' =&amp;gt; true, 'tl_class' =&amp;gt; 'clr m12 w50') &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die ''tl_class''-Werte sind so gewählt, dass jede &amp;quot;Anzeigen&amp;quot;-Checkbox links in einer Reihe mit dem entsprechenden Textfeld (rechts) in einer Zeile steht. Ich hätte es gerne andersrum gehabt, also Textfeld links, Checkbox rechts, aber trotz viel experimentieren mit den ''tl_class''-Werten ist es mir nicht gelungen, das Layout sah immer &amp;quot;zerschossen&amp;quot; aus.&lt;br /&gt;
&lt;br /&gt;
Den Wert ''['palettes']['default']'' ergänze ich noch um&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
'{contact_legend:hide},zeigeanschrift,anschrift,zeigetelefon,telefon,zeigefax,fax,zeigemobil,mobil,zeigeemail,email,zeigehomepage,homepage;'  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ergebnis:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attachment_013.png|Eingabemaske]]&lt;br /&gt;
&lt;br /&gt;
''Beschreibung'' ist eine Textarea, die in eigener Palette angezeigt werden soll. Einzige Besonderheit ist hier, dass ich HTML im Inhalt zulassen will.&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'beschreibung' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['beschreibung'], &lt;br /&gt;
            'explanation'             =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['beschreibung_explanation'], &lt;br /&gt;
            'inputType'               =&amp;gt; 'textarea', &lt;br /&gt;
            'eval'                    =&amp;gt; array('mandatory'=&amp;gt;false, 'cols' =&amp;gt; 80, 'rows' =&amp;gt; 20, 'allowHtml' =&amp;gt; true) &lt;br /&gt;
        ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schließlich fehlt noch das Bild. Hier wollte ich eine Bilder-Auswahl wie im Content-Element &amp;quot;Bild&amp;quot; haben. Ich habe eine Weile herumexperimentiert, insbesondere mit dem Feldtyp &amp;quot;radioTable&amp;quot; (der aber ganz falsch ist, wie mir jetzt klar ist). Lösung brachte dann ein Blick in das [http://dev.typolight.org/projects/typolight/wiki/TutorialsExtension CD-Collection-Tutorial], wo auch so eine Bilderauswahl drin ist. Der richtige DCA-Eintrag lautet:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        'bild' =&amp;gt; array &lt;br /&gt;
        ( &lt;br /&gt;
            'label'           =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['bild'], &lt;br /&gt;
            'explanation'     =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_gw_turnierpaare']['bild_explanation'], &lt;br /&gt;
            'inputType'       =&amp;gt; 'fileTree', &lt;br /&gt;
            'eval'            =&amp;gt; array('mandatory'=&amp;gt;false, 'files'=&amp;gt;true, 'fieldType'=&amp;gt;'radio', 'filesOnly' =&amp;gt; true, 'extensions' 		=&amp;gt; 'jpg,jpeg,png,gif', 'path' =&amp;gt; 'tl_files/GW/Bilder_Turnierpaare/') &lt;br /&gt;
        )  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Typ ist also ein ''fileTree'', in dem man mittels Radiobutton EIN File auswählen kann (''fieldType =&amp;gt; radio''), in dem Dateien mit den Erweiterungen jpeg,jpg,png und gif angezeigt werden (''extensions''), in dem Unterverzeichnisse UND Dateien angezeigt werden (''files =&amp;gt; true'', sonst werden NUR Verzeichnisse angezeigt), und in dem man mittels des Radiobuttons auch ausschließlich Dateien auswählen kann, KEINE Unterverzeichnisse (''filesOnly =&amp;gt; true''). Zusätzlich gebe ich den &amp;quot;Basis-Pfad&amp;quot; an, aus dem man auswählen kann (''path''). Wobei der natürlich bei Jedem anders heißen kann...Also eigentlich nicht so toll. Muss nochmal drüber nachdenken.&lt;br /&gt;
&lt;br /&gt;
Noch die Palettendefinition erweitern um&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
'{beschreibung_legend:hide},beschreibung;{bild_legend:hide},bild;'  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und wir landen hier:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attachment_014.png|Bildauswahl]]&lt;br /&gt;
&lt;br /&gt;
Damit bin ich im Prinzip mit der Maskendefinition für diese Tabelle fertig, abgesehen vom Hook für das MD5-Hashing meines Passworts. Das verschiebe ich erstmal auf später :-).&lt;br /&gt;
&lt;br /&gt;
Folgende &amp;quot;Probleme&amp;quot; habe ich noch: Meine Palettendefinition sieht insgesamt so aus:&lt;br /&gt;
&lt;br /&gt;
PHP-Code:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    // Palettes &lt;br /&gt;
    'palettes' =&amp;gt; array &lt;br /&gt;
    ( &lt;br /&gt;
        '__selector__'                =&amp;gt; array(''), &lt;br /&gt;
        'default'                     =&amp;gt; '{name_legend},partnernachname,partnervorname,partnerinnachname,partnerinvorname;'.'{classes_legend},startgruppe,startklasselatein,startklassestandard;'.'{aktiv_legend:hide},aktiv,aktivseit,aktivbis;password_legend:hide},password;'.'{contact_legend:hide},zeigeanschrift,anschrift,zeigetelefon,telefon,zeigefax,fax,zeigemobil,mobil,zeigeemail,email,zeigehomepage,homepage;'.'{beschreibung_legend:hide},beschreibung;{bild_legend:hide},bild;' &lt;br /&gt;
    ),  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eigentlich erwarte ich, dass nur die oberste Palette geöffnet ist, und alle folgenden geschlossen. Komischerweise sind beim Editieren bestehender Einträge und auch bei der Neuanlage alle geöffnet bis auf ''password'' und ''beschreibung''. Ich kann nicht verstehen, wieso. Kann mich jemand schlau machen?&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaft ''exclude'' im Abschnitt ''fields'' soll steuern, ob das jeweilige Feld in der Usergruppenverwaltung spezifisch für einzelne Gruppen (de)aktivierbar ist. ''Bei exclude =&amp;gt; true'' soll das Feld in der Usergruppenverwaltung erscheinen, bei ''false'' soll es dort nicht erscheinen und immer sichtbar sein (für die Gruppen, die das Backend-Modul überhaupt freigegeben haben).&lt;br /&gt;
&lt;br /&gt;
Das Verhalten scheint aber ein anderes zu sein: Egal ob ich ''exclude true'' oder ''false'' zuweise, erscheint das Feld in der Usergruppenverwaltung. Nur wenn ich ''exclude'' ganz weglasse, erscheint es dort nicht. Ein Bug? Keine Ahnung. Zumindest ist es in der Referenz anders beschrieben. Da ich diese Steuerung auf Feldebene nicht brauche, sondern das ganze Backendmodul nur einer bestimmten Usergruppe freischalten möchte, habe ich die ''exclude''-Eigenschaft aus allen Felddefinitionen entfernt. &lt;br /&gt;
&lt;br /&gt;
Mein &amp;quot;Traum&amp;quot; wäre, dass man, falls ein Bild schon ausgewählt ist im Filetree man sofort dieses Bild sieht, statt erst den Filetree öffnen zu müssen, um zu sehen ob irgendwo der Radiobutton gesetzt ist. So kann man beim Öffnen eines Datensatzes nicht schnell sehen, ob ein Paar ein Bild zugewiesen hat, oder nicht. Aber ich glaube, das ist so (noch) nicht vorgesehen.&lt;br /&gt;
&lt;br /&gt;
So, das sollte das Ende von Schritt 4 gewesen sein (puh). Um die Maske zu vervollständigen, werde ich mit der Definition der Texte in den Sprachfiles weitermachen.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/News_und_Kommentare_in_verschiedenen_Layoutbereichen</id>
		<title>News und Kommentare in verschiedenen Layoutbereichen</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/News_und_Kommentare_in_verschiedenen_Layoutbereichen"/>
				<updated>2010-10-16T21:56:39Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: „Kurzbeschreibung“ unter die Hauptüberschrift gepackt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Dev_Snippets]]{{AppliesTo&lt;br /&gt;
|Version=ab 2.9&lt;br /&gt;
}}&lt;br /&gt;
Eröffnet die Möglichkeit die Kommentare und das Formular von den News zu trennen und in einem anderen Layoutbereich zu präsentieren, z.B. in der rechten Spalte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Basiert auf:=&lt;br /&gt;
&lt;br /&gt;
root/system/module/news/templates/mod_newsreader.tpl (Contao 2.9.1)&lt;br /&gt;
&lt;br /&gt;
=Ausführliche Beschreibung/Sonstige Infos:=&lt;br /&gt;
Hier das mod_newsreader.tpl leicht modifiziert, natürlich nicht im Core, sondern eine Kopie im Ordner roots/templates/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- Nächster Block nicht im Reader mit der Klasse comments-only --&amp;gt;&lt;br /&gt;
&amp;lt;?php   if(strpos($this-&amp;gt;class, 'comments-only') === false): ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;&amp;lt;?php echo $this-&amp;gt;class; ?&amp;gt; block&amp;quot;&amp;lt;?php echo $this-&amp;gt;cssID; ?&amp;gt;&amp;lt;?php if ($this-&amp;gt;style): ?&amp;gt; style=&amp;quot;&amp;lt;?php echo $this-&amp;gt;style; ?&amp;gt;&amp;quot;&amp;lt;?php endif; ?&amp;gt;&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($this-&amp;gt;headline): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;?php echo $this-&amp;gt;hl; ?&amp;gt;&amp;gt;&amp;lt;?php echo $this-&amp;gt;headline; ?&amp;gt;&amp;lt;/&amp;lt;?php echo $this-&amp;gt;hl; ?&amp;gt;&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php echo $this-&amp;gt;articles; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- indexer::stop --&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;back&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;&amp;lt;?php echo $this-&amp;gt;referer; ?&amp;gt;&amp;quot; title=&amp;quot;&amp;lt;?php echo $this-&amp;gt;back; ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;?php echo $this-&amp;gt;back; ?&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- indexer::continue --&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;!-- Nächster Block nicht im Reader mit der Klasse comments-only - ENDE --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Nächster Block nicht im Reader mit der Klasse news-only --&amp;gt;&lt;br /&gt;
&amp;lt;?php   if(strpos($this-&amp;gt;class, 'news-only') === false): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php if ($this-&amp;gt;allowComments &amp;amp;&amp;amp; ($this-&amp;gt;comments || !$this-&amp;gt;requireLogin)): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;ce_comments block&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;?php echo $this-&amp;gt;hlc; ?&amp;gt;&amp;gt;&amp;lt;?php echo $this-&amp;gt;addComment; ?&amp;gt;&amp;lt;/&amp;lt;?php echo $this-&amp;gt;hlc; ?&amp;gt;&amp;gt;&lt;br /&gt;
&amp;lt;?php foreach ($this-&amp;gt;comments as $comment) echo $comment; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php echo $this-&amp;gt;pagination; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php if (!$this-&amp;gt;requireLogin): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- indexer::stop --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;form&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($this-&amp;gt;confirm): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;confirm&amp;quot;&amp;gt;&amp;lt;?php echo $this-&amp;gt;confirm; ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;?php else: ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form action=&amp;quot;&amp;lt;?php echo $this-&amp;gt;action; ?&amp;gt;&amp;quot; id=&amp;quot;&amp;lt;?php echo $this-&amp;gt;formId; ?&amp;gt;&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;formbody&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;FORM_SUBMIT&amp;quot; value=&amp;quot;&amp;lt;?php echo $this-&amp;gt;formId; ?&amp;gt;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;widget&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?php echo $this-&amp;gt;fields['name']-&amp;gt;generateWithError(); ?&amp;gt; &amp;lt;?php echo $this-&amp;gt;fields['name']-&amp;gt;generateLabel(); ?&amp;gt; &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;widget&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?php echo $this-&amp;gt;fields['email']-&amp;gt;generateWithError(); ?&amp;gt; &amp;lt;?php echo $this-&amp;gt;fields['email']-&amp;gt;generateLabel(); ?&amp;gt; &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;widget&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?php echo $this-&amp;gt;fields['website']-&amp;gt;generateWithError(); ?&amp;gt; &amp;lt;?php echo $this-&amp;gt;fields['website']-&amp;gt;generateLabel(); ?&amp;gt; &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;?php if (isset($this-&amp;gt;fields['captcha'])): ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;widget&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?php echo $this-&amp;gt;fields['captcha']-&amp;gt;generateWithError(); ?&amp;gt; &amp;lt;label for=&amp;quot;ctrl_captcha&amp;quot;&amp;gt;&amp;lt;?php echo $this-&amp;gt;fields['captcha']-&amp;gt;generateQuestion(); ?&amp;gt;&amp;lt;span class=&amp;quot;mandatory&amp;quot;&amp;gt;*&amp;lt;/span&amp;gt;&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;widget&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?php echo $this-&amp;gt;fields['comment']-&amp;gt;generateWithError(); ?&amp;gt; &amp;lt;label for=&amp;quot;ctrl_&amp;lt;?php echo $this-&amp;gt;fields['comment']-&amp;gt;id; ?&amp;gt;&amp;quot; class=&amp;quot;invisible&amp;quot;&amp;gt;&amp;lt;?php echo $this-&amp;gt;fields['comment']-&amp;gt;label; ?&amp;gt;&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;submit_container&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;submit&amp;quot; class=&amp;quot;submit&amp;quot; value=&amp;quot;&amp;lt;?php echo $this-&amp;gt;submit; ?&amp;gt;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;?php if ($this-&amp;gt;hasError): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--//--&amp;gt;&amp;lt;![CDATA[//&amp;gt;&amp;lt;!--&lt;br /&gt;
window.scrollTo(null, ($('&amp;lt;?php echo $this-&amp;gt;formId; ?&amp;gt;').getElement('p.error').getPosition().y - 20));&lt;br /&gt;
//--&amp;gt;&amp;lt;!]]&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- indexer::continue --&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;!-- Nächster Block nicht im Reader mit der Klasse news-only - ENDE --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Nächster Block nicht im Reader mit der Klasse comments-only --&amp;gt;&lt;br /&gt;
&amp;lt;?php   if(strpos($this-&amp;gt;class, 'comments-only') === false): ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&amp;lt;!-- Nächster Block nicht im Reader mit der Klasse comments-only - ENDE --&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es wurden nur IF-Abfragen mit den entsprechenden ENDIFs eingefügt und entsprechende HTML-Kommentar dazu geschrieben, welche man natürlich entfernen kann. Vergibt man keine Klassen, funktioniert das Template wie im Original (Contao 2.9.1).&lt;br /&gt;
&lt;br /&gt;
Jetzt noch den Artikel mit dem Newsreader kopieren, einfügen und den neuen auf rechte Spalte einstellen. Jetzt noch den Inhaltselementen dieser Artikel die Klassen news-only und comments-only mitgeben. Alles so, wie in den Screenshots zu sehen ist.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Frontend_News_Kommentare_getrennt.png|center|frame|Getrennte Frontend News / Kommentare]]&lt;br /&gt;
[[Datei:Article_News_Newsreader.png|center|frame|Article &amp;quot;News only&amp;quot; / Artikel &amp;quot;Comments only&amp;quot;]]&lt;br /&gt;
[[Datei:Eingabe_der_Klasse.png|center|frame|Einstellung für den Artikel &amp;quot;News only&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
Die Funktion einen Kommentar hinzuzufügen funktioniert einwandfrei.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Freundlicherweise zur Verfügung gestellt von [http://www.contao-community.de/member.php?72-Andreas Andreas Burg] burgtech [http://andreasburg.de/ (http://andreasburg.de/)]&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Bookmarking</id>
		<title>Bookmarking</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Bookmarking"/>
				<updated>2010-10-16T21:54:35Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: &amp;lt;br /&amp;gt; unter der Hauptüberschrift entfernt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Extensions]]&lt;br /&gt;
Dieses Inhaltselement ermöglicht es, Webseiten zu sozialen Lesezeichen hinzuzufügen.&lt;br /&gt;
&lt;br /&gt;
{{ExtInfo&lt;br /&gt;
| Dev=Helmut Schottmüller ([[User:hschottm|hschottm]])&lt;br /&gt;
| DevSite=http://www.aurealis.de&lt;br /&gt;
| ExtVersion=1.0.2&lt;br /&gt;
| Version=2.9.0 - 2.9.1&lt;br /&gt;
| TLVersion=2.7.0 - 2.8.4&lt;br /&gt;
| ERLink=http://www.contao.org/erweiterungsliste/view/bookmarking.de.html&lt;br /&gt;
| DonateLink=http://aurealis.de/spenden.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== bookmarking (Social Bookmarks / Soziale Lesezeichen) ==&lt;br /&gt;
&lt;br /&gt;
Mit dem bookmarking Inhaltselement kann man innerhalb von Contao-Artikeln eine oder mehrere Schaltflächen zum Speichern der aktuellen Seite bei bevorzugten Social Bookmark Anbietern zur Verfügung stellen. Unter Social Bookmarks versteht man das Speichern der Lesezeichen zu bevorzugten Internetseiten in einer extra dafür bereitgestellten Internetseite anstelle des Webbrowsers. Dadurch sind die Lesezeichen weltweit verfügbar und nicht mehr an den Internetbrowser gebunden. Wenn man die Lesezeichen öffentlich zugänglich macht entstehen dadurch sogar mächte Werkezeuge zur Trend- und Meinungsbildung. Die Anzahl der Anbieter solcher Social Bookmark Lösungen ist mittlerweile auch relativ unübersichtlich geworden.&lt;br /&gt;
&lt;br /&gt;
bookmarking bietet die Unterstützung für einige ausgewählte Social Bookmark Anbieter sowie den Meta-Anbieter AddThis, der sich darauf spezialisiert hat, das Speichern von Lesezeichen für eine möglichst umfassende Anzahl von Anbietern zu ermöglichen.&lt;br /&gt;
&lt;br /&gt;
Um den Verweis auf eine Seiten direkt bei einem der verfügbaren Anbieter speicherbar zu machen, legt man innerhalb eines Artikels ein Inhaltselement mit dem Namen **Social Bookmarks (Soziale Lesezeichen)** an. Dort wählt man unter Social Bookmark Anbieter die bevorzugten Anbieter aus und/oder aktiviert die Unterstützung für den AddThis Meta-Anbieter.&lt;br /&gt;
&lt;br /&gt;
[[Datei:bookmarking_edit_01.png|Auswahl der einzelnen Anbieter|center|frame]]&lt;br /&gt;
&lt;br /&gt;
Wenn man sich für AddThis als Anbieter entscheidet, muss man einen AddThis-Benutzernamen angeben, die Einbindung in AddThis-Seiten für statistische Zwecke die Angabe eines Benutzers erwartet. Das AddThis-Logo wird automatisch in der aktuellen Frontend-Sprache angezeigt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:bookmarking_edit_02.png|Auswahl und Einstellungen für den AddThis-Anbieter|center|frame]]&lt;br /&gt;
&lt;br /&gt;
Im Frontend erhält man dann eine Liste der gewählten Anbieter. Durck Anklicken der jeweiligen Logos wird der Verweis auf die Seite, in die das Inhaltselement eingebunden ist, an den Anbieter gesendet.&lt;br /&gt;
&lt;br /&gt;
[[Datei:bookmarking.jpg|Anzeige verschiedener Anbeiter im Contao Frontend|center|frame]]&lt;br /&gt;
&lt;br /&gt;
Wenn man jede seiner Seiten für das Speichern in Social Bookmark Diensten bereit machen will, so legt man das Inhaltselement am besten innerhalb einer Kopfzeile oder einer Fußzeile ab.&lt;br /&gt;
Der AddThis-Dienst bietet Unterstützung für zahllose Social Bookmark Anbieter an. Sobald man mit der Maus über die AddThis-Schaltfläche navigiert, erscheint ein Popup-Fenster, über das man neben Email-Kontakt und den wichtigsten Anbietern auch auf eine Gesamtliste der verfügbaren Anbieter kommt, um seine Verlinkung gezielt ablegen zu können:&lt;br /&gt;
&lt;br /&gt;
[[Datei:addthis_popup.png|AddThis Popup bei aktivierter AddThis-Schaltfläche|center|frame]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hinweise für Entwickler ===&lt;br /&gt;
Wenn man weitere Anbieter zu dem Inhaltselement hinzufügen möchte, muss man die Methode &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;getBookmarkingOptions()&amp;lt;/source&amp;gt; der Klasse Bookmarks um die gewünschten Optionen erweitern und in der Klasse ContentBookmarking für jede Option eine Methode &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;getHrefAnbietername()&amp;lt;/source&amp;gt; hinzufügen, wobei Anbietername der Name des Anbieters ist, den man in der &amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;getBookmarkingOptions()&amp;lt;/source&amp;gt; Methode angegeben hat.&lt;br /&gt;
Auf Wunsch wird dieses Element aber auch gerne vom Autor um weitere Anbieter erweitert.&lt;br /&gt;
&lt;br /&gt;
--[[Benutzer:Hschottm|Hschottm]] 13:27, 11. Sep. 2010 (CEST)&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Vorhandene_Module_erweitern</id>
		<title>Vorhandene Module erweitern</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Vorhandene_Module_erweitern"/>
				<updated>2010-10-16T21:50:53Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Test wegen merkwürdigem &amp;lt;p&amp;gt;-Erscheinen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Dev_HOWTOS]]{{AppliesTo&lt;br /&gt;
|Version=2.9 RC1&lt;br /&gt;
}}&lt;br /&gt;
=Vorwort=&lt;br /&gt;
Dieses Tutorial soll neben anderen vorhandenen Tutorials beim Einstieg in die Modulprogrammierung helfen. Hier wird kein eigenständiges Modul erstellt, sondern auf ein vorhandenes Core-Modul und der Demo-Installation ''Music Academy'' aufgebaut.&lt;br /&gt;
&lt;br /&gt;
=Anforderung=&lt;br /&gt;
Die Music Academy hat in diesem Jahr so viele talentierte Schüler, dass sie mit Hilfe deren musikalischer Unterstützung verschiedene Abendveranstaltungen durchführen möchte. Manche der Veranstaltungen werden mit kostenlosem Eintritt angeboten, andere Veranstaltungen sollen kostenpflichtig sein. Um den besonders kostenbewussten Musikliebhabern in der '''Veranstaltungsliste''' auf einem Blick aufzuzeigen, welche Veranstaltungen kostenfrei sind, soll '''diese Information''' in Zukunft '''bei jeder einzelnen Veranstaltung''' direkt angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
Zur Umsetzung der Anforderung wird das Formular zur Eingabe von Terminen um eine zusätzliche Checkbox erweitert. Diese Checkbox ist bei Veranstaltungen mit kostenlosem Eintritt zu aktivieren. Falls die Prüfung im Template ergibt, dass der Wert der Checkbox gesetzt ist, wird eine entsprechende Information im Frontend ausgegeben.&lt;br /&gt;
&lt;br /&gt;
=Kurzanleitung=&lt;br /&gt;
# ''TL_ROOT/system/modules/calendarFreeEntry'' - neues Modulverzeichnis mit nötiger Verzeichnis- und Dateistruktur erstellen&lt;br /&gt;
# ''TL_ROOT/system/modules/calendarFreeEntry/config/database.sql'' – Datenbanktabelle um neues Feld ''freeEntry'' erweitern&lt;br /&gt;
# ''TL_ROOT/system/modules/calendarFreeEntry/dca/tl_calendar_events.php'' – Data Container Array erweitern&lt;br /&gt;
# ''TL_ROOT/system/modules/calendarFreeEntry/languages'' – Sprachdateien um neues Feld ''freeEntry'' erweitern&lt;br /&gt;
# ''TL_ROOT/system/modules/calendarFreeEntry/templates'' – Erweiterung Template um Laden der Sprachdatei, Prüfung des Feldes freeEntry und abhängiger Ausgabe&lt;br /&gt;
# ''&amp;lt;nowiki&amp;gt;http://www.meinedomain.de/contao/install.php&amp;lt;/nowiki&amp;gt;'' - Datenbank-Update durchführen, Template in der Eventliste ändern, Termin einstellen, testen&lt;br /&gt;
&lt;br /&gt;
=Detailanleitung=&lt;br /&gt;
==Erstellen des neuen Modulverzeichnis mit nötiger Verzeichnis- und Dateistruktur==&lt;br /&gt;
In dieser Anleitung wird die Extension-Erweiterung lokal erstellt und anschließend auf den Webserver hoch geladen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
TL_ROOT/system/modules/calendarFreeEntry&lt;br /&gt;
TL_ROOT/system/modules/calendarFreeEntry/config&lt;br /&gt;
TL_ROOT/system/modules/calendarFreeEntry/config/database.sql&lt;br /&gt;
TL_ROOT/system/modules/calendarFreeEntry/dca&lt;br /&gt;
TL_ROOT/system/modules/calendarFreeEntry/dca/tl_calendar_events.php&lt;br /&gt;
TL_ROOT/system/modules/calendarFreeEntry/languages&lt;br /&gt;
TL_ROOT/system/modules/calendarFreeEntry/languages/de&lt;br /&gt;
TL_ROOT/system/modules/calendarFreeEntry/languages/de/tl_calendar_events.php&lt;br /&gt;
TL_ROOT/system/modules/calendarFreeEntry/languages/en&lt;br /&gt;
TL_ROOT/system/modules/calendarFreeEntry/languages/en/tl_calendar_events.php&lt;br /&gt;
TL_ROOT/system/modules/calendarFreeEntry/templates/&lt;br /&gt;
TL_ROOT/system/modules/calendarFreeEntry/templates/event_list_freeEntry.tpl&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Erweiterung der vorhandenen Datenbanktabelle tl_calendar_events==&lt;br /&gt;
Dazu die Datei ''TL_ROOT/system/modules/calendarFreeEntry/config/database.sql'' öffnen und folgenden Inhalt einfügen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
--&lt;br /&gt;
--		Table `tl_calendar_events`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `tl_calendar_events` (&lt;br /&gt;
	`freeEntry` char(1) NOT NULL default '',&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anschliessend speichern und schliessen.&lt;br /&gt;
&lt;br /&gt;
==Erweiterung des vorhandenen Data Container Arrays (DCA)==&lt;br /&gt;
Dazu die Datei ''TL_ROOT/system/modules/calendarFreeEntry/dca/tl_calendar_events.php'' öffnen und folgenden Inhalt einfügen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if (!defined('TL_ROOT')) die('You can not access this file directly!');&lt;br /&gt;
&lt;br /&gt;
//Anzeige im Backend&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default'] = str_replace('title,','title,freeEntry,', $GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default']);&lt;br /&gt;
&lt;br /&gt;
//Beschreibung des Feldes&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['freeEntry'] = array&lt;br /&gt;
(&lt;br /&gt;
'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_calendar_events']['freeEntry'],&lt;br /&gt;
'inputType'               =&amp;gt; 'checkbox'&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anschliessend speichern und schliessen.&lt;br /&gt;
&lt;br /&gt;
==Erweiterung der vorhandenen Sprachdateien==&lt;br /&gt;
''TL_ROOT/system/modules/calendarFreeEntry/languages/de/tl_calendar_events.php''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if (!defined('TL_ROOT')) die('You can not access this file directly!');&lt;br /&gt;
&lt;br /&gt;
$GLOBALS['TL_LANG']['tl_calendar_events']['freeEntry']        = array('Free entry', 'Zeigen Sie den Termin mit kostenlosen Eintritt an.'); &lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''TL_ROOT/system/modules/calendarFreeEntry/languages/en/tl_calendar_events.php''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php if (!defined('TL_ROOT')) die('You can not access this file directly!');&lt;br /&gt;
&lt;br /&gt;
$GLOBALS['TL_LANG']['tl_calendar_events']['freeEntry']        = array('Free Entry', 'Display the event with free entry.');&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Erweiterung des vorhandenen Templates==&lt;br /&gt;
Damit im Template die gewünschte Information ausgegeben werden kann, wird das vorhandene Template der Kerninstallation kopiert, in das neue Modulverzeichnis eingefügt und die PHP-Logik entsprechend ergänzt. Dazu wird eine Prüfung eingebaut, die prüft, ob der Wert der Checkbox gesetzt wurde. Bei gesetztem Wert soll im Template sprachabhängig die Information ausgegeben, dass es sich um eine kostenlose Veranstaltung handelt. Damit die Inhalte der Sprachdateien zugegriffen werden kann, muss die Sprachdatei zu erst noch geladen werden. Contao wurde so konzipiert, dass ausschließlich nur die benötigten Ressourcen geladen werden, um das System auch in der Laufzeit möglichst performant zu halten.&lt;br /&gt;
&lt;br /&gt;
Vorhandene Datei aus ''TL_ROOT/system/modules/calendar/templates/event_list.tpl'' in ''TL_ROOT/system /modules/calendarFreeEntry/templates'' kopieren, in ''event_list_freeEntry.tpl'' umbenennen und entsprechend erweitern:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//Load language file&lt;br /&gt;
&amp;lt;?php $this-&amp;gt;loadLanguageFile('tl_calendar_events'); ?&amp;gt;&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
//Check field freeEntry&lt;br /&gt;
&amp;lt;?php if ($this-&amp;gt;freeEntry): ?&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;freeEntry&amp;quot;&amp;gt;&amp;lt;?php echo $GLOBALS['TL_LANG']['tl_calendar_events']['freeEntry'][0]; ?&amp;gt;&amp;lt;/p&amp;gt;  &lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies war die letzte Datei, die erstellt / bearbeitet werden musste. Nun muss das ganze Paket in die Contao-Installation hoch geladen werden. Beim Hochladen ist darauf zu achten, dass der Ordner an die richtige Stelle kopiert wird.&lt;br /&gt;
&lt;br /&gt;
[[Datei:moduleext_ftp.png|FTP]]&lt;br /&gt;
&lt;br /&gt;
==Datenbank-Update, Veranstaltung eintragen, Test==&lt;br /&gt;
Über ''&amp;lt;nowiki&amp;gt;http://www.meinedomain.de/typolight/install.php&amp;lt;/nowiki&amp;gt;'' ein Datenbank-Update durchführen (vorgeschlagene Änderungen per Haken aktivieren =&amp;gt; Update Database).&lt;br /&gt;
&lt;br /&gt;
[[Datei:moduleext_updatedb.png|Datenbank-Update durchführen]] &lt;br /&gt;
&lt;br /&gt;
Anschließend im Backend unter Themes das MusicAcademy-Theme bearbeiten und bei den Frontend-Modulen das Modul ''Calendar - Event List (Eventliste)'' suchen und dieses ebenfalls bearbeiten. Unter dem Punkt ''Template-Einstellungen'' wählt man nun das neu erstellte Template ''event_list_freeEntry'' aus.&lt;br /&gt;
&lt;br /&gt;
[[Datei:moduleext_template.png|Erstelltes Template auswählen]]&lt;br /&gt;
&lt;br /&gt;
Wenn man nun ein neues Event erstellt oder ein vorhandenes bearbeitet, hat man unter dem ''Title''-Feld eine neue Auswahl ''Free entry'' zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
[[Datei:moduleext_editevent.png|Event bearbeiten]]&lt;br /&gt;
&lt;br /&gt;
Wird diese Einstellung aktiviert, so wird im Frontend in der Eventliste (.../contao_music/index.php/event-list.html?month=201001) zu den normalen Informationen zusätzlich der Eintrag ''Free Entry'' angezeigt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:moduleext_fe.png|Frontend Ausgabe]]&lt;br /&gt;
&lt;br /&gt;
=Credits=&lt;br /&gt;
Die Orginal-Anleitung wurde erstellt von manela&amp;lt;br /&amp;gt;&lt;br /&gt;
Div. Korrekturen und Anpassungen an die Contao-Version durch [[user:Toflar|Toflar]], [[user:BugBuster|BugBuster]] und [[user:manitougs|manitougs]]&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Hauptseite</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Hauptseite"/>
				<updated>2010-10-08T12:53:53Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Den Abstand simuliert, der durch das margin: 0 auto entfernt wurde&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Main Page]]&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;margin:0 auto 2em auto;&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;color:#e76700;&amp;quot; |&amp;lt;big&amp;gt;'''Willkommen in der Contao Community Documentation.'''&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|Hier findest du eine ständig wachsende Sammlung von Anleitungen und Problemlösungen.&lt;br /&gt;
|-style=&amp;quot;text-align:center; height:200px;&amp;quot;&lt;br /&gt;
|[[Datei:Einsteiger.png|64px|verweis=Einsteiger|Neu hier?]]&lt;br /&gt;
[[Einsteiger|Neu hier?]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Grundlegende Infos zu Contao&lt;br /&gt;
|[[Datei:Installation.png|64px|verweis=Installation|Contao installieren]]&lt;br /&gt;
[[Installation]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Contao installieren&lt;br /&gt;
|[[Datei:Erste Schritte.png|64px|verweis=:Kategorie:Erste Schritte|Erstkonfiguration nach der Installation]]&lt;br /&gt;
[[:Kategorie:Erste Schritte|Erste Schritte]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Erstkonfiguration nach der Installation&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;3&amp;quot;|'''Das ganze Projekt lebt vor allem von der Mithilfe seiner User. Solltest du Lust haben, selbst mitzumachen, melde dich an und dokumentiere mit.'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ziel des &amp;quot;Contao Community Documentation&amp;quot; Projektes ist es, Anwendern, Verwaltern und Entwicklern Informationen zum Content Management System Contao zur Verfügung zu stellen.&lt;br /&gt;
&lt;br /&gt;
Das &amp;quot;ccd&amp;quot; ist keine offizielle Seite des Contao Projekts, sondern ein von engagierten Anwendern derselbigen Software ins Leben gerufen worden.&lt;br /&gt;
Bitte meldet Fehler, Anmerkungen und grundsätzliches Gemecker an dieser Dokumentation daher nicht beim offiziellen Team von Contao sondern bei uns.&lt;br /&gt;
Das offizielle Team von Contao hat so schon genug zu tun. :)&lt;br /&gt;
&lt;br /&gt;
'''Komm doch zu uns in den [[Chat HowTo‎|Chat]] auf einen ungezwungenen und freundlichen Austausch zu Contao.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right;text-align:center;&amp;quot;&amp;gt;Dies ist eine&amp;lt;br/&amp;gt;[[Datei:Contao_Fanpage_Web.png|Contao unofficial fanpage]]&amp;lt;br/&amp;gt;[http://www.contao.org http://www.contao.org]&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Chat_HowTo</id>
		<title>Chat HowTo</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Chat_HowTo"/>
				<updated>2010-10-08T12:51:13Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Der User, wie in &amp;quot;der Nutzer&amp;quot;, &amp;quot;der Benutzer&amp;quot; oder Manche &amp;lt;- männlich User&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Chat HowTo‎]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sonstiges]]&lt;br /&gt;
=Einleitung=&lt;br /&gt;
Um an einem Chat in einem [[w:de:Internet_Relay_Chat|IRC-Netzwerk]] teilnehmen zu können, gibt es verschiedenste Programme für fast alle Betriebssysteme. Der (inoffizielle) Chatraum für das Content Management System Contao heist #contao (englischsprachig) bzw. #contao.de (deutschsprachig) und befindet sich im [http://www.freenode.net Freenode] Netzwerk.&lt;br /&gt;
&lt;br /&gt;
=Zweck dieses Chats=&lt;br /&gt;
Der Chat dient zum Austausch mit anderen Usern, um Hilfe zu erfragen, zum Fachsimpeln oder einfach zum Smalltalk über das Tagesgeschehen. Er dient NICHT dazu, um sich bei Problemen Anleitungen vorlesen zu lassen oder sich die Forensuche zu ersparen!&lt;br /&gt;
{{Achtung|Einlog-Daten bzw Passwörter sollten NIE in den öffentlichen Chat-Raum gepostet werden. Wenn man jemandem z.B. die Zugangsdaten für sein Backend anvertrauen möchte, damit er sich ein Problem im Backend ansehen kann, sollten diese IMMER in einem privaten Chat-Raum bekanntgegeben werden. Siehe auch [[#Privater_Chat]]}}&lt;br /&gt;
&lt;br /&gt;
=Firefox mit Chatzilla=&lt;br /&gt;
Das hier verfasste Howto bezieht sich auf das Firefox-Addon Chatzilla, da [http://www.mozilla-europe.org/de/firefox/ Firefox] ein weit verbreiteter Browser ist und für verschiedenste Betriebssysteme erhältlich ist.&lt;br /&gt;
==Chatzilla installieren==&lt;br /&gt;
Firefox bietet die Möglichkeit, seine Funktionen mittels Addons zu erweitern. Um das Addon Chatzilla zu installieren, öffnet man Firefox und folgt [https://addons.mozilla.org/de/firefox/addon/16/ diesen Link] und klickt auf den Button &amp;quot;Jetzt Herunterladen&amp;quot;. Nach der Installation muss Firefox neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
==Chatzilla einrichten==&lt;br /&gt;
Nach der Installation und dem Neustart des Browsers müssen noch ein paar Grundeinstellungen gemacht werden, um zum Freenode-Netzwerk verbinden zu können.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-01.png|Firefox Addonmanager]]&lt;br /&gt;
&lt;br /&gt;
Das Addons findet man über den Addon-Manager (Menüleiste Extras --&amp;gt; Addons).&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-02.png|Chatzilla Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
Im Addon-Manager das Plugin &amp;quot;Chatzilla&amp;quot; auswählen und auf &amp;quot;Einstellungen&amp;quot; klicken.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-03.png|Chatzilla einrichten]]&lt;br /&gt;
&lt;br /&gt;
Auf der Registrierkarte &amp;quot;General&amp;quot; findet man die Felder &amp;quot;Description&amp;quot; (Beschreibung), Nickname und Username.Description ist frei wählbar, unter Nickname und Username gibt man seinen Nicknamen ein. Im Anschluss werden alle Fenster mit OK bestätigt.&lt;br /&gt;
&lt;br /&gt;
==Chatzilla verwenden==&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-04.png|Chatzilla starten]]&lt;br /&gt;
&lt;br /&gt;
Chatzilla wird über die Menüleiste Extras --&amp;gt; Chatzilla gestartet.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-05.png|Chatzilla Startfenster]]&lt;br /&gt;
&lt;br /&gt;
Chatzilla hat von Haus aus verschiedene Netzwerke gespeichert. Um mit einem Server des Freenode-Netzwerkes zu verbinden, klickt man entweder mit der Maus auf den Link &amp;quot;Freenode&amp;quot; oder gibt in der Texteingabeleiste folgenden Befehl ein und klickt Enter:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mirc&amp;quot;&amp;gt;&lt;br /&gt;
/server irc.freenode.net&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Anmerkung|Vor dem Verbinden muss bei vorhandenen Firewalls der Port 6667 geöffnet werden}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-06.png|Serverfenster]]&lt;br /&gt;
&lt;br /&gt;
Es öffnet sich ein neuer Tab namens &amp;quot;Freenode&amp;quot; und der Verbindungsaufbau beginnt. Der Verbindungsaufbau kann mehrere Sekunden dauern und wird durch ein oranges &amp;quot;Connecting&amp;quot; angezeigt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-07.png|Verbindungsaufbau]]&lt;br /&gt;
&lt;br /&gt;
Wenn die Verbindung zum Server hergestellt wurde, zeigt Chatzilla dies mit einem grünen &amp;quot;Connecting&amp;quot;. Als letzter Schritt muss der Chatraum betreten werden. Um den Raum #contao bzw. #contao.de zu betreten, gibt man folgenden Befehl in die Texteingabeleiste ein und bestätigt mit &amp;quot;Enter&amp;quot;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mirc&amp;quot;&amp;gt;&lt;br /&gt;
/join #contao&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-08.png|Raumfenster]]&lt;br /&gt;
&lt;br /&gt;
Das Chatfenster öffnet sich in einem neuen Tab und ist wie folgt eingeteilt.&lt;br /&gt;
# Tab für den Raum #contao (bzw. #contao.de)&lt;br /&gt;
# Texteingabeleiste: Text eingeben und Enter drücken&lt;br /&gt;
# Liste der im Raum befindlichen User&lt;br /&gt;
# Chatfenster: Hier werden die geschrieben Texte angezeigt&lt;br /&gt;
&lt;br /&gt;
=Opera=&lt;br /&gt;
Anders als Firefox hat Opera schon ein Chat-Programm integriert. Die Installation einer Drittanbieter-Software entfällt somit.&lt;br /&gt;
==Opera einrichten==&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-10.png|Opera Chat-Konto einrichten]]&lt;br /&gt;
&lt;br /&gt;
Bevor man mit Opera loschatten kann, müssen auch hier ein paar Einstellungen gesetzt werden. Zum Einrichten eines Chat-Kontos klickt man mit der Maus auf das Opera-Logo links oben in der Ecke und wählt anschließend den Punkt &amp;quot;E-Mail- und Chat-Konten...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-11.png|Opera Assistent]]&lt;br /&gt;
&lt;br /&gt;
Die anschließende Frage zum Erstellen eines Kontos bestätigt man mit &amp;quot;Ja&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-12.png|Opera Kontotyp]]&lt;br /&gt;
&lt;br /&gt;
Beim folgenden Fenster wird als Typ des Kontos &amp;quot;Chat (IRC)&amp;quot; gewählt und bestätigt anschließend mit &amp;quot;Weiter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-13.png|Opera Absendername]]&lt;br /&gt;
[[Datei:chat-howto-14.png|Opera Nickname]]&lt;br /&gt;
&lt;br /&gt;
In den nächsten beiden Fenstern wird im Feld &amp;quot;Von (Absendername)&amp;quot; und &amp;quot;Nickname&amp;quot; der Nickname eingegeben. Eine Email-Adresse ist nicht zwingend erforderlich.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-15.png|Opera Serverauswahl]]&lt;br /&gt;
&lt;br /&gt;
Als nächstes muss der Server gewählt werden, auf den verbunden werden soll. Hier wählt man &amp;quot;FreeNode, Europa&amp;quot; und bestätigt die Eingabe mit einem Klick auf den Button &amp;quot;Fertig&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-16.png|Opera Chanlist Options]]&lt;br /&gt;
&lt;br /&gt;
Die Einstellarbeiten sind nun fast abgeschlossen. Es wird eine Liste aller verfügbaren Räume angezeigt. Die vollständige Auflistung alles Räume kann einige Sekunden dauern. Ist die Auflistung abgeschlossen, klickt man mit der rechten Maustaste auf der linken Seite unter Konto auf den Eintrag &amp;quot;FreeNode, Europa&amp;quot; und wählt &amp;quot;Eigenschaften...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-17.png|Opera Konto-Eigenschaften]]&lt;br /&gt;
&lt;br /&gt;
Im darauffolgenden Fenster &amp;quot;Konto-Eigenschaften wählt man im letzten Tab &amp;quot;Postausgang&amp;quot; unter Standardcodierung &amp;quot;utf-8&amp;quot; und bestätigt mit OK.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-18.png|Opera Chanlist]]&lt;br /&gt;
&lt;br /&gt;
Wieder zurück bei der Raumliste klickt man auf &amp;quot;Eintreten&amp;quot;....&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-19.png|Opera Chatraum betreten]]&lt;br /&gt;
&lt;br /&gt;
... und gibt im Feld: Raum &amp;quot;contao&amp;quot; (bzw. contao.de) ein.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-20.png|Opera Chatraum]]&lt;br /&gt;
&lt;br /&gt;
Es öffnet sich der Chatraum. Dieser ist wie folgt eingeteilt:&lt;br /&gt;
# Texteingabeleiste: Text eingeben und Enter drücken&lt;br /&gt;
# Liste der im Raum befindlichen User&lt;br /&gt;
# Chatfenster: Hier werden die geschriebenen Texte angezeigt&lt;br /&gt;
&lt;br /&gt;
==Opera verwenden==&lt;br /&gt;
&lt;br /&gt;
Ist der Chat einmal eingerichtet, ist im Paneele das Chatsymbol sichtbar.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-21.png|Opera Sidebar]]&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf dieses öffnet die Sidebar des Chats. Nun genügt ein Klick auf den Raum &amp;quot;contao&amp;quot;, um diesen zu betreten.&lt;br /&gt;
&lt;br /&gt;
=Nicknamen registrieren=&lt;br /&gt;
&lt;br /&gt;
Ähnlich wie in einem Forum ist es möglich, sich seinen Benutzernamen zu registrieren. Die Vorteile einer Registration sind:&lt;br /&gt;
*Der Nickname kann von keinem anderen verwendet werden bzw. (je nach Einstellung) kann bei Verwendung durch einen Anderen auch gekickt werden.&lt;br /&gt;
*Man kann userspezifische Einstellungen machen&lt;br /&gt;
*Founder bzw OP's (vergleichbar mit einem Admin in einem Forum) können registrierten Nicks erweiterte Userrechte geben&lt;br /&gt;
Man KANN seinen Nicknamen registrieren, muss aber nicht !!!&lt;br /&gt;
&lt;br /&gt;
Um zu prüfen, ob der gewählte Name noch frei ist, muss man mit dem Netzwerk verbunden sein. Ob man sich gerade in einen Channel befindet oder nicht, ist egal. Nun gibt man folgenden Befehl in die Texteingabeleiste ein und bestätigt mit Enter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mirc&amp;quot;&amp;gt;&lt;br /&gt;
/msg nickserv info contaouser&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Anmerkung|Für diese Anleitung wird der Benutzername &amp;quot;contaouser&amp;quot; verwendet und die Bilder mit Chatzilla gemacht. Für Opera gelten die selben Befehle.}}&lt;br /&gt;
Wenn der Benutzername noch frei ist, bekommt man die Antwort: contaouser is not registered&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-22.png|Nickname ist noch frei]]&lt;br /&gt;
&lt;br /&gt;
Bevor man den Nicknamen registrieren kann, muss man sich in diesen umbenennen. Der Befehl dazu lautet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mirc&amp;quot;&amp;gt;&lt;br /&gt;
/nick contaouser&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn das Umbennenen funktioniert hat, erhält man folgende Antwort:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-23.png|Umbennenen]]&lt;br /&gt;
&lt;br /&gt;
Wenn der Nickname gerade von jemand anderen benutzt wird, kommt als Antwort:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-24.png|Nickname in use]]&lt;br /&gt;
&lt;br /&gt;
In diesem Fall muss man es später noch einmal versuchen oder man wählt einen anderen Nicknamen.&lt;br /&gt;
&lt;br /&gt;
Kurze Zusammenfassung:&lt;br /&gt;
Der erste Befehl kontrolliert nur, ob der gewünschte Nickname schon registriert ist oder nicht. Er sagt nichts darüber aus, ob der Nickname gerade verwendet wird oder nicht. Das sieht man erst, wenn man sich in diesem umbenennen will. Will man einen Nicknamen registrieren, darf dieser a) noch nicht registriert sein und b) auch gerade nicht in Verwendung sein.&lt;br /&gt;
&lt;br /&gt;
{{Achtung|Befehle, die ein Passwort enthalten, sollten immer im Serverfenster eingegeben werden, nie im Chatraum. Chatbefehle beginnen immer mit einem / am Anfang. Tippt man schnell und vergisst den / am Anfang oder schreibt man statt / die Zahl 7, wird der Befehl nicht als solcher erkannt und wie eine normale Nachricht an den Channel geschickt, wo jeder ihn sehen kann!}}&lt;br /&gt;
&lt;br /&gt;
Um den Nicknamen zu registrieren, verwendet man folgenden Befehl (erste Zeile ist die Syntax, die zweite Zeile der Befehl für unseren Beispielnick):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mirc&amp;quot;&amp;gt;&lt;br /&gt;
/msg nickserv register &amp;lt;passwort&amp;gt; &amp;lt;email&amp;gt;&lt;br /&gt;
/msg nickserv register 1234 contaouser@example.com&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei unseren Beispielnick ist das Passwort:1234 und die Email-Adresse contaouser@example.com. Das Netzwerk antwortet:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-25.png|Nick registered]]&lt;br /&gt;
&lt;br /&gt;
Wie aus dieser Antwort ersichtlich, hat das Netzwerk eine Email an die angegebene Email-Adresse geschickt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-26.png|Email]]&lt;br /&gt;
&lt;br /&gt;
Abschliessend muss, wie in der Email aufgefordert, die Registration mit folgendem Befehl aktiviert werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mirc&amp;quot;&amp;gt;&lt;br /&gt;
/msg NickServ VERIFY REGISTER contaouser rmcotwcvsuhb&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Zeichenfolge &amp;quot;rmcotwcvsuhb&amp;quot; stellt den Registrierungscode dar. Wird der Befehl inkl. dem Registrierungscode richtig eingegeben, antwortet das Netzwerk mit der Meldung:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-27.png|Registrierung bestätigt]]&lt;br /&gt;
&lt;br /&gt;
Gratulation! Die Registration des Nicknamens wurde erfolgreich abgeschlossen.&lt;br /&gt;
{{Achtung|Die Aktivierung muss innerhalb 24 Stunden abgeschlossen sein, da sonst der Nickname wieder freigegeben wird.}}&lt;br /&gt;
&lt;br /&gt;
Wenn man sich nun mit dem Netzwerk verbindet, erkennt das Netzwerk, dass der Nick registriert ist und fordert einen auf, sich zu identifizieren.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-28.png|Identify]]&lt;br /&gt;
&lt;br /&gt;
Dies geschiet mit dem Befehl (wobei 1234 in diesem Fall das Passwort ist):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mirc&amp;quot;&amp;gt;&lt;br /&gt;
/msg nickserv identify 1234&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Netzwerk bestätigt die korrekte Identifizierung mit:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-29.png|Bestätigung]]&lt;br /&gt;
&lt;br /&gt;
==Perform mit Chatzilla==&lt;br /&gt;
&lt;br /&gt;
Um die Identifizierung bei jeder Verbindung nicht immer manuell eintippen zu müssen, bieten fast alle Chattools die Möglichkeit, dies automatisch machen zu lassen. In Chatzille geht man dazu über die Menüleiste &amp;quot;Chatzilla&amp;quot; in die Einstellungen...&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-30.png|Chatzilla Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
...geht auf die freenode-Einstellungen und auf den Tab &amp;quot;Lists&amp;quot;. Gleich zu Beginn ist der Abschnitt &amp;quot;Auto-perform&amp;quot;. Alle in diesem Abschnitt eingefügten Befehle werden bei der Verbindung automatisch ablaufen. Mit einem Klick auf den Button &amp;quot;Add&amp;quot; kann ein neuer Befehl hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-31.png|Auto-perform]]&lt;br /&gt;
&lt;br /&gt;
In dem sich aufpoppenden Fenster gibt man folgenden Befehl ein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mirc&amp;quot;&amp;gt;&lt;br /&gt;
msg nickserv identify 1234&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Anmerkung|Normalerweise werden sämtliche IRC-Befehle mit einem / am Anfang eingegeben. In diesem Fall macht das Chatzilla automatisch und der Befehl wird ohne / eingegeben.}}&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-32.png|Auto-perform command]]&lt;br /&gt;
&lt;br /&gt;
Das Popup-Fenster wird mit &amp;quot;OK&amp;quot; bestätigt. Danach sollte das Einstellungsfenster so aussehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-33.png|Auto-perform command added]]&lt;br /&gt;
&lt;br /&gt;
Abschliessend wird auch das Einstellungsfenster mit &amp;quot;OK&amp;quot; geschlossen. &lt;br /&gt;
&lt;br /&gt;
Wenn man sich jetzt neu mit dem Netzwerk verbindet, wird Chatzilla nach erfolgtem Verbindungsaufbau den Identify-Befehl automatisch an das Netzwerk senden, welchen diesen dann auch bestätigt:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-34.png|auto identify confirmed]]&lt;br /&gt;
&lt;br /&gt;
==Perform mit Opera==&lt;br /&gt;
&lt;br /&gt;
In Opera funktioniert das Perform ähnlich. Auch hier geht man in die Einstellungen des freenode-Netzwerks, indem man einen Rechtsklick auf den freenode-Server macht und anschliessend auf &amp;quot;Eigenschaften&amp;quot; geht.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-35.png|Opera chat settings]]&lt;br /&gt;
&lt;br /&gt;
In den Konto-Eigenschaften wechselt man auf den Tab &amp;quot;Postausgang&amp;quot; und fügt dort den identify-Befehl ein. Anders als bei Chatzilla muss hier der Befehl normal mit / am Anfang eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-36.png|Opera auto perform]]&lt;br /&gt;
&lt;br /&gt;
Man bestätigt die Eingabe mit &amp;quot;OK&amp;quot;. Auch Opera bestätigt beim Verbinden die erfolgreiche Identifizierung in einem eigenen Tab von &amp;quot;NickServ&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-37.png|Opera auto-perform confirmed]]&lt;br /&gt;
&lt;br /&gt;
==Nickserv Hilfe==&lt;br /&gt;
Wenn man seinen Nicknamen registriert hat, kann man diverse Einstellungen zu dem Nicknamen machen. NickServ selbst bietet dazu eine Hilfe an. Diese ruft man mit folgenden Befehl auf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mirc&amp;quot;&amp;gt;&lt;br /&gt;
/msg nickserv help&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Benötigt man Hilfe z.B. zu der &amp;quot;GROUP&amp;quot;-Einstellung, ruft man diese mit folgendem Befehl auf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mirc&amp;quot;&amp;gt;&lt;br /&gt;
/msg nickserv help group&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Privater Chat=&lt;br /&gt;
Es gibt im IRC die Möglichkeit, mit jemandem privat zu chatten, wo also nur 2 Personen daran teilnehmen, ähnlich wie in einem Forum, wo man jemanden eine private Nachricht schicken kann.&lt;br /&gt;
&lt;br /&gt;
Um einen privaten Chat mit einem anderen User zu beginnen, verwendet man folgenden Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;mirc&amp;quot;&amp;gt;&lt;br /&gt;
/query foobar&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
In diesem Fall wäre der Name des anderen Users &amp;quot;foobar&amp;quot;.&lt;br /&gt;
Es öffnet sich daraufhin ein eigenes Fenster, wo mit dem anderen User gechattet werden kann.&lt;br /&gt;
{{Achtung|Man beginnt NIE einen privaten Chat, wenn man nicht vorher dazu aufgefordert wurde oder vorher im öffentlichen Raum den User gefragt hat. Ein Missbrauch kann einen Verweis aus dem Channel zur Folge haben und im schlimmsten Fall kann der User sogar aus dem Raum gesperrt werden.}}&lt;br /&gt;
Ein privater Chat kann z.B. dazu verwendet werden, wenn man jemandem seine Backend-Zugangsdaten mitteilen will, oder persönliche Daten wie Handynummer oder Email-Adresse.&lt;br /&gt;
&lt;br /&gt;
=Bitte Beachten!!=&lt;br /&gt;
Nur, weil ein Nickname in der Nickliste erscheint, bedeutet das nicht, dass der jeweilige Nutzer gerade verfügbar ist. Es kann sein, dass der User gerade im Hintergrund arbeitet, anderweitig beschäftigt oder gar nicht vor dem PC sitzt. Manche User benutzen auch einen Bot ([[w:de:Eggdrop|Eggdrop]]) oder Bouncer ([[w:de:Bouncer|Bouncer]]), der online bleibt, wenn der Benutzer den Computer abschaltet.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Diskussion:1_und_1_Internet</id>
		<title>Diskussion:1 und 1 Internet</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Diskussion:1_und_1_Internet"/>
				<updated>2010-10-08T12:36:32Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Die Seite wurde neu angelegt: „== Keine Portangabe bei der Installation == Ich hab die Erfahrung gemacht, daß man bei der Installation keinen Port angeben darf, da er sich sonst nicht mit der …“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Keine Portangabe bei der Installation ==&lt;br /&gt;
Ich hab die Erfahrung gemacht, daß man bei der Installation keinen Port angeben darf, da er sich sonst nicht mit der DB verbindet, wenn man als Hostnamen etwas in dieser Richtung angegeben bekommt: localhost:/tmp/mysql5.sock&lt;br /&gt;
&lt;br /&gt;
Kann das wer bestätigen? Ich hatte bisher nur 1 1un1-Installation also weiß ich nicht wie regelmäßig das vorkommt.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Hilfe:Inhaltsverzeichnis</id>
		<title>Hilfe:Inhaltsverzeichnis</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Hilfe:Inhaltsverzeichnis"/>
				<updated>2010-10-02T18:01:26Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: STUB-Warning Datei aktualisiert, da die alte im JPG-Format war und vor Artefakten gestrotzt hat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Help:Contents]]&lt;br /&gt;
=Verfassen von Artikeln=&lt;br /&gt;
Vor dem Verfassen eines neuen Artikels sollte kontrolliert werden, ob schon ein Artikel zum gleichen Thema existiert. Dies kann über die Suchfunktion oder über die [[Spezial:Alle_Seiten|Auflistung aller existierender Seiten]] geprüft werden. Vor dem Abspeichern eines Artikels sollte man den Artikel mit der Vorschau-Funktion auf event. Rechtschreibfehler o.ä. prüfen.&lt;br /&gt;
==Einen neuen Artikel anlegen==&lt;br /&gt;
Sollte die Suche zu keinem Ergebnis führen, legt man die Seite neu an.&lt;br /&gt;
Hierzu gibt man beispielsweise den gewünschten Titel links in der Sidebar in das Suchfeld ein und klickt anschließend auf den Button &amp;quot;Seite&amp;quot;.&lt;br /&gt;
Die Wiki-Software meldet nun, dass die Seite nicht existiert und man möge sie doch bitte verfassen.&lt;br /&gt;
&lt;br /&gt;
Nach einem Klick auf den Link '''die Seite verfassen''' gelangt man in die Eingabemaske.&lt;br /&gt;
&lt;br /&gt;
Ungeduldige können auch direkt die URL: &amp;lt;nowiki&amp;gt;http://de.contaowiki.org/Wunschtitel&amp;lt;/nowiki&amp;gt; in ihrem Browser eingeben, wodurch man direkt in die Eingabemaske gelangt.&lt;br /&gt;
&lt;br /&gt;
'''Artikel sollten neutral und allgemein verfasst werden''' (als Beispiel nicht &amp;quot;''Ich betrachte die Seite''&amp;quot; oder &amp;quot;''Du betrachtest die Seite''&amp;quot;, sondern &amp;quot;''Man betrachtet die Seite''&amp;quot;), um eine Vereinheitlichung der Artikel zu gewährleisten.&lt;br /&gt;
&lt;br /&gt;
==Wichtig: Angabe der Contao-Version==&lt;br /&gt;
Da sich Contao ständig weiter entwickelt, ändert sich auch laufend der Quellcode. '''Daher ist es beim Verfassen von Artikeln wichtig, immer mit anzugeben, auf welche Contao-Version sich der Artikel oder das Codebeispiel bezieht.''' Ein Besucher kann ansonsten in einem Jahr nicht mehr nachvollziehen, auf welche Contao-Version(en) sich ein HowTo für z.B. ein modifiziertes Template bezieht. Durch die Angabe der Version ist er jedoch in der Lage, Änderungen an dem entsprechenden Template nachzuvollziehen und es bei Bedarf dementsprechend anzupassen.&lt;br /&gt;
Eine Versionsangabe erfolgt durch ff. Code zu Beginn der Seite:&lt;br /&gt;
&amp;lt;pre&amp;gt;{{AppliesTo&lt;br /&gt;
|Version=Alle Versionen&lt;br /&gt;
|Ext1=SuperExtension&lt;br /&gt;
|Ext2=HyperExtension}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hierbei können folgende Parameter verwendet werden:&lt;br /&gt;
* Version - Die Contao Version auf die sich der Artikel bezieht.&lt;br /&gt;
* Ext1 ... ExtN - Die Extensions die der Artikel betrifft. Die Zahl beginnt jeweils bei 1 und wird für jede weitere Extension um eins hochgezählt.&lt;br /&gt;
* TLVersion - Da einige Artikel neben Contao auch noch TYPOlight (pre Contao 2.9) betreffen, kann man so auch noch angeben, dass ein Artikel ggf. noch TYPOlight betrifft. Diese Angaben werden jedoch mit der Zeit verschwinden.&lt;br /&gt;
&lt;br /&gt;
Dieser Code wird dann am Anfang der Seite wie auf folgender [[ModuleCatalogList|Beispielseite]] dargestellt.&lt;br /&gt;
&lt;br /&gt;
==Kategorisierung==&lt;br /&gt;
Ein Artikel kann in einer oder mehreren Kategorien abgelegt werden. Für jede Kategorie muss eine neue Zeile zu Beginn der Seite gemacht werden.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[[Category:Admin HOWTOS]]&lt;br /&gt;
[[Category:Module]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Um einen in Arbeit oder unvollständigen Artikel also solchen zu kennzeichnen, wird der Eintrag&lt;br /&gt;
&amp;lt;pre&amp;gt;{{stub}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
an oberster Stelle, noch vor den Kategorien, eingefügt. Einem unvollständigen Artikel erkennnt man beim Betrachten am Hinweis:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Stub-warning.png|Unvollständiger Artikel]]&lt;br /&gt;
&lt;br /&gt;
Des weiteren ist der Artikel in der Liste der unvollständigen Artikel aufgeführt.&lt;br /&gt;
&lt;br /&gt;
=Hinweise, Anmerkungen und Warnungen=&lt;br /&gt;
In einem Artikel kann man Hinweise und Warnungen hinterlegen.&lt;br /&gt;
Diese fügt man durch die Verwendung der jeweiligen Vorlage hinzu.&lt;br /&gt;
==Hinweise==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 {{Hinweis|Text des Hinweises}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Was folgendes Ergebnis erzeugt.&lt;br /&gt;
{{Hinweis|Text des Hinweises}}&lt;br /&gt;
&lt;br /&gt;
==Anmerkungen==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 {{Anmerkung|Text der Anmerkung}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Was folgendes Ergebnis erzeugt.&lt;br /&gt;
{{Anmerkung|Text der Anmerkung}}&lt;br /&gt;
&lt;br /&gt;
==Warnungen==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 {{Achtung|Text der Warnung}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Was folgendes Ergebnis erzeugt.&lt;br /&gt;
{{Achtung|Text der Warnung}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Meldungen mit Bild links oben und farbigem Text ==&lt;br /&gt;
Ich habe mir erlaubt, einige eingefärbte Meldungsboxen hinzuzufügen, bei denen die Bilder links oben sitzen (was ich bei längeren Texten ganz angenehm finde). Die Icons sind aus dem frei verfügbaren Oxygen Theme von David Vignoni. --[[Benutzer:Hschottm|Hschottm]] 16:11, 11. Sep. 2010 (CEST)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Befehl&lt;br /&gt;
!Ausgabe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &amp;lt;pre&amp;gt;{{msgInfo|Text der Meldung}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
|{{msgInfo|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis odio ac magna ornare porttitor. Aliquam erat volutpat. Morbi vitae dignissim diam. Vestibulum ultrices vehicula posuere. Fusce nec ante tortor, quis euismod dolor. Proin quis porttitor odio. Nam lacinia, nunc sed venenatis pretium, augue risus lobortis lacus, vitae porttitor leo lorem sit amet lectus. Vivamus eu fermentum felis. Cras dictum consequat fringilla.}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &amp;lt;pre&amp;gt;{{msgSuccess|Text der Meldung}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
|{{msgSuccess|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis odio ac magna ornare porttitor. Aliquam erat volutpat. Morbi vitae dignissim diam. Vestibulum ultrices vehicula posuere. Fusce nec ante tortor, quis euismod dolor. Proin quis porttitor odio. Nam lacinia, nunc sed venenatis pretium, augue risus lobortis lacus, vitae porttitor leo lorem sit amet lectus. Vivamus eu fermentum felis. Cras dictum consequat fringilla.}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &amp;lt;pre&amp;gt;{{msgError|Text der Meldung}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
|{{msgError|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis odio ac magna ornare porttitor. Aliquam erat volutpat. Morbi vitae dignissim diam. Vestibulum ultrices vehicula posuere. Fusce nec ante tortor, quis euismod dolor. Proin quis porttitor odio. Nam lacinia, nunc sed venenatis pretium, augue risus lobortis lacus, vitae porttitor leo lorem sit amet lectus. Vivamus eu fermentum felis. Cras dictum consequat fringilla.}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &amp;lt;pre&amp;gt;{{msgWarning|Text der Meldung}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
|{{msgWarning|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis odio ac magna ornare porttitor. Aliquam erat volutpat. Morbi vitae dignissim diam. Vestibulum ultrices vehicula posuere. Fusce nec ante tortor, quis euismod dolor. Proin quis porttitor odio. Nam lacinia, nunc sed venenatis pretium, augue risus lobortis lacus, vitae porttitor leo lorem sit amet lectus. Vivamus eu fermentum felis. Cras dictum consequat fringilla.}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &amp;lt;pre&amp;gt;{{msgImportant|Text der Meldung}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
|{{msgImportant|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis odio ac magna ornare porttitor. Aliquam erat volutpat. Morbi vitae dignissim diam. Vestibulum ultrices vehicula posuere. Fusce nec ante tortor, quis euismod dolor. Proin quis porttitor odio. Nam lacinia, nunc sed venenatis pretium, augue risus lobortis lacus, vitae porttitor leo lorem sit amet lectus. Vivamus eu fermentum felis. Cras dictum consequat fringilla.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Formatierung=&lt;br /&gt;
==Textformatierung==&lt;br /&gt;
Die wichtigsten Textformatierungen lauten:&lt;br /&gt;
&lt;br /&gt;
'''Fettschrift'''&lt;br /&gt;
&amp;lt;pre&amp;gt;'''Fettschrift'''&amp;lt;/pre&amp;gt;&lt;br /&gt;
''Schrägschrift''&lt;br /&gt;
&amp;lt;pre&amp;gt;''Schrägschrift''&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''''Fett- und Schrägschrift'''''&lt;br /&gt;
&amp;lt;pre&amp;gt;'''''Fett- und Schrägschrift'''''&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Auflistung==&lt;br /&gt;
Standardauflistung&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* foo&lt;br /&gt;
* bar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ergibt&lt;br /&gt;
* foo&lt;br /&gt;
* bar&lt;br /&gt;
Nummerierte Auflistung&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# foo&lt;br /&gt;
# bar&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ergibt&lt;br /&gt;
# foo&lt;br /&gt;
# bar&lt;br /&gt;
==Gruppierung==&lt;br /&gt;
Es ist möglich, einen Artikel in verschiedenen Gruppen und Untergruppen zu gliedern, um bei langen Artikeln die Übersicht zu behalten.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=Hauptgruppe 1=&lt;br /&gt;
Text&lt;br /&gt;
==Untergruppe 1.1==&lt;br /&gt;
Text&lt;br /&gt;
==Untergruppe 1.2==&lt;br /&gt;
Text&lt;br /&gt;
=Hauptgruppe 2=&lt;br /&gt;
Text&lt;br /&gt;
==Untergruppe 2.1==&lt;br /&gt;
Text&lt;br /&gt;
==Untergruppe 2.2==&lt;br /&gt;
usw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Bei mehr als 4 Gruppen wird automatisch ein Inhaltsverzeichnis am Anfang des Artikels angelegt.&lt;br /&gt;
&lt;br /&gt;
==Auszeichung von Quellcode==&lt;br /&gt;
Um Text als Quellcode darzustellen, verwendet man das '''&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt;'''-Tag (favorisierte Methode seit 27.08.2010).&amp;lt;br /&amp;gt;&lt;br /&gt;
Weiter Möglichkeiten sind:&lt;br /&gt;
# man fügt eine Leerzeile ein und beginnt jede Zeile des zu formatierenden Textes mit einem Leerzeichen (space/blank).&lt;br /&gt;
# man umgibt den zu formatierenden Text mit &amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;.... text ...&amp;lt;/pre&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei der Formatierung von Quellcode mittels &amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt;-Tag kann man optional ein Sprachattribut mit angeben.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
 div .classname {&lt;br /&gt;
   color: white;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis sieht dann so aus:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
 div .classname {&lt;br /&gt;
   color: white;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die folgenden Sprachen sind per '''lang'''-Parameter verfügbar:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;20&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
* actionscript&lt;br /&gt;
* ada&lt;br /&gt;
* apache&lt;br /&gt;
* applescript&lt;br /&gt;
* asm&lt;br /&gt;
* asp&lt;br /&gt;
* autoit&lt;br /&gt;
* bash&lt;br /&gt;
* blitzbasic&lt;br /&gt;
* bnf&lt;br /&gt;
* c&lt;br /&gt;
* caddcl&lt;br /&gt;
* cadlisp&lt;br /&gt;
* cfdg&lt;br /&gt;
* cfm&lt;br /&gt;
* cpp-qt&lt;br /&gt;
* cpp&lt;br /&gt;
* csharp&lt;br /&gt;
* css-gen.cfg&lt;br /&gt;
* css&lt;br /&gt;
|&lt;br /&gt;
* c_mac&lt;br /&gt;
* d&lt;br /&gt;
* delphi&lt;br /&gt;
* diff&lt;br /&gt;
* div&lt;br /&gt;
* dos&lt;br /&gt;
* eiffel&lt;br /&gt;
* fortran&lt;br /&gt;
* freebasic&lt;br /&gt;
* gml&lt;br /&gt;
* groovy&lt;br /&gt;
* html4strict&lt;br /&gt;
* idl&lt;br /&gt;
* ini&lt;br /&gt;
* inno&lt;br /&gt;
* io&lt;br /&gt;
* java&lt;br /&gt;
* java5&lt;br /&gt;
* javascript&lt;br /&gt;
* latex&lt;br /&gt;
|&lt;br /&gt;
* lisp&lt;br /&gt;
* lua&lt;br /&gt;
* matlab&lt;br /&gt;
* mirc&lt;br /&gt;
* mpasm&lt;br /&gt;
* mysql&lt;br /&gt;
* nsis&lt;br /&gt;
* objc&lt;br /&gt;
* ocaml-brief&lt;br /&gt;
* ocaml&lt;br /&gt;
* oobas&lt;br /&gt;
* oracle8&lt;br /&gt;
* pascal&lt;br /&gt;
* perl&lt;br /&gt;
* php-brief&lt;br /&gt;
* php&lt;br /&gt;
* plsql&lt;br /&gt;
* python&lt;br /&gt;
* qbasic&lt;br /&gt;
* reg&lt;br /&gt;
|&lt;br /&gt;
* robots&lt;br /&gt;
* ruby&lt;br /&gt;
* sas&lt;br /&gt;
* scheme&lt;br /&gt;
* sdlbasic&lt;br /&gt;
* smalltalk&lt;br /&gt;
* smarty&lt;br /&gt;
* sql&lt;br /&gt;
* tcl&lt;br /&gt;
* text&lt;br /&gt;
* thinbasic&lt;br /&gt;
* tsql&lt;br /&gt;
* vb&lt;br /&gt;
* vbnet&lt;br /&gt;
* vhdl&lt;br /&gt;
* visualfoxpro&lt;br /&gt;
* winbatch&lt;br /&gt;
* xml&lt;br /&gt;
* z80&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Umlaute/Sonderzeichen==&lt;br /&gt;
Will man Umlaute im Wiki als HTML-Entity (Ersatzdarstellung) darstellen (z.b. ä = &amp;amp;amp;auml;), sieht die Schreibweise beispielsweise so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ä =  &amp;amp;amp;amp;auml;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=Verlinkung=&lt;br /&gt;
==Textlinks==&lt;br /&gt;
Bei Textlinks unterscheidet man zwischen internen und externen Link.&lt;br /&gt;
&lt;br /&gt;
Interne Links (innerhalb des TYPOlight Info Portals) werden wie folgt verlinkt:&lt;br /&gt;
&amp;lt;pre&amp;gt;[[Seitenname|Beschreibung]]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Für externe Links verwendet man:&lt;br /&gt;
&amp;lt;pre&amp;gt;[http://www.example.com Beschreibung]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Ausnahme hiervon bilden beispielsweise Links auf die Wikipedia. Solche legt man, um auf die englischsprachige Seite in der Wikipedia zu verlinken, folgendermaßen an:&lt;br /&gt;
&amp;lt;pre&amp;gt;[[w:Seitenname|Beschreibung]]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Eine Seite in anderer Sprache, innerhalb der Wikipedia, erreicht man durch das zusätzliche anhängen des Sprachcodes. Am Beispiel Deutsch sieht dies dann so aus:&lt;br /&gt;
&amp;lt;pre&amp;gt;[[w:de:Seitenname|Beschreibung]]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Notation nennt sich Interwiki links, von denen einige bereits eingerichtet sind. Sollten welche fehlen, bitte einem Administrator Bescheid geben, damit er baldmöglichst eingebaut wird.&lt;br /&gt;
&lt;br /&gt;
==Bilderlinks==&lt;br /&gt;
Bevor man auf ein Bild verlinkt, muss man das Bild [[Spezial:Hochladen|hochladen]].&lt;br /&gt;
Um das Bild in einen Artikel einzubinden, verwendet man folgende Codes:&lt;br /&gt;
&lt;br /&gt;
Die einfachste Variante ist ein Bild mit Beschreibung.&lt;br /&gt;
&amp;lt;pre&amp;gt;[[Datei:foo.jpg|Bechreibung]]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Des weiteren kann man Bilder auch auf andere Seiten verlinken.&lt;br /&gt;
&lt;br /&gt;
Interne Links:&lt;br /&gt;
&amp;lt;pre&amp;gt;[[Datei:foo.jpg|link=Hauptseite|Beschreibung]]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Externe Links:&lt;br /&gt;
&amp;lt;pre&amp;gt;[[Datei:foo.jpg|link=http://www.example.com|Beschreibung]]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Bei Code- und Templatebeispielen TL-Version mit angeben!&lt;br /&gt;
&lt;br /&gt;
Eine ausführliche Zusammenfassung aller Formatierungsmöglichkeiten findet man auf der [http://www.mediawiki.org/wiki/Help:Contents MediaWiki Homepage]&lt;br /&gt;
&lt;br /&gt;
=Übersetzungen des Contaowiki=&lt;br /&gt;
&lt;br /&gt;
Das Contaowiki-Projekt umfasst derzeit drei Sprachen. Deutsch (http://de.contaowiki.org), Englisch (http://en.contaowiki.org) und Französisch (http://fr.contaowiki.org).&lt;br /&gt;
In einem Artikel sieht man links unten im Menü unter &amp;quot;Sprachen&amp;quot; in welche anderen Sprachen der Artikel bereits übersetzt wurde. Sollte eine Sprache fehlen und man sich selbst der jeweiligen Sprache ausreichend mächtig fühlen, sollte man nun daran gehen den Artikel in die fehlende Sprache zu übersetzen.&lt;br /&gt;
Zur genauen Vorgehensweise hier eine kleine Anleitung:&lt;br /&gt;
==Titelfindung==&lt;br /&gt;
Vorab sollte überlegt werden, wie der Artikel in der anderen Sprache heißen könnte. Nimmt man als Beispiel hier den fiktiven Artikel &amp;quot;Beispiel&amp;quot; (das Wort &amp;quot;Beispiel&amp;quot; heißt übersetzt in englischen &amp;quot;Example&amp;quot;), so sollte der auf en.contaowiki.org erstellende Artikel somit heißen: &amp;lt;nowiki&amp;gt;http://en.contaowiki.org/Example&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
==Text übersetzen==&lt;br /&gt;
Nun geht es daran, den Text zu übersetzen. Man sollte daran denken, dass die im Ursprungsartikel verlinkten weiteren Artikel in der neuen Sprache vermutlich einen anderen Namen haben werden. Diese Artikel sollte man dann suchen und, sofern noch nicht existent, unter neuem Namen ebenfalls verlinken. Dies erzeugt einen roten Link und fungiert somit als Platzhalter für den Artikel, welcher dann in der Liste der [[Spezial:Gewünschte_Seiten|gewünschten Seiten]] auftaucht. Wenn man möchte, kann man die jeweiligen Artikel dann logischerweise auch gleich im Anschluss ebenfalls übersetzen.&lt;br /&gt;
==Verlinkungen zwischen den Sprachen setzen==&lt;br /&gt;
Abschließend muss den Wikis noch mitgeteilt werden, unter welchem Namen die Übersetzung in der anderen Sprache zu erreichen ist.&lt;br /&gt;
Hierzu verwendet man die Interwiki-Notation, wie bei Wikipedia und ähnlichen Projekten.&lt;br /&gt;
&lt;br /&gt;
Im deutschen Wiki schreibt man auf der Seite &amp;quot;Beispiel&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[en:Example]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
und im englischen auf der Seite &amp;quot;Example&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[de:Beispiel]]&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Datei:Stub-warning.png</id>
		<title>Datei:Stub-warning.png</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Datei:Stub-warning.png"/>
				<updated>2010-10-02T17:59:36Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Ein Beispiel der STUB-Warnung (unvollständiger Artikel) als artefaktlose PNG-Datei&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein Beispiel der STUB-Warnung (unvollständiger Artikel) als artefaktlose PNG-Datei&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Vorlage:AppliesTo</id>
		<title>Vorlage:AppliesTo</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Vorlage:AppliesTo"/>
				<updated>2010-10-02T14:44:35Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: margin der Tabelle entfernt da nicht (mehr) notwendig, störend&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- begin AppliesTo --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;appliesto&amp;quot; style=&amp;quot;float:right;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#eeeeee; font-size:95%; empty-cells:show;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#303060; color:white&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | '''betrifft'''&lt;br /&gt;
|-&lt;br /&gt;
{{ #if: {{{TLVersion|}}} | {{tableitem|heading=TYPOlight Version|value={{{TLVersion|}}}}} | {{tableempty}} }}&lt;br /&gt;
{{ #if: {{{Version|}}} | {{tableitem|heading=Contao Version|value={{{Version|}}}}} | {{tableempty}} }}&lt;br /&gt;
{{ #if: {{{Extensions|}}} | {{tableitem|heading=Extensions|value={{{Extensions|}}}}} | {{tableempty}} }}&lt;br /&gt;
{{ #if: {{{Ext1|}}} | {{tableitem|heading=Extensions|value={{ #foreach: Ext$n$ | {{{Ext$n$}}}&amp;lt;br/&amp;gt; }}}} | {{tableempty}} }}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- end AppliesTo --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
Parameter TLVersion und Extensions sind nur wegen Rückwärtskompatibilität enthalten und werden in Zukunft entfallen, wenn wir alle Templates umgestellt haben.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Diese Vorlage ermöglicht es, eine Kurzübersicht über die Umgebung zu definieren, welche einen Artikel betreffen.&lt;br /&gt;
&lt;br /&gt;
'''Achtung! Neue Verwendung:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{AppliesTo&lt;br /&gt;
| Version=Die betroffene(n) Contao Version(en)&lt;br /&gt;
| Ext1=Erste Extension&lt;br /&gt;
| Ext2=Zweite Extension&lt;br /&gt;
| ... weitere Extensions je nach Notwendigkeit.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bsp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{AppliesTo&lt;br /&gt;
| Version=2.9.0-2.9.2&lt;br /&gt;
| Extensions=Die betroffenen Extensions als Liste&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;
Alte Methode (Extensions in einem Parameter):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{AppliesTo&lt;br /&gt;
| Version=Die betroffene(n) Contao Version(en)&lt;br /&gt;
| Extensions=Die betroffenen Extensions als Liste&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Bsp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{AppliesTo&lt;br /&gt;
| Version=2.9.0-2.9.2&lt;br /&gt;
| Extensions=Die betroffenen Extensions als Liste&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Vorlagen]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Visitors</id>
		<title>Visitors</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Visitors"/>
				<updated>2010-10-02T14:37:19Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Vielen Dank für Ihre Aufmerksamkeit :p&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Modul_visitors_fe_all.jpg|right|Besucher]]Ein kleines Modul welches die Zugriffe (Hits) und Besucher (Visits) zählt und zur Anzeige bringt.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dabei wird in der Anzeige getrennt angezeigt die Zugriffe/Besucher vom aktuellem Tag sowie die jeweilige Gesamtzahl.&amp;lt;br /&amp;gt;&lt;br /&gt;
Der Zugriffszähler wird, wie der Name schon sagt, bei jedem Zugriff erhöht. Der Besucherzähler zeigt die Zahl der unterschiedlichen IP-Adressen, die innerhalb von 30 Minuten eine oder mehrere Seiten angefordert haben auf dem sich das Modul befindet.&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ExtInfo&lt;br /&gt;
| Dev=Glen Langer ([[User:BugBuster|BugBuster]])&lt;br /&gt;
| DevSite=http://www.contao.glen-langer.de&lt;br /&gt;
| ExtVersion=2.1.0&lt;br /&gt;
| Version=ab 2.9&lt;br /&gt;
| TLVersion=2.7.0 - 2.8.4 (siehe Installationshinweise)&lt;br /&gt;
| Depending=[[Bot Detection|Bot Detection]]&lt;br /&gt;
| ERLink=http://www.contao.org/erweiterungsliste/view/visitors.de.html&lt;br /&gt;
| DonateLink=http://www.amazon.de/wishlist/26HHEJOU03G76&lt;br /&gt;
| TrackerLink=http://dev.typolight-forge.org/projects/visitors/issues&lt;br /&gt;
| Comment=Version für Contao 2.9 verfügbar&lt;br /&gt;
}}&lt;br /&gt;
[[en:Visitors]]&lt;br /&gt;
[[Kategorie:Extensions]]&lt;br /&gt;
&lt;br /&gt;
=Forum=&lt;br /&gt;
Fragen zum Visitors Modul werden im Forum beantwortet: [http://www.contao-community.de/forumdisplay.php?28-visitors Forum - Subforen beliebter Third-Party Erweiterungen (Extensions) - Visitors]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Fehler und Wünsche können im [http://dev.typolight-forge.org/projects/visitors/issues Tracking System] gemeldet werden.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
Installation erfolgt über das Extension Repository im Backend der Contao Installation.&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine manuelle Installation ist möglich, dazu die ZIP Datei [http://www.contao.org/erweiterungsliste/view/visitors.html vom Extension Repository laden], entpacken und entsprechend übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dadurch sollte ein Verzeichnis /system/modules/visitors angelegt worden sein.&amp;lt;br /&amp;gt;&lt;br /&gt;
Danach wie dabei üblich /contao/install.php Aufrufen - Update Database durchführen.&amp;lt;br /&amp;gt;&lt;br /&gt;
( /typolight/install.php bei älteren TYPOlight Installationen )&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''''Da das Visitors Modul abhängig ist vom Modul &amp;quot;[[Bot Detection|Bot Detection]]&amp;quot;, muss dieses bei der manuellen Installation mit installiert werden.'''''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweis für ältere TYPOlight Versionen==&lt;br /&gt;
===TYPOlight 2.8===&lt;br /&gt;
Nutzer von TYPOlight 2.8.x nutzen bitte Visitors Modul Version 1.7.1 ([http://www.contao.org/erweiterungsliste/view/visitors.10070019.de.html Direktlink])&lt;br /&gt;
===TYPOlight 2.7===&lt;br /&gt;
Nutzer von TYPOlight 2.7.x nutzen bitte Visitors Modul Version 1.4.1 ([http://www.contao.org/erweiterungsliste/view/visitors.10040019.de.html Direktlink])&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==Update von Version 1.x auf Version 2.x==&lt;br /&gt;
{{Achtung|Die Version 2.x ist nicht vollständig kompatibel, ein Update ist aber möglich.}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Was dabei zu beachten ist, kann hier nachgelesen werden.&lt;br /&gt;
*[[Visitors_Update_v1_auf_v2|'''Visitors Update Version 1 auf Version 2''']]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Übersicht=&lt;br /&gt;
Das Visitors Modul bringt 2 Backend und ein Frontend Modul mit.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im Backend gibt es &amp;quot;Besucher&amp;quot; und &amp;quot;Besucher Statistik&amp;quot;, für das Frontend ebenfalls &amp;quot;Besucher&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Backend==&lt;br /&gt;
&lt;br /&gt;
===Besucher===&lt;br /&gt;
[[Datei:Visitors_de_backend_besucher.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Besucher Statistik===&lt;br /&gt;
[[Datei:Visitors_de_backend_besucherstatistik.jpg]]&lt;br /&gt;
&lt;br /&gt;
zeigt dann im Detail: (Klick aufs Bild für höhere Auflösung)&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;240&amp;quot; heights=&amp;quot;180&amp;quot; caption=&amp;quot;Besucher Statistik&amp;quot;&amp;gt;&lt;br /&gt;
File:Visitors_de_backend_besucherstatistikdetail.jpg|Besucher Statistik im Detail&lt;br /&gt;
File:Visitors_de_backend_besucherstatistikdetailBrowser.jpg|Browser Statistik&lt;br /&gt;
File:Visitors_de_backend_besucherstatistikdetailSearchEngine.jpg|Search Engine Referer Statistik&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frontend==&lt;br /&gt;
Für das Frontend werden als Beispiel zwei CSS Dateien mitgeliefert:&lt;br /&gt;
*mod_visitors_fe.css für die normale, zeilenweise Ausgabe&lt;br /&gt;
*mod_visitors_fe_horizontal.css für die horizontale Ausgabe&lt;br /&gt;
&lt;br /&gt;
===Besucher Statistik===&lt;br /&gt;
[[Datei:Modul_visitors_fe_all.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Besucher Statistik horizontal===&lt;br /&gt;
[[Datei:Modul_visitors_fe_all_horizontal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Erste Schritte=&lt;br /&gt;
Als erstes legt man über den Menüpunkt Besucher eine neue Besucher Kategorie an. In dieser dann den Besucherzähler.&amp;lt;br /&amp;gt;&lt;br /&gt;
Danach legt man ein Frontend Modul an und baut es in das Layout der Seite ein.&amp;lt;br /&amp;gt;&lt;br /&gt;
Hier nun die einzelnen Schritte, jeweils mit den Default Angaben. Feinheiten werden [[Visitors#Feinheiten|später erklärt]].&lt;br /&gt;
&lt;br /&gt;
==Anlegen einer Kategorie==&lt;br /&gt;
Um eine neue Besucher Kategorie zu erstellen, klickt man links im Backend unter 'Inhalte' auf 'Besucher'. Im Hauptbereich dann auf den Button 'Neue Kategorie'. &lt;br /&gt;
[[Datei:Visitors_de_backend_kategorie_neu.jpg]]&lt;br /&gt;
&lt;br /&gt;
Am Anfang reicht es einen Kategorie Namen anzugeben, anschließend klickt man auf &amp;quot;Speichern und Schließen&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Nun ist man in der Kategorie Übersicht. Durch Klick auf den Bleistift in der Zeile der Kategorie und nochmaligem Klick auf den Bleistift im Kopf der Kategorie gelangt man wieder zu den Einstellungen der Kategorie.&lt;br /&gt;
&lt;br /&gt;
==Anlegen des Besucherzählers==&lt;br /&gt;
In der Kategorie Übersicht klickt man nun auf Edit (Bleistift) der Kategorie.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dort entweder auf 'Neuer Besucherzähler' und dann das Pfeil Symbol oder auf das Plus im Kopf der Kategorie:&lt;br /&gt;
[[Datei:Visitors_de_backend_besucherzaehler_neu.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nun sind einige Angaben nötig:&lt;br /&gt;
* Namen angeben (wird über den Zahlen als Überschrift angezeigt).&lt;br /&gt;
* Start Datum, ist optional, dient nur zur Anzeige im Frontend&lt;br /&gt;
* Optional: 'Startwerte für Zähler' eingeben&lt;br /&gt;
* Optional: 'Besucher pro Tag' Anzeige aktivieren&lt;br /&gt;
* &amp;quot;Veröffentlicht&amp;quot; aktivieren&lt;br /&gt;
anschließend klickt man auf &amp;quot;Speichern und Schließen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Frontend Modul==&lt;br /&gt;
Ein neues Frontend Modul wird angelegt über:&lt;br /&gt;
* Layout -&amp;gt; Themes -&amp;gt; Frontend Module -&amp;gt; Neues Modul (Contao ab 2.9)&lt;br /&gt;
* Layout -&amp;gt; Module -&amp;gt; Neues Modul (TYPOlight bis 2.8.x)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Als erstes unbedingt '''zuerst den Titel''' eingeben, erst dann bei Modultyp: 'Verschiedenes'-'Besucher' auswählen. Es ändern sich nun die Formularfelder.&amp;lt;br /&amp;gt;&lt;br /&gt;
Bei 'Besucher Kategorie' nun die vorher angelegte Kategorie auswählen, anschließend 'Speichern und Schließen'.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nun muss das angelegte Frontend Modul noch im Layout eingebunden werden:&lt;br /&gt;
* Layout -&amp;gt; Themes -&amp;gt; Seitenlayout -&amp;gt; Edit des genutzte Layouts (Contao ab 2.9)&lt;br /&gt;
* Layout -&amp;gt; Seitenlayout -&amp;gt; Edit des genutzte Layouts (TYPOlight bis 2.8.x)&lt;br /&gt;
&lt;br /&gt;
Bei 'Eingebundene Module' das gerade erstellte Frontend Modul einbinden (z.b in left)&lt;br /&gt;
&lt;br /&gt;
==CSS Datei==&lt;br /&gt;
Wie erwähnt sind 2 CSS Dateien mitgeliefert für die Darstellung.&amp;lt;br /&amp;gt;&lt;br /&gt;
Für die ersten Tests sollte die Datei &amp;lt;code&amp;gt;mod_visitors_fe.css&amp;lt;/code&amp;gt; aus dem Verzeichnis &amp;lt;code&amp;gt;/system/modules/visitors&amp;lt;/code&amp;gt; kopiert werden nach &amp;lt;code&amp;gt;/tl_files&amp;lt;/code&amp;gt; und dann über das Backend importiert und im Layout aktiviert werden.&lt;br /&gt;
&lt;br /&gt;
=Feinheiten=&lt;br /&gt;
Feinheiten sind einstellbar in der Kategorie, im Besucherzähler selbst sowie im selbst angelegtem Frontend Modul. &lt;br /&gt;
&lt;br /&gt;
==Feinheiten in der Kategorie Definition==&lt;br /&gt;
===Zählweise===&lt;br /&gt;
Seit Version 1.6.0 kann die Zählweise bei eingeschaltetem Seiten Cache gewählt werden:&lt;br /&gt;
* Last Zählung, serverseitig durch Contao&lt;br /&gt;
* Lese Zählung, clientseitig durch Browser&lt;br /&gt;
** (nur im Contao cacheModus: Server- und Browsercache / Nur Browsercache)&lt;br /&gt;
&lt;br /&gt;
Mit dem zweiten Punkt kann damit auch gezählt werden, wenn die Seite im Browsercache liegt und daraus aufgerufen wird.&lt;br /&gt;
Die System Einstellung 'Cache-Modus' wird dabei beachtet.&lt;br /&gt;
&lt;br /&gt;
{{Anmerkung|Die Anzeige der aktuellen Werte erfolgt aber weiterhin nur wenn die Seite vom Server angefordert wird.}}&lt;br /&gt;
&lt;br /&gt;
==Feinheiten in der Besucherzähler Definition==&lt;br /&gt;
===Blockzeit===&lt;br /&gt;
Die Blockzeit wird in Sekunden angegeben. Nach Zugriffspause dieser Zeit wird ein Zugriff als weiterer Besucher gezählt.&amp;lt;br /&amp;gt;&lt;br /&gt;
Voreingetragen sind 1800 Sekunden, d.h. 30 Minuten.&lt;br /&gt;
&lt;br /&gt;
==Feinheiten in der Frontend Modul Definition==&lt;br /&gt;
===Templates===&lt;br /&gt;
Jedem Modul kann per Auswahl ein Template zugeordnet werden. Zur Auswahl stehen 4 Templates.&lt;br /&gt;
* mod_visitors_fe_all&lt;br /&gt;
** Liefert alle Felder die möglich sind (siehe Beispielbild oben)&lt;br /&gt;
* mod_visitors_fe_hits&lt;br /&gt;
** Hier wurden die beiden Besucherzeilen entfernt&lt;br /&gt;
* mod_visitors_fe_visits&lt;br /&gt;
** Hier wurden die beiden Zugriffszeilen entfernt&lt;br /&gt;
* mod_visitors_fe_invisible.tpl&lt;br /&gt;
** Hier wird nichts angezeigt. Dieses Template dient dadurch zur reinen Zählung.&lt;br /&gt;
&lt;br /&gt;
Es können eigene Templates erstellt werden. Diese müssen als Dateiname anfangen mit 'mod_visitors_fe_' und die Endung '.tpl' haben.&lt;br /&gt;
&lt;br /&gt;
===Nur Gästen anzeigen===&lt;br /&gt;
Nach dem Aktivieren der Funktion wird das Modul versteckt, sobald ein Mitglied (Frontend Nutzer) angemeldet ist.&lt;br /&gt;
&lt;br /&gt;
===Modul schützen===&lt;br /&gt;
Hier kann nun definiert werden, dass die Anzeige des Moduls nur dann erfolgt, wenn Mitglieder bestimmter Gruppen online sind.&lt;br /&gt;
&lt;br /&gt;
===Selbstzählung verhindern===&lt;br /&gt;
Es gab einige Ideen, wie man noch verhindern kann, eigene Zugriffe nicht zu zählen. Besonders, wenn man mit dynamischen IPs ankommt.&lt;br /&gt;
Hier ist nun eine Möglichkeit umgesetzt, dieses über einen angepassten User Agent String des Browsers zu tun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Über: &lt;br /&gt;
* Layout -&amp;gt; Themes -&amp;gt; Frontend Module -&amp;gt; Modul Name (Contao ab 2.9)&lt;br /&gt;
* Layout -&amp;gt; Module -&amp;gt; Modul Name (TYPOlight bis 2.8.x)&lt;br /&gt;
vom angelegtem Besucher Modul kann im neuem Feld &amp;quot;Keine Zählung bei HTTP_USER_AGENT Teilkennung:&amp;quot; einen String eingegeben werden, dieser sollte eindeutig sein.&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel: CTISOK&amp;lt;br /&amp;gt;&lt;br /&gt;
Es sind, wozu auch immer, auch mehrere Strings dort möglich, diese dann durch Komma getrennt eingeben.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im Firefox ergänzt man nun den Agent String wie folgt:&amp;lt;br /&amp;gt;&lt;br /&gt;
# Tippe '''about:config''' in der Adresszeile ein und drücke ENTER&lt;br /&gt;
# Tippe '''general.useragent.extra.firefox''' in der Filter Zeile&lt;br /&gt;
# Doppelklick auf die gefunde Zeile&lt;br /&gt;
# Hier nun den Beispiel String von oben mit Leerzeichen getrennt anhängen, OK&lt;br /&gt;
&lt;br /&gt;
z.B. wird so aus &amp;quot;Firefox/3.5.2&amp;quot; nun &amp;quot;Firefox/3.5.2 CTISOK&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Kennung kann man sich dann durch Eingabe von '''about:''' + Enter anzeigen lassen. (letzte Zeile)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Weitere Browser sind hier erläutert (eng):&lt;br /&gt;
[http://www.walkernews.net/2007/07/05/how-to-change-user-agent-string/ walkernews.net - how to change user agent string]&lt;br /&gt;
&lt;br /&gt;
=Insert-Tags=&lt;br /&gt;
==Anzeige==&lt;br /&gt;
Seit der Version 1.2.0 gibt es Insert-Tags zum Anzeigen der Werte.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 {{visitors::katid::name}}&lt;br /&gt;
 {{visitors::katid::online}}&lt;br /&gt;
 {{visitors::katid::start}}&lt;br /&gt;
 {{visitors::katid::totalvisit}}&lt;br /&gt;
 {{visitors::katid::totalhit}}&lt;br /&gt;
 {{visitors::katid::todayvisit}}&lt;br /&gt;
 {{visitors::katid::todayhit}}&lt;br /&gt;
 {{visitors::katid::averagevisits}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Seit der Version 1.5.0 und ab TYPOlight 2.8 können die Insert-Tags um den Präfix 'cache_' erweitert werden, damit sind diese dann auch cachesicher.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 {{cache_visitors::katid::name}}&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Das Modul zählt und zeigt normalerweise die Werte an. Wer für die Anzeige die Insert-Tags nutzen will, braucht das Modul weiterhin, aber nur zum Zählen. Mittels des Templates mod_visitors_fe_invisible kann es dazu unsichtbar geschaltet werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die &amp;quot;katid&amp;quot; ist die Kategorie ID in dem der Zähler angelegt wurde. Zur Ermittlung in der Kategorieübersicht des Moduls mit der Maus über das &amp;quot;i&amp;quot; gehen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Visitors_de_backend_kategorie_id.jpg|Besucherzähler Kategorie ID]]&lt;br /&gt;
&lt;br /&gt;
Dabei wird als Tooltipp die ID angezeigt.&amp;lt;br /&amp;gt;&lt;br /&gt;
Oder das &amp;quot;i&amp;quot; anklicken, in der drauf folgenden Seite steht in der ersten Zeile die ID.&amp;lt;br /&amp;gt;&lt;br /&gt;
Bei Kategorie ID = 1 wäre das dann also beispielsweise:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 {{visitors::1::online}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zählung==&lt;br /&gt;
Eine Alternative für &amp;quot;nur zählen&amp;quot; wäre, den Insert-Tag zu nutzen den es ab Version 1.5.0 gibt, das Modul selbst verwendet diesen ebenfalls:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 {{cache_visitors::katid::count}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Beispiel für Einbau in einen Artikel (für Kategorie ID = 1):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;width:0px;height:0px;&amp;quot;&amp;gt;{{cache_visitors::1::count}}&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Achtung|Dabei muss drauf geachtet werden, dass der Insert-Tag für die Zählung als erstes auf der Seite eingebaut wird, damit die Zählung vor der Ermittlung der Anzeigewerte erfolgt.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weitere Insert-Tags==&lt;br /&gt;
Seit der Version 2.1.0 gibt es Insert-Tags zum Anzeigen der Werte vom Tag an dem die meisten Besucher gezählt wurden.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 {{visitors::katid::bestday::date}}   - Tag (Datum) mit den meisten Besuchern&lt;br /&gt;
 {{visitors::katid::bestday::visits}} - Anzahl Besucher vom Tag mit den meisten Besuchern&lt;br /&gt;
 {{visitors::katid::bestday::hits}}   - Anzahl Zugriffe vom Tag mit den meisten Besuchern&lt;br /&gt;
bzw.&lt;br /&gt;
 {{cache_visitors::katid::bestday::date}}&lt;br /&gt;
 {{cache_visitors::katid::bestday::visits}}&lt;br /&gt;
 {{cache_visitors::katid::bestday::hits}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Beim &amp;quot;date&amp;quot; Insert-Tag ist noch ein optionaler Parameter möglich, um die Datumsausgabe zu formatieren.(m.d.Y , Y-m-d, etc.)&amp;lt;br /&amp;gt;&lt;br /&gt;
Als default wird die Systemeinstellung verwendet. Als Trennzeichen muss ein &amp;quot;::&amp;quot; verwendet werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein komplettes Beispiel (hier mit Kategorie 1):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 BestDay: {{visitors::1::bestday::date::j. F Y}} mit {{visitors::1::bestday::visits}} Besuchern (bei {{visitors::1::bestday::hits}} Hits)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
ergibt:&lt;br /&gt;
 BestDay: 31. August 2010 mit 25 Besuchern (bei 123 Hits)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Besonderheiten=&lt;br /&gt;
==Keine Zählung==&lt;br /&gt;
Es wird kein Frontend Aufruf gezählt, wenn man dabei gleichzeitig im Backend angemeldet ist.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Besucher pro Tag: Ø = 0==&lt;br /&gt;
Der Durschnittswert pro Tag wird pro vollständigem Kalendertag berechnet.&amp;lt;br /&amp;gt;&lt;br /&gt;
Hat man nun nur von einem Tag vorher oder gar nur vom aktuellem Tag eine Zählung, kann kein sinnvoller Wert berechnet werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
(Durschnitt = Anzahl Besucher)&amp;lt;br /&amp;gt;&lt;br /&gt;
In diesen Fällen wird &amp;quot;0&amp;quot; angezeigt.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--[[Benutzer:BugBuster|BugBuster]] 19:54, 25. Jun. 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Visitors</id>
		<title>Visitors</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Visitors"/>
				<updated>2010-10-02T14:36:26Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Kurzer Test wegen der floatright geschichte&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Modul_visitors_fe_all.jpg|left|Besucher]]Ein kleines Modul welches die Zugriffe (Hits) und Besucher (Visits) zählt und zur Anzeige bringt.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dabei wird in der Anzeige getrennt angezeigt die Zugriffe/Besucher vom aktuellem Tag sowie die jeweilige Gesamtzahl.&amp;lt;br /&amp;gt;&lt;br /&gt;
Der Zugriffszähler wird, wie der Name schon sagt, bei jedem Zugriff erhöht. Der Besucherzähler zeigt die Zahl der unterschiedlichen IP-Adressen, die innerhalb von 30 Minuten eine oder mehrere Seiten angefordert haben auf dem sich das Modul befindet.&amp;lt;br &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ExtInfo&lt;br /&gt;
| Dev=Glen Langer ([[User:BugBuster|BugBuster]])&lt;br /&gt;
| DevSite=http://www.contao.glen-langer.de&lt;br /&gt;
| ExtVersion=2.1.0&lt;br /&gt;
| Version=ab 2.9&lt;br /&gt;
| TLVersion=2.7.0 - 2.8.4 (siehe Installationshinweise)&lt;br /&gt;
| Depending=[[Bot Detection|Bot Detection]]&lt;br /&gt;
| ERLink=http://www.contao.org/erweiterungsliste/view/visitors.de.html&lt;br /&gt;
| DonateLink=http://www.amazon.de/wishlist/26HHEJOU03G76&lt;br /&gt;
| TrackerLink=http://dev.typolight-forge.org/projects/visitors/issues&lt;br /&gt;
| Comment=Version für Contao 2.9 verfügbar&lt;br /&gt;
}}&lt;br /&gt;
[[en:Visitors]]&lt;br /&gt;
[[Kategorie:Extensions]]&lt;br /&gt;
&lt;br /&gt;
=Forum=&lt;br /&gt;
Fragen zum Visitors Modul werden im Forum beantwortet: [http://www.contao-community.de/forumdisplay.php?28-visitors Forum - Subforen beliebter Third-Party Erweiterungen (Extensions) - Visitors]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Fehler und Wünsche können im [http://dev.typolight-forge.org/projects/visitors/issues Tracking System] gemeldet werden.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
Installation erfolgt über das Extension Repository im Backend der Contao Installation.&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine manuelle Installation ist möglich, dazu die ZIP Datei [http://www.contao.org/erweiterungsliste/view/visitors.html vom Extension Repository laden], entpacken und entsprechend übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dadurch sollte ein Verzeichnis /system/modules/visitors angelegt worden sein.&amp;lt;br /&amp;gt;&lt;br /&gt;
Danach wie dabei üblich /contao/install.php Aufrufen - Update Database durchführen.&amp;lt;br /&amp;gt;&lt;br /&gt;
( /typolight/install.php bei älteren TYPOlight Installationen )&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''''Da das Visitors Modul abhängig ist vom Modul &amp;quot;[[Bot Detection|Bot Detection]]&amp;quot;, muss dieses bei der manuellen Installation mit installiert werden.'''''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hinweis für ältere TYPOlight Versionen==&lt;br /&gt;
===TYPOlight 2.8===&lt;br /&gt;
Nutzer von TYPOlight 2.8.x nutzen bitte Visitors Modul Version 1.7.1 ([http://www.contao.org/erweiterungsliste/view/visitors.10070019.de.html Direktlink])&lt;br /&gt;
===TYPOlight 2.7===&lt;br /&gt;
Nutzer von TYPOlight 2.7.x nutzen bitte Visitors Modul Version 1.4.1 ([http://www.contao.org/erweiterungsliste/view/visitors.10040019.de.html Direktlink])&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
==Update von Version 1.x auf Version 2.x==&lt;br /&gt;
{{Achtung|Die Version 2.x ist nicht vollständig kompatibel, ein Update ist aber möglich.}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Was dabei zu beachten ist, kann hier nachgelesen werden.&lt;br /&gt;
*[[Visitors_Update_v1_auf_v2|'''Visitors Update Version 1 auf Version 2''']]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Übersicht=&lt;br /&gt;
Das Visitors Modul bringt 2 Backend und ein Frontend Modul mit.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im Backend gibt es &amp;quot;Besucher&amp;quot; und &amp;quot;Besucher Statistik&amp;quot;, für das Frontend ebenfalls &amp;quot;Besucher&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Backend==&lt;br /&gt;
&lt;br /&gt;
===Besucher===&lt;br /&gt;
[[Datei:Visitors_de_backend_besucher.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Besucher Statistik===&lt;br /&gt;
[[Datei:Visitors_de_backend_besucherstatistik.jpg]]&lt;br /&gt;
&lt;br /&gt;
zeigt dann im Detail: (Klick aufs Bild für höhere Auflösung)&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;240&amp;quot; heights=&amp;quot;180&amp;quot; caption=&amp;quot;Besucher Statistik&amp;quot;&amp;gt;&lt;br /&gt;
File:Visitors_de_backend_besucherstatistikdetail.jpg|Besucher Statistik im Detail&lt;br /&gt;
File:Visitors_de_backend_besucherstatistikdetailBrowser.jpg|Browser Statistik&lt;br /&gt;
File:Visitors_de_backend_besucherstatistikdetailSearchEngine.jpg|Search Engine Referer Statistik&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frontend==&lt;br /&gt;
Für das Frontend werden als Beispiel zwei CSS Dateien mitgeliefert:&lt;br /&gt;
*mod_visitors_fe.css für die normale, zeilenweise Ausgabe&lt;br /&gt;
*mod_visitors_fe_horizontal.css für die horizontale Ausgabe&lt;br /&gt;
&lt;br /&gt;
===Besucher Statistik===&lt;br /&gt;
[[Datei:Modul_visitors_fe_all.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Besucher Statistik horizontal===&lt;br /&gt;
[[Datei:Modul_visitors_fe_all_horizontal.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Erste Schritte=&lt;br /&gt;
Als erstes legt man über den Menüpunkt Besucher eine neue Besucher Kategorie an. In dieser dann den Besucherzähler.&amp;lt;br /&amp;gt;&lt;br /&gt;
Danach legt man ein Frontend Modul an und baut es in das Layout der Seite ein.&amp;lt;br /&amp;gt;&lt;br /&gt;
Hier nun die einzelnen Schritte, jeweils mit den Default Angaben. Feinheiten werden [[Visitors#Feinheiten|später erklärt]].&lt;br /&gt;
&lt;br /&gt;
==Anlegen einer Kategorie==&lt;br /&gt;
Um eine neue Besucher Kategorie zu erstellen, klickt man links im Backend unter 'Inhalte' auf 'Besucher'. Im Hauptbereich dann auf den Button 'Neue Kategorie'. &lt;br /&gt;
[[Datei:Visitors_de_backend_kategorie_neu.jpg]]&lt;br /&gt;
&lt;br /&gt;
Am Anfang reicht es einen Kategorie Namen anzugeben, anschließend klickt man auf &amp;quot;Speichern und Schließen&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Nun ist man in der Kategorie Übersicht. Durch Klick auf den Bleistift in der Zeile der Kategorie und nochmaligem Klick auf den Bleistift im Kopf der Kategorie gelangt man wieder zu den Einstellungen der Kategorie.&lt;br /&gt;
&lt;br /&gt;
==Anlegen des Besucherzählers==&lt;br /&gt;
In der Kategorie Übersicht klickt man nun auf Edit (Bleistift) der Kategorie.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dort entweder auf 'Neuer Besucherzähler' und dann das Pfeil Symbol oder auf das Plus im Kopf der Kategorie:&lt;br /&gt;
[[Datei:Visitors_de_backend_besucherzaehler_neu.jpg]]&lt;br /&gt;
&lt;br /&gt;
Nun sind einige Angaben nötig:&lt;br /&gt;
* Namen angeben (wird über den Zahlen als Überschrift angezeigt).&lt;br /&gt;
* Start Datum, ist optional, dient nur zur Anzeige im Frontend&lt;br /&gt;
* Optional: 'Startwerte für Zähler' eingeben&lt;br /&gt;
* Optional: 'Besucher pro Tag' Anzeige aktivieren&lt;br /&gt;
* &amp;quot;Veröffentlicht&amp;quot; aktivieren&lt;br /&gt;
anschließend klickt man auf &amp;quot;Speichern und Schließen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Frontend Modul==&lt;br /&gt;
Ein neues Frontend Modul wird angelegt über:&lt;br /&gt;
* Layout -&amp;gt; Themes -&amp;gt; Frontend Module -&amp;gt; Neues Modul (Contao ab 2.9)&lt;br /&gt;
* Layout -&amp;gt; Module -&amp;gt; Neues Modul (TYPOlight bis 2.8.x)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Als erstes unbedingt '''zuerst den Titel''' eingeben, erst dann bei Modultyp: 'Verschiedenes'-'Besucher' auswählen. Es ändern sich nun die Formularfelder.&amp;lt;br /&amp;gt;&lt;br /&gt;
Bei 'Besucher Kategorie' nun die vorher angelegte Kategorie auswählen, anschließend 'Speichern und Schließen'.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Nun muss das angelegte Frontend Modul noch im Layout eingebunden werden:&lt;br /&gt;
* Layout -&amp;gt; Themes -&amp;gt; Seitenlayout -&amp;gt; Edit des genutzte Layouts (Contao ab 2.9)&lt;br /&gt;
* Layout -&amp;gt; Seitenlayout -&amp;gt; Edit des genutzte Layouts (TYPOlight bis 2.8.x)&lt;br /&gt;
&lt;br /&gt;
Bei 'Eingebundene Module' das gerade erstellte Frontend Modul einbinden (z.b in left)&lt;br /&gt;
&lt;br /&gt;
==CSS Datei==&lt;br /&gt;
Wie erwähnt sind 2 CSS Dateien mitgeliefert für die Darstellung.&amp;lt;br /&amp;gt;&lt;br /&gt;
Für die ersten Tests sollte die Datei &amp;lt;code&amp;gt;mod_visitors_fe.css&amp;lt;/code&amp;gt; aus dem Verzeichnis &amp;lt;code&amp;gt;/system/modules/visitors&amp;lt;/code&amp;gt; kopiert werden nach &amp;lt;code&amp;gt;/tl_files&amp;lt;/code&amp;gt; und dann über das Backend importiert und im Layout aktiviert werden.&lt;br /&gt;
&lt;br /&gt;
=Feinheiten=&lt;br /&gt;
Feinheiten sind einstellbar in der Kategorie, im Besucherzähler selbst sowie im selbst angelegtem Frontend Modul. &lt;br /&gt;
&lt;br /&gt;
==Feinheiten in der Kategorie Definition==&lt;br /&gt;
===Zählweise===&lt;br /&gt;
Seit Version 1.6.0 kann die Zählweise bei eingeschaltetem Seiten Cache gewählt werden:&lt;br /&gt;
* Last Zählung, serverseitig durch Contao&lt;br /&gt;
* Lese Zählung, clientseitig durch Browser&lt;br /&gt;
** (nur im Contao cacheModus: Server- und Browsercache / Nur Browsercache)&lt;br /&gt;
&lt;br /&gt;
Mit dem zweiten Punkt kann damit auch gezählt werden, wenn die Seite im Browsercache liegt und daraus aufgerufen wird.&lt;br /&gt;
Die System Einstellung 'Cache-Modus' wird dabei beachtet.&lt;br /&gt;
&lt;br /&gt;
{{Anmerkung|Die Anzeige der aktuellen Werte erfolgt aber weiterhin nur wenn die Seite vom Server angefordert wird.}}&lt;br /&gt;
&lt;br /&gt;
==Feinheiten in der Besucherzähler Definition==&lt;br /&gt;
===Blockzeit===&lt;br /&gt;
Die Blockzeit wird in Sekunden angegeben. Nach Zugriffspause dieser Zeit wird ein Zugriff als weiterer Besucher gezählt.&amp;lt;br /&amp;gt;&lt;br /&gt;
Voreingetragen sind 1800 Sekunden, d.h. 30 Minuten.&lt;br /&gt;
&lt;br /&gt;
==Feinheiten in der Frontend Modul Definition==&lt;br /&gt;
===Templates===&lt;br /&gt;
Jedem Modul kann per Auswahl ein Template zugeordnet werden. Zur Auswahl stehen 4 Templates.&lt;br /&gt;
* mod_visitors_fe_all&lt;br /&gt;
** Liefert alle Felder die möglich sind (siehe Beispielbild oben)&lt;br /&gt;
* mod_visitors_fe_hits&lt;br /&gt;
** Hier wurden die beiden Besucherzeilen entfernt&lt;br /&gt;
* mod_visitors_fe_visits&lt;br /&gt;
** Hier wurden die beiden Zugriffszeilen entfernt&lt;br /&gt;
* mod_visitors_fe_invisible.tpl&lt;br /&gt;
** Hier wird nichts angezeigt. Dieses Template dient dadurch zur reinen Zählung.&lt;br /&gt;
&lt;br /&gt;
Es können eigene Templates erstellt werden. Diese müssen als Dateiname anfangen mit 'mod_visitors_fe_' und die Endung '.tpl' haben.&lt;br /&gt;
&lt;br /&gt;
===Nur Gästen anzeigen===&lt;br /&gt;
Nach dem Aktivieren der Funktion wird das Modul versteckt, sobald ein Mitglied (Frontend Nutzer) angemeldet ist.&lt;br /&gt;
&lt;br /&gt;
===Modul schützen===&lt;br /&gt;
Hier kann nun definiert werden, dass die Anzeige des Moduls nur dann erfolgt, wenn Mitglieder bestimmter Gruppen online sind.&lt;br /&gt;
&lt;br /&gt;
===Selbstzählung verhindern===&lt;br /&gt;
Es gab einige Ideen, wie man noch verhindern kann, eigene Zugriffe nicht zu zählen. Besonders, wenn man mit dynamischen IPs ankommt.&lt;br /&gt;
Hier ist nun eine Möglichkeit umgesetzt, dieses über einen angepassten User Agent String des Browsers zu tun.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Über: &lt;br /&gt;
* Layout -&amp;gt; Themes -&amp;gt; Frontend Module -&amp;gt; Modul Name (Contao ab 2.9)&lt;br /&gt;
* Layout -&amp;gt; Module -&amp;gt; Modul Name (TYPOlight bis 2.8.x)&lt;br /&gt;
vom angelegtem Besucher Modul kann im neuem Feld &amp;quot;Keine Zählung bei HTTP_USER_AGENT Teilkennung:&amp;quot; einen String eingegeben werden, dieser sollte eindeutig sein.&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel: CTISOK&amp;lt;br /&amp;gt;&lt;br /&gt;
Es sind, wozu auch immer, auch mehrere Strings dort möglich, diese dann durch Komma getrennt eingeben.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im Firefox ergänzt man nun den Agent String wie folgt:&amp;lt;br /&amp;gt;&lt;br /&gt;
# Tippe '''about:config''' in der Adresszeile ein und drücke ENTER&lt;br /&gt;
# Tippe '''general.useragent.extra.firefox''' in der Filter Zeile&lt;br /&gt;
# Doppelklick auf die gefunde Zeile&lt;br /&gt;
# Hier nun den Beispiel String von oben mit Leerzeichen getrennt anhängen, OK&lt;br /&gt;
&lt;br /&gt;
z.B. wird so aus &amp;quot;Firefox/3.5.2&amp;quot; nun &amp;quot;Firefox/3.5.2 CTISOK&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Kennung kann man sich dann durch Eingabe von '''about:''' + Enter anzeigen lassen. (letzte Zeile)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Weitere Browser sind hier erläutert (eng):&lt;br /&gt;
[http://www.walkernews.net/2007/07/05/how-to-change-user-agent-string/ walkernews.net - how to change user agent string]&lt;br /&gt;
&lt;br /&gt;
=Insert-Tags=&lt;br /&gt;
==Anzeige==&lt;br /&gt;
Seit der Version 1.2.0 gibt es Insert-Tags zum Anzeigen der Werte.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 {{visitors::katid::name}}&lt;br /&gt;
 {{visitors::katid::online}}&lt;br /&gt;
 {{visitors::katid::start}}&lt;br /&gt;
 {{visitors::katid::totalvisit}}&lt;br /&gt;
 {{visitors::katid::totalhit}}&lt;br /&gt;
 {{visitors::katid::todayvisit}}&lt;br /&gt;
 {{visitors::katid::todayhit}}&lt;br /&gt;
 {{visitors::katid::averagevisits}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Seit der Version 1.5.0 und ab TYPOlight 2.8 können die Insert-Tags um den Präfix 'cache_' erweitert werden, damit sind diese dann auch cachesicher.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 {{cache_visitors::katid::name}}&lt;br /&gt;
 ...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Das Modul zählt und zeigt normalerweise die Werte an. Wer für die Anzeige die Insert-Tags nutzen will, braucht das Modul weiterhin, aber nur zum Zählen. Mittels des Templates mod_visitors_fe_invisible kann es dazu unsichtbar geschaltet werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die &amp;quot;katid&amp;quot; ist die Kategorie ID in dem der Zähler angelegt wurde. Zur Ermittlung in der Kategorieübersicht des Moduls mit der Maus über das &amp;quot;i&amp;quot; gehen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Visitors_de_backend_kategorie_id.jpg|Besucherzähler Kategorie ID]]&lt;br /&gt;
&lt;br /&gt;
Dabei wird als Tooltipp die ID angezeigt.&amp;lt;br /&amp;gt;&lt;br /&gt;
Oder das &amp;quot;i&amp;quot; anklicken, in der drauf folgenden Seite steht in der ersten Zeile die ID.&amp;lt;br /&amp;gt;&lt;br /&gt;
Bei Kategorie ID = 1 wäre das dann also beispielsweise:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 {{visitors::1::online}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zählung==&lt;br /&gt;
Eine Alternative für &amp;quot;nur zählen&amp;quot; wäre, den Insert-Tag zu nutzen den es ab Version 1.5.0 gibt, das Modul selbst verwendet diesen ebenfalls:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 {{cache_visitors::katid::count}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Beispiel für Einbau in einen Artikel (für Kategorie ID = 1):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;span style=&amp;quot;width:0px;height:0px;&amp;quot;&amp;gt;{{cache_visitors::1::count}}&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Achtung|Dabei muss drauf geachtet werden, dass der Insert-Tag für die Zählung als erstes auf der Seite eingebaut wird, damit die Zählung vor der Ermittlung der Anzeigewerte erfolgt.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weitere Insert-Tags==&lt;br /&gt;
Seit der Version 2.1.0 gibt es Insert-Tags zum Anzeigen der Werte vom Tag an dem die meisten Besucher gezählt wurden.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 {{visitors::katid::bestday::date}}   - Tag (Datum) mit den meisten Besuchern&lt;br /&gt;
 {{visitors::katid::bestday::visits}} - Anzahl Besucher vom Tag mit den meisten Besuchern&lt;br /&gt;
 {{visitors::katid::bestday::hits}}   - Anzahl Zugriffe vom Tag mit den meisten Besuchern&lt;br /&gt;
bzw.&lt;br /&gt;
 {{cache_visitors::katid::bestday::date}}&lt;br /&gt;
 {{cache_visitors::katid::bestday::visits}}&lt;br /&gt;
 {{cache_visitors::katid::bestday::hits}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Beim &amp;quot;date&amp;quot; Insert-Tag ist noch ein optionaler Parameter möglich, um die Datumsausgabe zu formatieren.(m.d.Y , Y-m-d, etc.)&amp;lt;br /&amp;gt;&lt;br /&gt;
Als default wird die Systemeinstellung verwendet. Als Trennzeichen muss ein &amp;quot;::&amp;quot; verwendet werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ein komplettes Beispiel (hier mit Kategorie 1):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 BestDay: {{visitors::1::bestday::date::j. F Y}} mit {{visitors::1::bestday::visits}} Besuchern (bei {{visitors::1::bestday::hits}} Hits)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
ergibt:&lt;br /&gt;
 BestDay: 31. August 2010 mit 25 Besuchern (bei 123 Hits)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Besonderheiten=&lt;br /&gt;
==Keine Zählung==&lt;br /&gt;
Es wird kein Frontend Aufruf gezählt, wenn man dabei gleichzeitig im Backend angemeldet ist.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Besucher pro Tag: Ø = 0==&lt;br /&gt;
Der Durschnittswert pro Tag wird pro vollständigem Kalendertag berechnet.&amp;lt;br /&amp;gt;&lt;br /&gt;
Hat man nun nur von einem Tag vorher oder gar nur vom aktuellem Tag eine Zählung, kann kein sinnvoller Wert berechnet werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
(Durschnitt = Anzahl Besucher)&amp;lt;br /&amp;gt;&lt;br /&gt;
In diesen Fällen wird &amp;quot;0&amp;quot; angezeigt.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--[[Benutzer:BugBuster|BugBuster]] 19:54, 25. Jun. 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Safemode_Hack</id>
		<title>Safemode Hack</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Safemode_Hack"/>
				<updated>2010-09-12T18:08:09Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Dem pre mit dem PHP-Code die Klasse mw-geshi zugewiesen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
[[Category:Installation und Updates]]&lt;br /&gt;
[[Category:Fehlersuche]]&lt;br /&gt;
=Contao Safemode Hack (SMH)=&lt;br /&gt;
==Definition des SMH==&lt;br /&gt;
Der Contao-Installer meldet, dass man den Safemode Hack (SMH) aktivieren soll:&lt;br /&gt;
&lt;br /&gt;
[[Datei:installer-smh.jpg]]&lt;br /&gt;
&lt;br /&gt;
Diese Meldung besagt zunächst nur, dass der Installer erkannt hat, dass die Datei ''system/config/localconfig.php'' nicht beschreibbar ist.&lt;br /&gt;
&lt;br /&gt;
Sollte auf dem Server der Safemode deaktiviert sein, sollte es ausreichen, die Dateirechte für die ''localconfig.php'' entsprechend anzupassen, damit Contao die Datei beschreiben kann.&lt;br /&gt;
&lt;br /&gt;
Ist man wirklich in der misslichen Lage, dass auf dem Server in PHP der Safemode aktiviert sein sollte, dann führt kein Weg daran vorbei die FTP-Zugangsdaten in die Eingabemaske einzugeben.&lt;br /&gt;
&lt;br /&gt;
Bevor man mit der Installation beginnt, sollte man jedoch das [[Systemdiagnosetool]] durchlaufen lassen.&lt;br /&gt;
&lt;br /&gt;
{{Anmerkung|Es ist empfehlenswert, wenn man den Safemode Hack verwenden muss, einen weiteren FTP-User zu erstellen, der exklusive Rechte - eingeschränkt auf die Contao-Installation - auf dem Server hat. Dies hat vor allem Sicherheitsrelevante Hintergründe, da bei einem übernommenen System nur die Contao Installation betroffen wäre, und nicht etwa der gesamte FTP-Server.}}&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack manuell einrichten==&lt;br /&gt;
Manchmal kann es vorkommen, daß man nach einem Update gezwungen ist den Safemode Hack erneut einzurichten. Man kann dann in aller Regel nicht mehr auf das Installer-Interface zugreifen und muss die Daten manuell eintragen. Hierzu editiert man die Datei ''system/config/localconfig'' und fügt folgenden Code ein:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;mw-geshi&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['useFTP'] = true;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpHost'] = '127.0.0.1';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPath'] = 'pfad/zu/contao/';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpUser'] = 'ftp-user';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPass'] = 'ftp-passwort';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Für ftp-user und ftp-passwort nimmt man natürlich die vom Provider - oder selbst - erstellten Userdaten.&lt;br /&gt;
* Der Host kann variieren, ist aber meist localhost.&lt;br /&gt;
* Der ftp-Pfad ist immer relativ vom FTP-Nutzer anzugeben. Nehmen wir an die Contao-Installation liegt auf dem Server im Ordern ''dev/cms/contao/'' so hat der FTP-Nutzer foo, der Zugriff auf ''/'' hat, ''dev/cms/contao/'' anzugeben, aber der Nutzer bar, der nur Zugriff auf ''dev/cms'' hat, lediglich ''contao/'' anzugeben.&lt;br /&gt;
Dies ist auch völlig unabhängig von etwaigen Subdomains, die man eingerichtet hat, da der Safemode Hack in Relation zum FTP-Server und nicht in Relation zur Domain/dem Apache steht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack auf all-inkl.com==&lt;br /&gt;
Eine interessante Alternative zum Safemode Hack bietet das Besitzrechte-Tool vom Hoster all-inkl.com. Mit diesem kann man den Besitzer von Dateien und Ordnern (auch rekursiv) zwischen FTP-User und PHP-User umschalten. Dies ermöglicht Skripten auf diese Dateien zuzugreifen und diese zu verändern, wart aber dennoch ein gewisses Maß an Sicherheit, da ein Außenstehender, falls er eine Sicherheitslücke entdeckt und ausnutzt, nicht auf das ganze System zugreifen kann, sondern nur auf die im KAS festgelegten PHP-Dateien und -Ordner, außerdem erfährt so ein Angreifer (oder neugieriger Mitbenutzer) keine sensiblen Zugangsdaten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um nun den Besitzer dieses Ordner rekursiv zu wechseln meldet man sich im KAS an (kas.all-inkl.com) und navigiert in in das Menü ''Tools -&amp;gt; Besitzrechte''. Dort stellt man den User vom FTP-User (idR der Zugangsname zum KAS) zum PHP-User und setzt den Haken bei rekursiv.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte-php.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Ganze hat aber auch einen Nachteil; man kann keine Dateien mehr aus seinem FTP-Programm heraus verändern oder erstellen, da die gesamte Ordnerstruktur jetzt dem PHP-User gehört.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-ftp-ansicht.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deshalb sollte man nicht vergessen den User bei einem Dateiupload über FTP im KAS wieder umzustellen. Man kann aber dennoch das Dateiverwaltungssystem von Contao verwenden, um Dateien hochzuladen, umzubennenen und zu bearbeiten.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Vorlage:Hinweis</id>
		<title>Vorlage:Hinweis</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Vorlage:Hinweis"/>
				<updated>2010-09-12T17:23:52Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: span.title für bessere Formatierung &amp;amp;&amp;amp; eine td weniger wegen der Kontinuität&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- begin Hinweis --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;hint infotext&amp;quot; &amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;text-align: left; border: 1px solid #C9AFFF; background-color: #ddddff&amp;quot;&lt;br /&gt;
| [[File:Hinweis.png]] || &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;'''Hinweis:'''&amp;lt;/span&amp;gt;  {{ #if: {{{1|}}} | {{{1|}}} | Kein Hinweis angegeben }}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- end Hinweis --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Vorlage wird verwendet um einen Hinweis innerhalb eines Artikels zu formatieren.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Hinweis&lt;br /&gt;
|Text des Hinweises&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:Vorlagen]]&lt;br /&gt;
[[en:Template:Hint]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Vorlage:Achtung</id>
		<title>Vorlage:Achtung</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Vorlage:Achtung"/>
				<updated>2010-09-12T17:22:44Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: span.title für bessere Formatierung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- begin Achtung --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;caution infotext&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;border-bottom: 1px solid #C9AFFF; border-top: 1px solid #C9AFFF; background-color: #ddddff&amp;quot;&lt;br /&gt;
| [[Bild:Achtung.png]] || &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;'''Achtung:'''&amp;lt;/span&amp;gt; {{ #if: {{{1|}}} | {{{1|}}} | Der Text dieser Anmerkung fehlt }}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- end Achtung --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category: Vorlagen]]&lt;br /&gt;
Diese Vorlage ermöglicht es, einen Warnhinweis zu definieren.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Achtung |Der Text&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Vorlage:Stub</id>
		<title>Vorlage:Stub</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Vorlage:Stub"/>
				<updated>2010-09-12T17:20:55Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: span.title für bessere Formatierung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- begin Stub --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;stub&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;margin-bottom:30px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;text-align: left; border: 1px solid #C9AFFF; background-color: #ddddff&amp;quot;&lt;br /&gt;
| | [[Bild:Stub.png]] || &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;'''Unvollständiger Artikel:'''&amp;lt;/span&amp;gt; dieser Artikel ist noch nicht sauber bearbeitet.&lt;br /&gt;
Bitte [{{fullurl:{{FULLPAGENAME}}|action=edit}} erweitere ihn] und entferne erst anschliessend diesen Hinweis.&amp;lt;includeonly&amp;gt;[[Category:Stub]]&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- end Stub --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Diese Vorlage kategorisiert alle Artikel die sie verwenden in die Kategorie [[:Category:Stub|Stub]].&lt;br /&gt;
&lt;br /&gt;
Verwende Sie um unvollständige Artikel zu markieren.&lt;br /&gt;
[[Category: Vorlagen]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Vorlage:Anmerkung</id>
		<title>Vorlage:Anmerkung</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Vorlage:Anmerkung"/>
				<updated>2010-09-12T17:17:48Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: mani schau mal so ists doch nett? :D&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- begin Anmerkung --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;comment infotext&amp;quot;&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;text-align: left; border: 1px solid #C9AFFF; background-color: #ddddff&amp;quot;&lt;br /&gt;
| [[Bild:Anmerkung.png]] || &amp;lt;span class=&amp;quot;title&amp;quot;&amp;gt;'''Anmerkung:'''&amp;lt;/span&amp;gt; {{ #if: {{{1|}}} | {{{1|}}} | Text fehlt }}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- end Anmerkung --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Vorlage ermöglicht es, eine kurze Anmerkung zu definieren.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Anmerkung&lt;br /&gt;
|Text der Anmerkung&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category: Vorlagen]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Vorlage:Anmerkung</id>
		<title>Vorlage:Anmerkung</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Vorlage:Anmerkung"/>
				<updated>2010-09-12T16:51:21Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Klasse in die DIV&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- begin Anmerkung --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;comment infotext&amp;quot;&amp;gt;&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;text-align: left; border: 1px solid #C9AFFF; background-color: #ddddff&amp;quot;&lt;br /&gt;
| [[Bild:Anmerkung.png]] || '''Anmerkung:''' {{ #if: {{{1|}}} | {{{1|}}} | Text fehlt }}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- end Anmerkung --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Vorlage ermöglicht es, eine kurze Anmerkung zu definieren.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Anmerkung&lt;br /&gt;
|Text der Anmerkung&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category: Vorlagen]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Vorlage:Anmerkung</id>
		<title>Vorlage:Anmerkung</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Vorlage:Anmerkung"/>
				<updated>2010-09-12T16:50:11Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Ein td weniger - wegen der Konsistenz (siehe caution)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- begin Anmerkung --&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
{| class=&amp;quot;comment infotext&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;text-align: left; border: 1px solid #C9AFFF; background-color: #ddddff&amp;quot;&lt;br /&gt;
| [[Bild:Anmerkung.png]] || '''Anmerkung:''' {{ #if: {{{1|}}} | {{{1|}}} | Text fehlt }}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- end Anmerkung --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Vorlage ermöglicht es, eine kurze Anmerkung zu definieren.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Anmerkung&lt;br /&gt;
|Text der Anmerkung&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category: Vorlagen]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Chat_HowTo</id>
		<title>Chat HowTo</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Chat_HowTo"/>
				<updated>2010-05-29T14:38:04Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Anwender_HOWTOS]]&lt;br /&gt;
=Einleitung=&lt;br /&gt;
Um an einem Chat in einem [[w:de:Internet_Relay_Chat|IRC-Netzwerk]] teilnehmen zu können, gibt es verschiedenste Programme für fast alle Betriebssysteme. Der (inoffizielle) Chatraum für das Content Management System Contao heist #contao (englischsprachig) bzw. #contao.de (deutschsprachig) und befindet sich im [http://www.freenode.net Freenode] Netzwerk.&lt;br /&gt;
&lt;br /&gt;
=Zweck dieses Chats=&lt;br /&gt;
Der Chat dient zum Austausch mit anderen Usern, um Hilfe zu erfragen, zum Fachsimpeln oder einfach zum Smalltalk über das Tagesgeschehen. Er dient NICHT dazu, um sich bei Problemen Anleitungen vorlesen zu lassen oder sich die Forensuche zu ersparen!&lt;br /&gt;
{{Achtung|Einlog-Daten bzw Passwörter sollten NIE in den öffentlichen Chat-Raum gepostet werden. Wenn man jemandem z.B. die Zugangsdaten für sein Backend anvertrauen möchte, damit er sich ein Problem im Backend ansehen kann, sollten diese IMMER in einem privaten Chat-Raum bekanntgegeben werden. Siehe auch [[#Privater_Chat]]}}&lt;br /&gt;
&lt;br /&gt;
=Firefox mit Chatzilla=&lt;br /&gt;
Das hier verfasste Howto bezieht sich auf das Firefox-Addon Chatzilla, da [http://www.mozilla-europe.org/de/firefox/ Firefox] ein weit verbreiteter Browser ist und für verschiedenste Betriebssysteme erhältlich ist.&lt;br /&gt;
==Chatzilla installieren==&lt;br /&gt;
Firefox bietet die Möglichkeit, seine Funktionen mittels Addons zu erweitern. Um das Addon Chatzilla zu installieren, öffnet man Firefox und folgt [https://addons.mozilla.org/de/firefox/addon/16/ diesen Link] und klickt auf den Button &amp;quot;Jetzt Herunterladen&amp;quot;. Nach der Installation muss Firefox neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
==Chatzilla einrichten==&lt;br /&gt;
Nach der Installation und dem Neustart des Browsers müssen noch ein paar Grundeinstellungen gemacht werden, um zum Freenode-Netzwerk verbinden zu können.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-01.png|Firefox Addonmanager]]&lt;br /&gt;
&lt;br /&gt;
Das Addons findet man über den Addon-Manager (Menüleiste Extras --&amp;gt; Addons).&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-02.png|Chatzilla Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
Im Addon-Manager das Plugin &amp;quot;Chatzilla&amp;quot; auswählen und auf &amp;quot;Einstellungen&amp;quot; klicken.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-03.png|Chatzilla einrichten]]&lt;br /&gt;
&lt;br /&gt;
Auf der Registrierkarte &amp;quot;General&amp;quot; findet man die Felder &amp;quot;Description&amp;quot; (Beschreibung), Nickname und Username.Description ist frei wählbar, unter Nickname und Username gibt man seinen Nicknamen ein. Im Anschluss werden alle Fenster mit OK bestätigt.&lt;br /&gt;
&lt;br /&gt;
==Chatzilla verwenden==&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-04.png|Chatzilla starten]]&lt;br /&gt;
&lt;br /&gt;
Chatzilla wird über die Menüleiste Extras --&amp;gt; Chatzilla gestartet.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-05.png|Chatzilla Startfenster]]&lt;br /&gt;
&lt;br /&gt;
Chatzilla hat von Haus aus verschiedene Netzwerke gespeichert. Um mit einem Server des Freenode-Netzwerkes zu verbinden, klickt man entweder mit der Maus auf den Link &amp;quot;Freenode&amp;quot; oder gibt in der Texteingabeleiste folgenden Befehl ein und klickt Enter:&lt;br /&gt;
&amp;lt;pre&amp;gt;/server irc.freenode.net&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Anmerkung|Vor dem Verbinden muss bei vorhandenen Firewalls der Port 6667 geöffnet werden}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-06.png|Serverfenster]]&lt;br /&gt;
&lt;br /&gt;
Es öffnet sich ein neuer Tab namens &amp;quot;Freenode&amp;quot; und der Verbindungsaufbau beginnt. Der Verbindungsaufbau kann mehrere Sekunden dauern und wird durch ein oranges &amp;quot;Connecting&amp;quot; angezeigt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-07.png|Verbindungsaufbau]]&lt;br /&gt;
&lt;br /&gt;
Wenn die Verbindung zum Server hergestellt wurde, zeigt Chatzilla dies mit einem grünen &amp;quot;Connecting&amp;quot;. Als letzter Schritt muss der Chatraum betreten werden. Um den Raum #contao bzw. #contao.de zu betreten, gibt man folgenden Befehl in die Texteingabeleiste ein und bestätigt mit &amp;quot;Enter&amp;quot;:&lt;br /&gt;
&amp;lt;pre&amp;gt;/join #contao&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-08.png|Raumfenster]]&lt;br /&gt;
&lt;br /&gt;
Das Chatfenster öffnet sich in einem neuen Tab und ist wie folgt eingeteilt.&lt;br /&gt;
# Tab für den Raum #contao (bzw. #contao.de)&lt;br /&gt;
# Texteingabeleiste: Text eingeben und Enter drücken&lt;br /&gt;
# Liste der im Raum befindlichen User&lt;br /&gt;
# Chatfenster: Hier werden die geschrieben Texte angezeigt&lt;br /&gt;
&lt;br /&gt;
=Opera=&lt;br /&gt;
Anders als Firefox hat Opera schon ein Chat-Programm integriert. Die Installation einer Drittanbieter-Software entfällt somit.&lt;br /&gt;
==Opera einrichten==&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-10.png|Opera Chat-Konto einrichten]]&lt;br /&gt;
&lt;br /&gt;
Bevor man mit Opera loschatten kann, müssen auch hier ein paar Einstellungen gesetzt werden. Zum Einrichten eines Chat-Kontos klickt man mit der Maus auf das Opera-Logo links oben in der Ecke und wählt anschließend den Punkt &amp;quot;E-Mail- und Chat-Konten...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-11.png|Opera Assistent]]&lt;br /&gt;
&lt;br /&gt;
Die anschließende Frage zum Erstellen eines Kontos bestätigt man mit &amp;quot;Ja&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-12.png|Opera Kontotyp]]&lt;br /&gt;
&lt;br /&gt;
Beim folgenden Fenster wird als Typ des Kontos &amp;quot;Chat (IRC)&amp;quot; gewählt und bestätigt anschließend mit &amp;quot;Weiter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-13.png|Opera Absendername]]&lt;br /&gt;
[[Datei:chat-howto-14.png|Opera Nickname]]&lt;br /&gt;
&lt;br /&gt;
In den nächsten beiden Fenstern wird im Feld &amp;quot;Von (Absendername)&amp;quot; und &amp;quot;Nickname&amp;quot; der Nickname eingegeben. Eine Email-Adresse ist nicht zwingend erforderlich.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-15.png|Opera Serverauswahl]]&lt;br /&gt;
&lt;br /&gt;
Als nächstes muss der Server gewählt werden, auf den verbunden werden soll. Hier wählt man &amp;quot;FreeNode, Europa&amp;quot; und bestätigt die Eingabe mit einem Klick auf den Button &amp;quot;Fertig&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-16.png|Opera Chanlist Options]]&lt;br /&gt;
&lt;br /&gt;
Die Einstellarbeiten sind nun fast abgeschlossen. Es wird eine Liste aller verfügbaren Räume angezeigt. Die vollständige Auflistung alles Räume kann einige Sekunden dauern. Ist die Auflistung abgeschlossen, klickt man mit der rechten Maustaste auf der linken Seite unter Konto auf den Eintrag &amp;quot;FreeNode, Europa&amp;quot; und wählt &amp;quot;Eigenschaften...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-17.png|Opera Konto-Eigenschaften]]&lt;br /&gt;
&lt;br /&gt;
Im darauffolgenden Fenster &amp;quot;Konto-Eigenschaften wählt man im letzten Tab &amp;quot;Postausgang&amp;quot; unter Standardcodierung &amp;quot;utf-8&amp;quot; und bestätigt mit OK.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-18.png|Opera Chanlist]]&lt;br /&gt;
&lt;br /&gt;
Wieder zurück bei der Raumliste klickt man auf &amp;quot;Eintreten&amp;quot;....&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-19.png|Opera Chatraum betreten]]&lt;br /&gt;
&lt;br /&gt;
... und gibt im Feld: Raum &amp;quot;contao&amp;quot; (bzw. contao.de) ein.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-20.png|Opera Chatraum]]&lt;br /&gt;
&lt;br /&gt;
Es öffnet sich der Chatraum. Dieser ist wie folgt eingeteilt:&lt;br /&gt;
# Texteingabeleiste: Text eingeben und Enter drücken&lt;br /&gt;
# Liste der im Raum befindlichen User&lt;br /&gt;
# Chatfenster: Hier werden die geschriebenen Texte angezeigt&lt;br /&gt;
&lt;br /&gt;
==Opera verwenden==&lt;br /&gt;
&lt;br /&gt;
Ist der Chat einmal eingerichtet, ist im Paneele das Chatsymbol sichtbar.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-21.png|Opera Sidebar]]&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf dieses öffnet die Sidebar des Chats. Nun genügt ein Klick auf den Raum &amp;quot;contao&amp;quot;, um diesen zu betreten.&lt;br /&gt;
&lt;br /&gt;
=Nicknamen registrieren=&lt;br /&gt;
&lt;br /&gt;
Ähnlich wie in einem Forum ist es möglich, sich seinen Benutzernamen zu registrieren. Die Vorteile einer Registration sind:&lt;br /&gt;
*Der Nickname kann von keinem anderen verwendet werden bzw. (je nach Einstellung) kann bei Verwendung durch einen Anderen auch gekickt werden.&lt;br /&gt;
*Man kann userspezifische Einstellungen machen&lt;br /&gt;
*Founder bzw OP's (vergleichbar mit einem Admin in einem Forum) können registrierten Nicks erweiterte Userrechte geben&lt;br /&gt;
Man KANN seinen Nicknamen registrieren, muss aber nicht !!!&lt;br /&gt;
&lt;br /&gt;
Um zu prüfen, ob der gewählte Name noch frei ist, muss man mit dem Netzwerk verbunden sein. Ob man sich gerade in einen Channel befindet oder nicht, ist egal. Nun gibt man folgenden Befehl in die Texteingabeleiste ein und bestätigt mit Enter:&lt;br /&gt;
&amp;lt;pre&amp;gt;/msg nickserv info contaouser&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Anmerkung|Für diese Anleitung wird der Benutzername &amp;quot;contaouser&amp;quot; verwendet und die Bilder mit Chatzilla gemacht. Für Opera gelten die selben Befehle.}}&lt;br /&gt;
Wenn der Benutzername noch frei ist, bekommt man die Antwort: contaouser is not registered&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-22.png|Nickname ist noch frei]]&lt;br /&gt;
&lt;br /&gt;
Bevor man den Nicknamen registrieren kann, muss man sich in diesen umbenennen. Der Befehl dazu lautet:&lt;br /&gt;
&amp;lt;pre&amp;gt;/nick contaouser&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wenn das Umbennenen funktioniert hat, erhält man folgende Antwort:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-23.png|Umbennenen]]&lt;br /&gt;
&lt;br /&gt;
Wenn der Nickname gerade von jemand anderen benutzt wird, kommt als Antwort:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-24.png|Nickname in use]]&lt;br /&gt;
&lt;br /&gt;
In diesem Fall muss man es später noch einmal versuchen oder man wählt einen anderen Nicknamen.&lt;br /&gt;
&lt;br /&gt;
Kurze Zusammenfassung:&lt;br /&gt;
Der erste Befehl kontrolliert nur, ob der gewünschte Nickname schon registriert ist oder nicht. Er sagt nichts darüber aus, ob der Nickname gerade verwendet wird oder nicht. Das sieht man erst, wenn man sich in diesem umbenennen will. Will man einen Nicknamen registrieren, darf dieser a) noch nicht registriert sein und b) auch gerade nicht in Verwendung sein.&lt;br /&gt;
&lt;br /&gt;
{{Achtung|Befehle, die ein Passwort enthalten, sollten immer im Serverfenster eingegeben werden, nie im Chatraum. Chatbefehle beginnen immer mit einem / am Anfang. Tippt man schnell und vergisst den / am Anfang oder schreibt man statt / die Zahl 7, wird der Befehl nicht als solcher erkannt und wie eine normale Nachricht an den Channel geschickt, wo jeder ihn sehen kann!}}&lt;br /&gt;
&lt;br /&gt;
Um den Nicknamen zu registrieren, verwendet man folgenden Befehl (erste Zeile ist die Syntax, die zweite Zeile der Befehl für unseren Beispielnick):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/msg nickserv register &amp;lt;passwort&amp;gt; &amp;lt;email&amp;gt;&lt;br /&gt;
/msg nickserv register 1234 contaouser@example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Bei unseren Beispielnick ist das Passwort:1234 und die Email-Adresse contaouser@example.com. Das Netzwerk antwortet:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-25.png|Nick registered]]&lt;br /&gt;
&lt;br /&gt;
Wie aus dieser Antwort ersichtlich, hat das Netzwerk eine Email an die angegebene Email-Adresse geschickt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-26.png|Email]]&lt;br /&gt;
&lt;br /&gt;
Abschliessend muss, wie in der Email aufgefordert, die Registration mit folgendem Befehl aktiviert werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;/msg NickServ VERIFY REGISTER contaouser rmcotwcvsuhb&amp;lt;/pre&amp;gt;&lt;br /&gt;
Die Zeichenfolge &amp;quot;rmcotwcvsuhb&amp;quot; stellt den Registrierungscode dar. Wird der Befehl inkl. dem Registrierungscode richtig eingegeben, antwortet das Netzwerk mit der Meldung:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-27.png|Registrierung bestätigt]]&lt;br /&gt;
&lt;br /&gt;
Gratulation! Die Registration des Nicknamens wurde erfolgreich abgeschlossen.&lt;br /&gt;
{{Achtung|Die Aktivierung muss innerhalb 24 Stunden abgeschlossen sein, da sonst der Nickname wieder freigegeben wird.}}&lt;br /&gt;
&lt;br /&gt;
Wenn man sich nun mit dem Netzwerk verbindet, erkennt das Netzwerk, dass der Nick registriert ist und fordert einen auf, sich zu identifizieren.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-28.png|Identify]]&lt;br /&gt;
&lt;br /&gt;
Dies geschiet mit dem Befehl (wobei 1234 in diesem Fall das Passwort ist):&lt;br /&gt;
&amp;lt;pre&amp;gt;/msg nickserv identify 1234&amp;lt;/pre&amp;gt;&lt;br /&gt;
Das Netzwerk bestätigt die korrekte Identifizierung mit:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-29.png|Bestätigung]]&lt;br /&gt;
&lt;br /&gt;
==Perform mit Chatzilla==&lt;br /&gt;
&lt;br /&gt;
Um die Identifizierung bei jeder Verbindung nicht immer manuell eintippen zu müssen, bieten fast alle Chattools die Möglichkeit, dies automatisch machen zu lassen. In Chatzille geht man dazu über die Menüleiste &amp;quot;Chatzilla&amp;quot; in die Einstellungen...&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-30.png|Chatzilla Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
...geht auf die freenode-Einstellungen und auf den Tab &amp;quot;Lists&amp;quot;. Gleich zu Beginn ist der Abschnitt &amp;quot;Auto-perform&amp;quot;. Alle in diesem Abschnitt eingefügten Befehle werden bei der Verbindung automatisch ablaufen. Mit einem Klick auf den Button &amp;quot;Add&amp;quot; kann ein neuer Befehl hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-31.png|Auto-perform]]&lt;br /&gt;
&lt;br /&gt;
In dem sich aufpoppenden Fenster gibt man folgenden Befehl ein:&lt;br /&gt;
&amp;lt;pre&amp;gt;msg identify 1234&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Anmerkung|Normalerweise werden sämtliche IRC-Befehle mit einem / am Anfang eingegeben. In diesem Fall macht das Chatzilla automatisch und der Befehl wird ohne / eingegeben.}}&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-32.png|Auto-perform command]]&lt;br /&gt;
&lt;br /&gt;
Das Popup-Fenster wird mit &amp;quot;OK&amp;quot; bestätigt. Danach sollte das Einstellungsfenster so aussehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-33.png|Auto-perform command added]]&lt;br /&gt;
&lt;br /&gt;
Abschliessend wird auch das Einstellungsfenster mit &amp;quot;OK&amp;quot; geschlossen. &lt;br /&gt;
&lt;br /&gt;
Wenn man sich jetzt neu mit dem Netzwerk verbindet, wird Chatzilla nach erfolgtem Verbindungsaufbau den Identify-Befehl automatisch an das Netzwerk senden, welchen diesen dann auch bestätigt:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-34.png|auto identify confirmed]]&lt;br /&gt;
&lt;br /&gt;
==Perform mit Opera==&lt;br /&gt;
&lt;br /&gt;
In Opera funktioniert das Perform ähnlich. Auch hier geht man in die Einstellungen des freenode-Netzwerks, indem man einen Rechtsklick auf den freenode-Server macht und anschliessend auf &amp;quot;Eigenschaften&amp;quot; geht.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-35.png|Opera chat settings]]&lt;br /&gt;
&lt;br /&gt;
In den Konto-Eigenschaften wechselt man auf den Tab &amp;quot;Postausgang&amp;quot; und fügt dort den identify-Befehl ein. Anders als bei Chatzilla muss hier der Befehl normal mit / am Anfang eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-36.png|Opera auto perform]]&lt;br /&gt;
&lt;br /&gt;
Man bestätigt die Eingabe mit &amp;quot;OK&amp;quot;. Auch Opera bestätigt beim Verbinden die erfolgreiche Identifizierung in einem eigenen Tab von &amp;quot;NickServ&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[Datei:chat-howto-37.png|Opera auto-perform confirmed]]&lt;br /&gt;
&lt;br /&gt;
==Nickserv Hilfe==&lt;br /&gt;
Wenn man seinen Nicknamen registriert hat, kann man diverse Einstellungen zu dem Nicknamen machen. NickServ selbst bietet dazu eine Hilfe an. Diese ruft man mit folgenden Befehl auf:&lt;br /&gt;
&amp;lt;pre&amp;gt;/msg nickserv help&amp;lt;/pre&amp;gt;&lt;br /&gt;
Benötigt man Hilfe z.B. zu der &amp;quot;GROUP&amp;quot;-Einstellung, ruft man diese mit folgendem Befehl auf:&lt;br /&gt;
&amp;lt;pre&amp;gt;/msg nickserv help group&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Privater Chat=&lt;br /&gt;
Es gibt im IRC die Möglichkeit, mit jemandem privat zu chatten, wo also nur 2 Personen daran teilnehmen, ähnlich wie in einem Forum, wo man jemanden eine private Nachricht schicken kann.&lt;br /&gt;
&lt;br /&gt;
Um einen privaten Chat mit einem anderen User zu beginnen, verwendet man folgenden Befehl:&lt;br /&gt;
&amp;lt;pre&amp;gt;/query foobar&amp;lt;/pre&amp;gt;&lt;br /&gt;
In diesem Fall wäre der Name des anderen Users &amp;quot;foobar&amp;quot;.&lt;br /&gt;
Es öffnet sich daraufhin ein eigenes Fenster, wo mit dem anderen User gechattet werden kann.&lt;br /&gt;
{{Achtung|Man beginnt NIE einen privaten Chat, wenn man nicht vorher dazu aufgefordert wurde oder vorher im öffentlichen Raum den User gefragt hat. Ein Missbrauch kann einen Verweis aus dem Channel zur Folge haben und im schlimmsten Fall kann der User sogar aus dem Raum gesperrt werden.}}&lt;br /&gt;
Einen privater Chat kann z.B. dazu verwendet werden, wenn man jemandem seine Backend-Zugangsdaten mitteilen will, oder persönliche Daten wie Handynummer oder Email-Adresse. &lt;br /&gt;
&lt;br /&gt;
=Bitte Beachten!!=&lt;br /&gt;
Nur, weil ein Nickname in der Nickliste erscheint, bedeutet das nicht, dass der jeweilige Nutzer gerade verfügbar ist. Es kann sein, dass das User gerade im Hintergrund arbeitet, anderweitig beschäftigt oder gar nicht vor dem PC sitzt. Manche User benutzen auch einen Bot ([[w:de:Eggdrop|Eggdrop]]) oder Bouncer ([[w:de:Bouncer|Bouncer]]), der online bleibt, wenn der Benutzer den Computer abschaltet.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Safemode_Hack</id>
		<title>Safemode Hack</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Safemode_Hack"/>
				<updated>2010-03-10T23:36:35Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
[[Category:Installation und Updates]]&lt;br /&gt;
=TYPOlight Safemode Hack (SMH)=&lt;br /&gt;
==Definition des SMH==&lt;br /&gt;
Der TYPOlight-Installer meldet, dass man den Safemode Hack (SMH) aktivieren soll:&lt;br /&gt;
&lt;br /&gt;
[[Datei:installer-smh.jpg]]&lt;br /&gt;
&lt;br /&gt;
Diese Meldung besagt zunächst nur, dass der Installer erkannt hat, dass die Datei ''system/config/localconfig.php'' nicht beschreibbar ist.&lt;br /&gt;
&lt;br /&gt;
Sollte auf dem Server der Safemode deaktiviert sein, sollte es ausreichen, die Dateirechte für die ''localconfig.php'' entsprechend anzupassen, damit TYPOlight die Datei beschreiben kann.&lt;br /&gt;
&lt;br /&gt;
Ist man wirklich in der misslichen Lage, dass auf dem Server in PHP der Safemode aktiviert sein sollte, dann führt kein Weg daran vorbei die FTP-Zugangsdaten in die Eingabemaske einzugeben.&lt;br /&gt;
&lt;br /&gt;
Bevor man mit der Installation beginnt, sollte man jedoch das [[Systemdiagnosetool]] durchlaufen lassen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;hinweis&amp;quot; style=&amp;quot;white-space: pre-wrap;&amp;quot;&amp;gt;Hinweis:&lt;br /&gt;
Es ist empfehlenswert, wenn man den Safemode Hack verwenden muss, einen weiteren FTP-User zu erstellen, der exklusive Rechte - eingeschränkt auf die TYPOlight-Installation - auf dem Server hat. Dies hat vor allem Sicherheitsrelevante Hintergründe, da bei einem übernommenen System nur die TYPOlight Installation betroffen wäre, und nicht etwa der gesamte FTP-Server.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack manuell einrichten==&lt;br /&gt;
Manchmal kann es vorkommen, daß man nach einem Update gezwungen ist den Safemode Hack erneut einzurichten. Man kann dann in aller Regel nicht mehr auf das Installer-Interface zugreifen und muss die Daten manuell eintragen. Hierzu editiert man die Datei ''system/config/localconfig'' und fügt folgenden Code ein:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['useFTP'] = true;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpHost'] = '127.0.0.1';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPath'] = 'pfad/zu/typolight/';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpUser'] = 'ftp-user';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPass'] = 'ftp-passwort';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Für ftp-user und ftp-passwort nimmt man natürlich die vom Provider - oder selbst - erstellten Userdaten.&lt;br /&gt;
* Der Host kann variieren, ist aber meist localhost.&lt;br /&gt;
* Der ftp-Pfad ist immer relativ vom FTP-Nutzer anzugeben. Nehmen wir an die typolight-Installation liegt auf dem Server im Ordern ''dev/cms/typolight/'' so hat der FTP-Nutzer foo, der Zugriff auf ''/'' hat, ''dev/cms/typolight/'' anzugeben, aber der Nutzer bar, der nur Zugriff auf ''dev/cms'' hat, lediglich ''typolight/'' anzugeben.&lt;br /&gt;
Dies ist auch völlig unabhängig von etwaigen Subdomains, die man eingerichtet hat, da der Safemode Hack in Relation zum FTP-Server und nicht in Relation zur Domain/dem apache steht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack auf all-inkl.com==&lt;br /&gt;
Eine interessante Alternative zum Safemode Hack bietet das Besitzrechte-Tool vom Hoster all-inkl.com. Mit diesem kann man den Besitzer von Dateien und Ordnern (auch rekursiv) zwischen FTP-User und PHP-User umschalten. Dies ermöglicht Skripten auf diese Dateien zuzugreifen und diese zu verändern, wart aber dennoch ein gewisses Maß an Sicherheit, da ein Außenstehender, falls er eine Sicherheitslücke entdeckt und ausnutzt, nicht auf das ganze System zugreifen kann, sondern nur auf die im KAS festgelegten PHP-Dateien und -Ordner, außerdem erfährt so ein Angreifer (oder neugieriger Mitbenutzer) keine sensiblen Zugangsdaten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um nun den Besitzer dieses Ordner rekursiv zu wechseln meldet man sich im KAS an (kas.all-inkl.com) und navigiert in in das Menü ''Tools -&amp;gt; Besitzrechte''. Dort stellt man den User vom FTP-User (idR der Zugangsname zum KAS) zum PHP-User und setzt den Haken bei rekursiv.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte-php.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Ganze hat aber auch einen Nachteil; man kann keine Dateien mehr aus seinem FTP-Programm heraus verändern oder erstellen, da die gesamte Ordnerstruktur jetzt dem PHP-User gehört.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-ftp-ansicht.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deshalb sollte man nicht vergessen den User bei einem Dateiupload über FTP im KAS wieder umzustellen. Man kann aber dennoch das Dateiverwaltungssystem von TYPOlight verwenden, um Dateien hochzuladen, umzubennenen und zu bearbeiten.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Safemode_Hack</id>
		<title>Safemode Hack</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Safemode_Hack"/>
				<updated>2010-03-10T23:25:20Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Sicherheitshinweis hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
[[Category:Installation und Updates]]&lt;br /&gt;
=TYPOlight Safemode Hack (SMH)=&lt;br /&gt;
==Definition des SMH==&lt;br /&gt;
Der TYPOlight-Installer meldet, dass man den Safemode Hack (SMH) aktivieren soll:&lt;br /&gt;
&lt;br /&gt;
[[Datei:installer-smh.jpg]]&lt;br /&gt;
&lt;br /&gt;
Diese Meldung besagt zunächst nur, dass der Installer erkannt hat, dass die Datei ''system/config/localconfig.php'' nicht beschreibbar ist.&lt;br /&gt;
&lt;br /&gt;
Sollte auf dem Server der Safemode deaktiviert sein, sollte es ausreichen, die Dateirechte für die ''localconfig.php'' entsprechend anzupassen, damit TYPOlight die Datei beschreiben kann.&lt;br /&gt;
&lt;br /&gt;
Ist man wirklich in der misslichen Lage, dass auf dem Server in PHP der Safemode aktiviert sein sollte, dann führt kein Weg daran vorbei die FTP-Zugangsdaten in die Eingabemaske einzugeben.&lt;br /&gt;
&lt;br /&gt;
Bevor man mit der Installation beginnt, sollte man jedoch das [[Systemdiagnosetool]] durchlaufen lassen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Hinweis:&lt;br /&gt;
Es ist empfehlenswert, wenn man den Safemode Hack verwenden muss, einen weiteren FTP-User zu erstellen, der exklusive Rechte - eingeschränkt auf die TYPOlight-Installation - auf dem Server hat. Dies hat vor allem Sicherheitsrelevante Hintergründe, da bei einem übernommenen System nur die TYPOlight Installation betroffen wäre, und nicht etwa der gesamte FTP-Server.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack manuell einrichten==&lt;br /&gt;
Manchmal kann es vorkommen, daß man nach einem Update gezwungen ist den Safemode Hack erneut einzurichten. Man kann dann in aller Regel nicht mehr auf das Installer-Interface zugreifen und muss die Daten manuell eintragen. Hierzu editiert man die Datei ''system/config/localconfig'' und fügt folgenden Code ein:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['useFTP'] = true;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpHost'] = '127.0.0.1';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPath'] = 'pfad/zu/typolight/';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpUser'] = 'ftp-user';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPass'] = 'ftp-passwort';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Für ftp-user und ftp-passwort nimmt man natürlich die vom Provider - oder selbst - erstellten Userdaten.&lt;br /&gt;
* Der Host kann variieren, ist aber meist localhost.&lt;br /&gt;
* Der ftp-Pfad ist immer relativ vom FTP-Nutzer anzugeben. Nehmen wir an die typolight-Installation liegt auf dem Server im Ordern ''dev/cms/typolight/'' so hat der FTP-Nutzer foo, der Zugriff auf ''/'' hat, ''dev/cms/typolight/'' anzugeben, aber der Nutzer bar, der nur Zugriff auf ''dev/cms'' hat, lediglich ''typolight/'' anzugeben.&lt;br /&gt;
Dies ist auch völlig unabhängig von etwaigen Subdomains, die man eingerichtet hat, da der Safemode Hack in Relation zum FTP-Server und nicht in Relation zur Domain/dem apache steht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack auf all-inkl.com==&lt;br /&gt;
Eine interessante Alternative zum Safemode Hack bietet das Besitzrechte-Tool vom Hoster all-inkl.com. Mit diesem kann man den Besitzer von Dateien und Ordnern (auch rekursiv) zwischen FTP-User und PHP-User umschalten. Dies ermöglicht Skripten auf diese Dateien zuzugreifen und diese zu verändern, wart aber dennoch ein gewisses Maß an Sicherheit, da ein Außenstehender, falls er eine Sicherheitslücke entdeckt und ausnutzt, nicht auf das ganze System zugreifen kann, sondern nur auf die im KAS festgelegten PHP-Dateien und -Ordner, außerdem erfährt so ein Angreifer (oder neugieriger Mitbenutzer) keine sensiblen Zugangsdaten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um nun den Besitzer dieses Ordner rekursiv zu wechseln meldet man sich im KAS an (kas.all-inkl.com) und navigiert in in das Menü ''Tools -&amp;gt; Besitzrechte''. Dort stellt man den User vom FTP-User (idR der Zugangsname zum KAS) zum PHP-User und setzt den Haken bei rekursiv.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte-php.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Ganze hat aber auch einen Nachteil; man kann keine Dateien mehr aus seinem FTP-Programm heraus verändern oder erstellen, da die gesamte Ordnerstruktur jetzt dem PHP-User gehört.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-ftp-ansicht.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deshalb sollte man nicht vergessen den User bei einem Dateiupload über FTP im KAS wieder umzustellen. Man kann aber dennoch das Dateiverwaltungssystem von TYPOlight verwenden, um Dateien hochzuladen, umzubennenen und zu bearbeiten.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Safemode_Hack</id>
		<title>Safemode Hack</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Safemode_Hack"/>
				<updated>2010-03-10T23:19:17Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
[[Category:Installation und Updates]]&lt;br /&gt;
=TYPOlight Safemode Hack (SMH)=&lt;br /&gt;
==Definition des SMH==&lt;br /&gt;
Der TYPOlight-Installer meldet, dass man den Safemode Hack (SMH) aktivieren soll:&lt;br /&gt;
&lt;br /&gt;
[[Datei:installer-smh.jpg]]&lt;br /&gt;
&lt;br /&gt;
Diese Meldung besagt zunächst nur, dass der Installer erkannt hat, dass die Datei ''system/config/localconfig.php'' nicht beschreibbar ist.&lt;br /&gt;
&lt;br /&gt;
Sollte auf dem Server der Safemode deaktiviert sein, sollte es ausreichen, die Dateirechte für die ''localconfig.php'' entsprechend anzupassen, damit TYPOlight die Datei beschreiben kann.&lt;br /&gt;
&lt;br /&gt;
Ist man wirklich in der misslichen Lage, dass auf dem Server in PHP der Safemode aktiviert sein sollte, dann führt kein Weg daran vorbei die FTP-Zugangsdaten in die Eingabemaske einzugeben.&lt;br /&gt;
&lt;br /&gt;
Bevor man mit der Installation beginnt, sollte man jedoch das [[Systemdiagnosetool]] durchlaufen lassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack manuell einrichten==&lt;br /&gt;
Manchmal kann es vorkommen, daß man nach einem Update gezwungen ist den Safemode Hack erneut einzurichten. Man kann dann in aller Regel nicht mehr auf das Installer-Interface zugreifen und muss die Daten manuell eintragen. Hierzu editiert man die Datei ''system/config/localconfig'' und fügt folgenden Code ein:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['useFTP'] = true;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpHost'] = '127.0.0.1';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPath'] = 'pfad/zu/typolight/';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpUser'] = 'ftp-user';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPass'] = 'ftp-passwort';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Für ftp-user und ftp-passwort nimmt man natürlich die vom Provider - oder selbst - erstellten Userdaten.&lt;br /&gt;
* Der Host kann variieren, ist aber meist localhost.&lt;br /&gt;
* Der ftp-Pfad ist immer relativ vom FTP-Nutzer anzugeben. Nehmen wir an die typolight-Installation liegt auf dem Server im Ordern ''dev/cms/typolight/'' so hat der FTP-Nutzer foo, der Zugriff auf ''/'' hat, ''dev/cms/typolight/'' anzugeben, aber der Nutzer bar, der nur Zugriff auf ''dev/cms'' hat, lediglich ''typolight/'' anzugeben.&lt;br /&gt;
Dies ist auch völlig unabhängig von etwaigen Subdomains, die man eingerichtet hat, da der Safemode Hack in Relation zum FTP-Server und nicht in Relation zur Domain/dem apache steht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack auf all-inkl.com==&lt;br /&gt;
Eine interessante Alternative zum Safemode Hack bietet das Besitzrechte-Tool vom Hoster all-inkl.com. Mit diesem kann man den Besitzer von Dateien und Ordnern (auch rekursiv) zwischen FTP-User und PHP-User umschalten. Dies ermöglicht Skripten auf diese Dateien zuzugreifen und diese zu verändern, wart aber dennoch ein gewisses Maß an Sicherheit, da ein Außenstehender, falls er eine Sicherheitslücke entdeckt und ausnutzt, nicht auf das ganze System zugreifen kann, sondern nur auf die im KAS festgelegten PHP-Dateien und -Ordner, außerdem erfährt so ein Angreifer (oder neugieriger Mitbenutzer) keine sensiblen Zugangsdaten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um nun den Besitzer dieses Ordner rekursiv zu wechseln meldet man sich im KAS an (kas.all-inkl.com) und navigiert in in das Menü ''Tools -&amp;gt; Besitzrechte''. Dort stellt man den User vom FTP-User (idR der Zugangsname zum KAS) zum PHP-User und setzt den Haken bei rekursiv.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte-php.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Ganze hat aber auch einen Nachteil; man kann keine Dateien mehr aus seinem FTP-Programm heraus verändern oder erstellen, da die gesamte Ordnerstruktur jetzt dem PHP-User gehört.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-ftp-ansicht.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deshalb sollte man nicht vergessen den User bei einem Dateiupload über FTP im KAS wieder umzustellen. Man kann aber dennoch das Dateiverwaltungssystem von TYPOlight verwenden, um Dateien hochzuladen, umzubennenen und zu bearbeiten.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Benutzer:Marc</id>
		<title>Benutzer:Marc</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Benutzer:Marc"/>
				<updated>2010-03-10T23:08:21Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Die Seite wurde neu angelegt: „&amp;lt;pre&amp;gt;&amp;amp;nbsp;&amp;lt;/pre&amp;gt; Hier gibt`s nichts zu sehen.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&amp;amp;nbsp;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier gibt`s nichts zu sehen.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Safemode_Hack</id>
		<title>Safemode Hack</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Safemode_Hack"/>
				<updated>2010-03-10T23:05:07Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Änderung 147 von Marc (Diskussion) wurde rückgängig gemacht.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
[[Category:Installation und Updates]]&lt;br /&gt;
=TYPOlight Safemode Hack (SMH)=&lt;br /&gt;
==Definition des SMH==&lt;br /&gt;
Der TYPOlight-Installer meldet, dass man den Safemode Hack (SMH) aktivieren soll:&lt;br /&gt;
&lt;br /&gt;
[[Datei:installer-smh.jpg]]&lt;br /&gt;
&lt;br /&gt;
Diese Meldung besagt zunächst nur, dass der Installer erkannt hat, dass die Datei system/config/localconfig.php nicht beschreibbar ist.&lt;br /&gt;
&lt;br /&gt;
Sollte auf dem Server der Safemode deaktiviert sein, sollte es ausreichen, die Dateirechte für die localconfig.php entsprechend anzupassen, damit TYPOlight die Datei beschreiben darf.&lt;br /&gt;
&lt;br /&gt;
Solltest man wirklich in der misslichen Lage sein, dass auf dem Server in PHP der Safemode aktiviert sein sollte, dann führt nun kein Weg daran vorbei die FTP-Zugangsdaten in die Eingabemaske einzugeben.&lt;br /&gt;
&lt;br /&gt;
Bevor man mit der Installation beginnt, sollte man jedoch das [[Systemdiagnosetool]] laufen lassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack manuell einrichten==&lt;br /&gt;
Manchmal kann es vorkommen, daß man nach einem Update gezwungen ist den Safemode Hack erneut einzurichten. Man kann dann in aller Regel nicht mehr auf das Installer-Interface zugreifen und muss die Daten manuell eintragen. Hierzu editiert man die Datei ''system/config/localconfig'' und fügt folgenden Code ein:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['useFTP'] = true;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpHost'] = '127.0.0.1';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPath'] = 'pfad/zu/typolight/';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpUser'] = 'ftp-user';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPass'] = 'ftp-passwort';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Für ftp-user und ftp-passwort nimmt man natürlich die vom Provider - oder selbst erstellten - Userdaten.&lt;br /&gt;
* Der Host kann variieren, ist aber meist localhost.&lt;br /&gt;
* Der ftp-Pfad ist immer relativ vom FTP-Nutzer anzugeben. Nehmen wir an die typolight-Installation liegt auf dem Server im Ordern ''dev/cms/typolight/'' so hat der FTP-Nutzer foo, der Zugriff auf ''/'' hat, ''dev/cms/typolight/'' anzugeben, aber der Nutzer bar, der nur Zugriff auf ''dev/cms'' hat, lediglich ''typolight/'' anzugeben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack auf all-inkl.com==&lt;br /&gt;
Eine interessante Alternative zum Safemode Hack bietet das Besitzrechte-Tool vom Hoster all-inkl.com. Mit diesem kann man den Besitzer von Dateien und Ordner (auch rekursiv) zwischen FTP-User und PHP-User umschalten. Dies ermöglicht Skripten auf diese Dateien zuzugreifen, diese zu verändern wart aber dennoch ein gewisses Maß an Sicherheit, da ein außenstehender, falls er eine Sicherheitslücke entdeckt und ausnutzt nicht auf das ganze System zugreifen kann, sondern nur auf die im KAS festgelegten PHP-Dateien und -Ordner, außerdem erfährt so ein Angreifer (oder neugieriger Mitbenutzer) keine sensiblen Zugangsdaten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte.png]]&lt;br /&gt;
&lt;br /&gt;
Um nun den Besitzer dieses Ordner rekursiv zu wechseln meldet man sich im KAS an (kas.all-inkl.com) und navigiert in in das Menü Tools -&amp;gt; Besitzrechte. Dort stellt man den Nutzer vom FTP-Nutzer (idR der Zugangsname zum KAS) zum PHP-Nutzer und setzt den Haken bei rekursiv.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte-php.png]]&lt;br /&gt;
&lt;br /&gt;
Das Ganze hat aber auch einen Nachteil, man kann keine Dateien mehr aus seinem FTP-Programm heraus verändern oder erstellen, da die gesamte Ordnerstruktur jetzt dem PHP-User gehört.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-ftp-ansicht.png]]&lt;br /&gt;
&lt;br /&gt;
Deshalb sollte man nicht vergessen den Nutzer bei einem Dateiupload über FTP im KAS wieder umzustellen. Weiterhin kann aber das Dateiverwaltungssystem von TYPOlight verwendet werden um Dateien hochzuladen, umzubennenen und zu bearbeiten.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Safemode_Hack</id>
		<title>Safemode Hack</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Safemode_Hack"/>
				<updated>2010-03-10T23:04:43Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
[[Category:Installation und Updates]]&lt;br /&gt;
=TYPOlight Safemode Hack (SMH)=&lt;br /&gt;
==Definition des SMH==&lt;br /&gt;
Der TYPOlight-Installer meldet, dass man den Safemode Hack (SMH) aktivieren soll:&lt;br /&gt;
&lt;br /&gt;
[[Datei:installer-smh.jpg]]&lt;br /&gt;
&lt;br /&gt;
Diese Meldung besagt zunächst nur, dass der Installer erkannt hat, dass die Datei system/config/localconfig.php nicht beschreibbar ist.&lt;br /&gt;
&lt;br /&gt;
Sollte auf dem Server der Safemode deaktiviert sein, sollte es ausreichen, die Dateirechte für die localconfig.php entsprechend anzupassen, damit TYPOlight die Datei beschreiben darf.&lt;br /&gt;
&lt;br /&gt;
Solltest man wirklich in der misslichen Lage sein, dass auf dem Server in PHP der Safemode aktiviert sein sollte, dann führt nun kein Weg daran vorbei die FTP-Zugangsdaten in die Eingabemaske einzugeben.&lt;br /&gt;
&lt;br /&gt;
Bevor man mit der Installation beginnt, sollte man jedoch das [[Systemdiagnosetool]] laufen lassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack manuell einrichten==&lt;br /&gt;
Manchmal kann es vorkommen, daß man nach einem Update gezwungen ist den Safemode Hack erneut einzurichten. Man kann dann in aller Regel nicht mehr auf das Installer-Interface zugreifen und muss die Daten manuell eintragen. Hierzu editiert man die Datei ''system/config/localconfig'' und fügt folgenden Code ein:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['useFTP'] = true;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpHost'] = '127.0.0.1';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPath'] = 'pfad/zu/typolight/';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpUser'] = 'ftp-user';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPass'] = 'ftp-passwort';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Für ftp-user und ftp-passwort nimmt man natürlich die vom Provider - oder selbst - erstellten Userdaten.&lt;br /&gt;
* Der Host kann variieren, ist aber meist localhost.&lt;br /&gt;
* Der ftp-Pfad ist immer relativ vom FTP-Nutzer anzugeben. Nehmen wir an die typolight-Installation liegt auf dem Server im Ordern ''dev/cms/typolight/'' so hat der FTP-Nutzer foo, der Zugriff auf ''/'' hat, ''dev/cms/typolight/'' anzugeben, aber der Nutzer bar, der nur Zugriff auf ''dev/cms'' hat, lediglich ''typolight/'' anzugeben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack auf all-inkl.com==&lt;br /&gt;
Eine interessante Alternative zum Safemode Hack bietet das Besitzrechte-Tool vom Hoster all-inkl.com. Mit diesem kann man den Besitzer von Dateien und Ordner (auch rekursiv) zwischen FTP-User und PHP-User umschalten. Dies ermöglicht Skripten auf diese Dateien zuzugreifen, diese zu verändern wart aber dennoch ein gewisses Maß an Sicherheit, da ein außenstehender, falls er eine Sicherheitslücke entdeckt und ausnutzt nicht auf das ganze System zugreifen kann, sondern nur auf die im KAS festgelegten PHP-Dateien und -Ordner, außerdem erfährt so ein Angreifer (oder neugieriger Mitbenutzer) keine sensiblen Zugangsdaten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte.png]]&lt;br /&gt;
&lt;br /&gt;
Um nun den Besitzer dieses Ordner rekursiv zu wechseln meldet man sich im KAS an (kas.all-inkl.com) und navigiert in in das Menü Tools -&amp;gt; Besitzrechte. Dort stellt man den Nutzer vom FTP-Nutzer (idR der Zugangsname zum KAS) zum PHP-Nutzer und setzt den Haken bei rekursiv.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte-php.png]]&lt;br /&gt;
&lt;br /&gt;
Das Ganze hat aber auch einen Nachteil, man kann keine Dateien mehr aus seinem FTP-Programm heraus verändern oder erstellen, da die gesamte Ordnerstruktur jetzt dem PHP-User gehört.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-ftp-ansicht.png]]&lt;br /&gt;
&lt;br /&gt;
Deshalb sollte man nicht vergessen den Nutzer bei einem Dateiupload über FTP im KAS wieder umzustellen. Weiterhin kann aber das Dateiverwaltungssystem von TYPOlight verwendet werden um Dateien hochzuladen, umzubennenen und zu bearbeiten.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Safemode_Hack</id>
		<title>Safemode Hack</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Safemode_Hack"/>
				<updated>2010-03-10T23:02:48Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Erweiterung um das manuelle Einrichten des Safemode Hack&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
[[Category:Installation und Updates]]&lt;br /&gt;
=TYPOlight Safemode Hack (SMH)=&lt;br /&gt;
==Definition des SMH==&lt;br /&gt;
Der TYPOlight-Installer meldet, dass man den Safemode Hack (SMH) aktivieren soll:&lt;br /&gt;
&lt;br /&gt;
[[Datei:installer-smh.jpg]]&lt;br /&gt;
&lt;br /&gt;
Diese Meldung besagt zunächst nur, dass der Installer erkannt hat, dass die Datei system/config/localconfig.php nicht beschreibbar ist.&lt;br /&gt;
&lt;br /&gt;
Sollte auf dem Server der Safemode deaktiviert sein, sollte es ausreichen, die Dateirechte für die localconfig.php entsprechend anzupassen, damit TYPOlight die Datei beschreiben darf.&lt;br /&gt;
&lt;br /&gt;
Solltest man wirklich in der misslichen Lage sein, dass auf dem Server in PHP der Safemode aktiviert sein sollte, dann führt nun kein Weg daran vorbei die FTP-Zugangsdaten in die Eingabemaske einzugeben.&lt;br /&gt;
&lt;br /&gt;
Bevor man mit der Installation beginnt, sollte man jedoch das [[Systemdiagnosetool]] laufen lassen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack manuell einrichten==&lt;br /&gt;
Manchmal kann es vorkommen, daß man nach einem Update gezwungen ist den Safemode Hack erneut einzurichten. Man kann dann in aller Regel nicht mehr auf das Installer-Interface zugreifen und muss die Daten manuell eintragen. Hierzu editiert man die Datei ''system/config/localconfig'' und fügt folgenden Code ein:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['useFTP'] = true;&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpHost'] = '127.0.0.1';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPath'] = 'pfad/zu/typolight/';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpUser'] = 'ftp-user';&lt;br /&gt;
$GLOBALS['TL_CONFIG']['ftpPass'] = 'ftp-passwort';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Für ftp-user und ftp-passwort nimmt man natürlich die vom Provider - oder selbst erstellten - Userdaten.&lt;br /&gt;
* Der Host kann variieren, ist aber meist localhost.&lt;br /&gt;
* Der ftp-Pfad ist immer relativ vom FTP-Nutzer anzugeben. Nehmen wir an die typolight-Installation liegt auf dem Server im Ordern ''dev/cms/typolight/'' so hat der FTP-Nutzer foo, der Zugriff auf ''/'' hat, ''dev/cms/typolight/'' anzugeben, aber der Nutzer bar, der nur Zugriff auf ''dev/cms'' hat, lediglich ''typolight/'' anzugeben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack auf all-inkl.com==&lt;br /&gt;
Eine interessante Alternative zum Safemode Hack bietet das Besitzrechte-Tool vom Hoster all-inkl.com. Mit diesem kann man den Besitzer von Dateien und Ordner (auch rekursiv) zwischen FTP-User und PHP-User umschalten. Dies ermöglicht Skripten auf diese Dateien zuzugreifen, diese zu verändern wart aber dennoch ein gewisses Maß an Sicherheit, da ein außenstehender, falls er eine Sicherheitslücke entdeckt und ausnutzt nicht auf das ganze System zugreifen kann, sondern nur auf die im KAS festgelegten PHP-Dateien und -Ordner, außerdem erfährt so ein Angreifer (oder neugieriger Mitbenutzer) keine sensiblen Zugangsdaten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte.png]]&lt;br /&gt;
&lt;br /&gt;
Um nun den Besitzer dieses Ordner rekursiv zu wechseln meldet man sich im KAS an (kas.all-inkl.com) und navigiert in in das Menü Tools -&amp;gt; Besitzrechte. Dort stellt man den Nutzer vom FTP-Nutzer (idR der Zugangsname zum KAS) zum PHP-Nutzer und setzt den Haken bei rekursiv.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte-php.png]]&lt;br /&gt;
&lt;br /&gt;
Das Ganze hat aber auch einen Nachteil, man kann keine Dateien mehr aus seinem FTP-Programm heraus verändern oder erstellen, da die gesamte Ordnerstruktur jetzt dem PHP-User gehört.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-ftp-ansicht.png]]&lt;br /&gt;
&lt;br /&gt;
Deshalb sollte man nicht vergessen den Nutzer bei einem Dateiupload über FTP im KAS wieder umzustellen. Weiterhin kann aber das Dateiverwaltungssystem von TYPOlight verwendet werden um Dateien hochzuladen, umzubennenen und zu bearbeiten.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Safemode_Hack</id>
		<title>Safemode Hack</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Safemode_Hack"/>
				<updated>2010-03-10T22:12:41Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Erweiterung um das KAS von all-inkl&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
[[Category:Installation und Updates]]&lt;br /&gt;
=TYPOlight Safemode Hack (SMH)=&lt;br /&gt;
==Definition des SMH==&lt;br /&gt;
Der TYPOlight-Installer meldet, dass man den Safemode Hack (SMH) aktivieren soll:&lt;br /&gt;
&lt;br /&gt;
[[Datei:installer-smh.jpg]]&lt;br /&gt;
&lt;br /&gt;
Diese Meldung besagt zunächst nur, dass der Installer erkannt hat, dass die Datei system/config/localconfig.php nicht beschreibbar ist.&lt;br /&gt;
&lt;br /&gt;
Sollte auf dem Server der Safemode deaktiviert sein, sollte es ausreichen, die Dateirechte für die localconfig.php entsprechend anzupassen, damit TYPOlight die Datei beschreiben darf.&lt;br /&gt;
&lt;br /&gt;
Solltest man wirklich in der misslichen Lage sein, dass auf dem Server in PHP der Safemode aktiviert sein sollte, dann führt nun kein Weg daran vorbei die FTP-Zugangsdaten in die Eingabemaske einzugeben.&lt;br /&gt;
&lt;br /&gt;
Bevor man mit der Installation beginnt, sollte man jedoch das [[Systemdiagnosetool]] laufen lassen.&lt;br /&gt;
&lt;br /&gt;
==Safemode Hack auf all-inkl.com==&lt;br /&gt;
Eine interessante Alternative zum Safemode Hack bietet das Besitzrechte-Tool vom Hoster all-inkl.com. Mit diesem kann man den Besitzer von Dateien und Ordner (auch rekursiv) zwischen FTP-User und PHP-User umschalten. Dies ermöglicht Skripten auf diese Dateien zuzugreifen, diese zu verändern wart aber dennoch ein gewisses Maß an Sicherheit, da ein außenstehender, falls er eine Sicherheitslücke entdeckt und ausnutzt nicht auf das ganze System zugreifen kann, sondern nur auf die im KAS festgelegten PHP-Dateien und -Ordner, außerdem erfährt so ein Angreifer (oder neugieriger Mitbenutzer) keine sensiblen Zugangsdaten.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte.png]]&lt;br /&gt;
&lt;br /&gt;
Um nun den Besitzer dieses Ordner rekursiv zu wechseln meldet man sich im KAS an (kas.all-inkl.com) und navigiert in in das Menü Tools -&amp;gt; Besitzrechte. Dort stellt man den Nutzer vom FTP-Nutzer (idR der Zugangsname zum KAS) zum PHP-Nutzer und setzt den Haken bei rekursiv.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-besitzrechte-php.png]]&lt;br /&gt;
&lt;br /&gt;
Das Ganze hat aber auch einen Nachteil, man kann keine Dateien mehr aus seinem FTP-Programm heraus verändern oder erstellen, da die gesamte Ordnerstruktur jetzt dem PHP-User gehört.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Safemodehack-all-inkl-ftp-ansicht.png]]&lt;br /&gt;
&lt;br /&gt;
Deshalb sollte man nicht vergessen den Nutzer bei einem Dateiupload über FTP im KAS wieder umzustellen. Weiterhin kann aber das Dateiverwaltungssystem von TYPOlight verwendet werden um Dateien hochzuladen, umzubennenen und zu bearbeiten.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Datei:Safemodehack-all-inkl-ftp-ansicht.png</id>
		<title>Datei:Safemodehack-all-inkl-ftp-ansicht.png</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Datei:Safemodehack-all-inkl-ftp-ansicht.png"/>
				<updated>2010-03-10T21:54:35Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Die FTP-Ansicht eines im KAS-System von all-inkl.com geänderten Ordners, dessen Besitzrechte auf den PHP-User übertragen wurden. Ansicht in filezilla.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die FTP-Ansicht eines im KAS-System von all-inkl.com geänderten Ordners, dessen Besitzrechte auf den PHP-User übertragen wurden. Ansicht in filezilla.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Datei:Safemodehack-all-inkl-besitzrechte-php.png</id>
		<title>Datei:Safemodehack-all-inkl-besitzrechte-php.png</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Datei:Safemodehack-all-inkl-besitzrechte-php.png"/>
				<updated>2010-03-10T21:53:11Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Das KAS-System unter Tools -&amp;gt; Besitzrechte zur Veranschaulichung einer Alternative den Safemodehack zu umgehen. Eine weitere Illustration mit genauem Vorgang.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das KAS-System unter Tools -&amp;gt; Besitzrechte zur Veranschaulichung einer Alternative den Safemodehack zu umgehen. Eine weitere Illustration mit genauem Vorgang.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Datei:Safemodehack-all-inkl-besitzrechte.png</id>
		<title>Datei:Safemodehack-all-inkl-besitzrechte.png</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Datei:Safemodehack-all-inkl-besitzrechte.png"/>
				<updated>2010-03-10T21:52:26Z</updated>
		
		<summary type="html">&lt;p&gt;Marc: Das KAS-System unter Tools -&amp;gt; Besitzrechte zur Veranschaulichung einer Alternative den Safemodehack zu umgehen.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das KAS-System unter Tools -&amp;gt; Besitzrechte zur Veranschaulichung einer Alternative den Safemodehack zu umgehen.&lt;/div&gt;</summary>
		<author><name>Marc</name></author>	</entry>

	</feed>