CMS: Contao


Klar strukturiertes Backend.
Gute Benutzer- und Gruppenverwaltung. (Frontend= Mitglieder, Backend= Benutzer)
 Administratoren= "allow-all" per Default, Nutzer= "deny-all" per Default.
 Benutzer können mehreren Gruppen angehören, die additiv wirken.
 Rechte werden auf Unterseiten vererbt, können aber pro Seite individuell gesetzt werden.
Bis 2010 als TypoLight bekannt.
Mit (kostenpflichtiger) Liveupdate - Funktion.
MySQL-Datenbank fängt immer mit TL_ an.

Vorgehensweise:

Seitenstruktur erstellen.
 1. Ebene: Typ= Startpunkt der Webseite.
 Unterebenen: Typ= Reguläre Seite.
Startseite Seitenalias= "index" vergeben. Dann wird die Startseite ohne Alias angezeigt.

Theme erstellen. Das Theme kann beliebig Unterthemes für einzelne Seiten enthalten.
 - Verzeichnis für Theme-Files unter /Files/ (sog. Contao -Dateisystem, kann unter "Einstellungen" angepasst werden) anlegen und konfigurieren.
 - Seitenlayout bearbeiten: neues Layout anlegen. (Kopf, Fuß, Spalten, Maße..)
 - Theme: Frontend-Modul erstellen, Navigation, Typ Navigationsmenue.
 - Theme: Frontend-Modul erstellen, Kopfzeile, Typ Zufallsbild, Pfad für Bild(er) eingeben.

Themes / Seitenlayout / Layout bearbeiten / Eingebundene Module hinzu fügen:
 - Modul "Kopf" in Kopfzeile, "Fuss" in Fußzeile

Seitenstruktur: allen Seiten das neue Layout zuweisen.

Neuen Artikel in der Startseite anlegen.
  Diesen Artikel(kopf) bearbeiten. Neues Element erstellen. Das ist der eigentliche Text.
  Es können mehrere Elemente in der Seite positioniert werden.

Im Theme ein neues CSS anlegen. In dem CSS neue Formulardefinition anlegen.
Es können mehrere CSS und darin mehrere Formulardefinitionen festgelegt werden.
Neues CSS dem Layout hinzu fügen.
  CSS: #bla spricht ID an, .bla spricht Class an.

/index.php/ aus URLs nachträglich entfernen:
1. Unter "System > Einstellungen > Frontend Einstellungen" den Haken bei "URLs umschreiben" setzen.
2. URL-Suffix von ".html" in "/" ändern.
Erst wenn Punkt 1 und 2 geändert sind:
3. Datei .htaccess.default in .htaccess umbenennen.
  Zeile: RewriteRule .*\.html$ index.php [L] # URL suffix .html
 ersetzen durch:

 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !contao
 RewriteRule .*\/$ index.php [L]
 RewriteRule (.+)\.html$ /$1/ [L,R=301]   ## Sollte die Seite bereits bei Google indexiert sein, dann sollten die vorhanden URLs per 301 weitergeleitet werden.

HTTPS Zugriff erzwingen:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Umstellung der Seiteninhalte: sehr einfach mit "Database Search and Replace Script in PHP" (man sollte wissen was man tut)

Wenn sich der Suchindex nicht mehr erfolgreich aufbaut und immer noch http:// sucht:
Diesen Button im Startpunkt der Webseite übersieht man leicht.

Templates: Vorlagen, Fehlerseiten, Grundlagenseite für Suche, Kopien von Orginaltemplates usw. (Ordner: /templates/, normal leer)

Bildtitel, Metatags: funktioniert sehr ungenau und unzuverlässig.

PHP einbinden: • datei.php nach /templates/ kopieren.
  • als HTML-Element im Text einbinden:  {{file::datei.php}}

Seitenelement mit Contao-Include einbinden:

{{insert_content::120}}

in PHP Seitenelement mit Contao-Include einbinden:

echo  $this->replaceInsertTags('{{insert_content::120}}'); 

 Anwendungsbeispiel für Contao-Includes in PHP: Browserinformationen auslesen.

$this->import('Environment');
$ua = $this->Environment->agent;

echo $ua->os; // Betriebssystem
echo $ua->browser; // Browsername
echo $ua->shorty; // Browserkürzel
echo $ua->version; // Browserversion
echo $ua->mobile; // True wenn der Client ein mobiler Browser ist
echo $ua->class; // Den CSS-Klassen-String 

In insert_content werden Bildlinks in {{file:*}} umgewandelt und funktionieren nicht.
Abhilfe: Bild einbinden mit https://www.... Dann wird das (zumindest bei mir) als externe Domain gewertet und nicht ersetzt.

Insert Tags: http://de.contaowiki.org/Insert-Tags

Menue, Submenue: http://de.contaowiki.org/ModulNavigation

Ausgabe aller Systemvariablen in PHP:
<?php echo '<pre>' . print_r($GLOBALS) . '</pre>'; ?>

Manuelles Update: folgende Dateien sichern:

  • files/*
  • system/config/dcaconfig.php
  • system/config/initconfig.php
  • system/config/langconfig.php
  • system/config/localconfig.php
  • system/config/pathconfig.php
  • templates/*

Third-Party-Erweiterungen müssen ebenfalls gesichert und nach dem Update wieder hergestellt oder gar nicht erst überschreiben werden. Andernfalls müssen diese Module neu installiert werden, was bei einigen Erweiterungen zu Datenverlust führen kann!

Sollte der Composer-Client im Einsatz sein, muss das Verzeichnis /composer ebenfalls gesichert werden.


Nach dem Update Installationstool: contao/install.php aufrufen (Installationspasswort!) und Datenbank updaten.

Passwort für das Installtool vergessen?
In diesem Fall lokale Konfigurationsdatei system/config/localconfig.php öffnen und folgende Zeile löschen:
$GLOBALS['TL_CONFIG']['installPassword']
Danach fragt Sie das InstallTool nach einem neuen Passwort.

Google Sitemap: befindet sich unter https://domain.tld/share/[blabla].xml
In Seitenstruktur/ Startseite diesen Button nicht vergessen:

Contao Umzug
system/config/localconfig.php - MySQL Zugangsdaten
Bei Verzeichniswechsel:  $GLOBALS['TL_CONFIG']['websitePath'] = ‘http://host/blog/’; in localconfig.php und Pfad in pathconfig.php ändern.

Links:
erdmann-freunde.de/ressourcen.html

Tags: CMS
2017-07-19 10:29 Uwe Kernchen {writeRevision}
Durchschnittliche Bewertung: 0 (0 Abstimmungen)

Es ist möglich, diese FAQ zu kommentieren.

Chuck Norris has counted to infinity. Twice.