
Contao (ehemals TYPOlight) erfreut sich – zu Recht – zunehmender Beliebtheit. Einzigartig gut ist die Benutzerfreundlichkeit und Anschaulichkeit für Laien. Auch lässt sich das CMS Contao einfach anpassen, obwohl es nicht nur ein Framework ist. Daher setzen wir es auch selbst ein. Recht viel besser kann ein Backend nicht sein. Oder doch? Dieser Beitrag zeigt, wie man das Backend von Contao mit weniger bekannten Tricks noch besser anpassen kann und welche Einstellungen wir optimalerweise vornhemen. Auch wenn sich in der anstehenden TYPOlight/ Contao Version 2.8 viel ändern wird, folgende Anpassungen sind natürlich updatesicher.
Wieso wir Contao empfehlenswert finden und selbst häufig einsetzen, haben wir bereits im Artikel Contao – 8 Vorteile skizziert.
Ansonsten findet man auf der offiziellen Webseite viele Infos. So setzen auch etwa McFit, Schubeck und Demba Ba auf Contao.
Die Bezeichnung »Artikel« im Backend finde ich unpassend. Dies verursacht immer den meisten Erklärungsbedarf im Handout für Kunden.
Denn Contao verwendet »Artikel« als bloßen Inhaltscontainer oder Inhaltsbereich. Die eigentlichen Inhalte sind dann Elemente des »Artikels«. Diese Konstruktion hat durchaus seinen Sinn, denn je nach Elementtyp (Überschrift, Text, Bildergalerie, …) bietet das CMS dem Benutzer gleich passende Eingabe- und Auswahlfelder – ähnlich wie bei Redaxo. Allerdings ist das per se schon erklärungsbedürftig und die Bezeichnungen ab Werk sind da nicht gerade hilfreich.
Also ändern wir diese. Diese Anpassung geht ganz einfach und ist zudem updatesicher.
In der Datei langconfig.php unter system/config/ kann man für jede Sprache eigene Übersetzungen updatesicher überschreiben. Die deutschen Standardübersetzungen findet man übrigens in modules/backend/languages/de/.
Wenn man anstatt Inhalte > Artikel > Elemente beispielsweise Inhalte > Inhaltsbereich > Inhaltselemente verständlicher findet, könnte man dort folgendes einfügen (Umlaute in UTF-8 codieren!):
// Bezeichnung Artikel verbessern
$GLOBALS['TL_LANG']['MOD']['article'] = array('Inhaltselemente', 'Inhaltsbereich und Inhaltselemente verwalten.');
$GLOBALS['TL_LANG']['CHMOD']['editarticles'] = 'Inhaltsbereich bearbeiten';
$GLOBALS['TL_LANG']['CHMOD']['movearticles'] = 'Hierarchie der Inhaltsbereiche ändern';
$GLOBALS['TL_LANG']['CHMOD']['deletearticles'] = 'Inhaltsbereich löschen';
$GLOBALS['TL_LANG']['tl_article']['published'] = array('Inhaltsbereich veröffentlichen', 'Den Inhaltsbereich auf der Webseite anzeigen.');
$GLOBALS['TL_LANG']['tl_article']['new'] = array('Neuer Inhaltsbereich', 'Einen neuen Inhaltsbereich anlegen');
$GLOBALS['TL_LANG']['tl_article']['show'] = array('Inhaltsbereich-Details', 'Details des Inhaltsbereichs ID %s anzeigen');
$GLOBALS['TL_LANG']['tl_article']['edit'] = array('Inhaltsbereich bearbeiten', 'Inhaltsbereich ID %s bearbeiten');
$GLOBALS['TL_LANG']['tl_article']['copy'] = array('Inhaltsbereich duplizieren', 'Inhaltsbereich ID %s duplizieren');
$GLOBALS['TL_LANG']['tl_article']['cut'] = array('Inhaltsbereich verschieben', 'Inhaltsbereich ID %s verschieben');
$GLOBALS['TL_LANG']['tl_article']['delete'] = array('Inhaltsbereich löschen', 'Inhaltsbereich ID %s löschen');
In Contao arbeitet eine angepasste Version des Editors TinyMCE:

In der Standard-Einstellung ist die Schriftgröße nichts für hohe Auflösungen oder Sehschwache. Das kann man updatesicher ganz einfach anpassen. Man legt ins Hauptverzeichnis eine CSS-Datei, die basic.css heißen muss. Denn diese wird standardmäßig vom Editor abgefragt.
Darin könnte dann stehen (vielleicht noch ein color:#000; für besseren Kontrast):
/*Backend Editor*/
body{
font-size:12px;
font-family:verdana,arial,sans-serif;}
Der Editor ist nicht überladen aber auch nicht auf das Wesentliche reduziert, wenn man vom Normalfall ausgeht. Den Contao-Editor kann man auch ganz einfach updatesicher anpassen.
Die Standardeinstellung von Contao findet man unter system/config/tinyMCE.php. Dieses wird aber ggf. bei einem Update überschrieben – also nicht updatesicher änderbar.
Daher kopieren wir die Datei und speichern diese etwa als tinyCustom.php im gleichen Verzeichnis. Die wesentlichen Funktionen zur Anpassung finden sich zu Beginn unter Plugins und am Ende unter theme_advanced_blockformats und theme_advanced_buttons1 bis 3 (für jede Buttonzeile).
Will man nur eine Zeile mit minimalen Schaltflächen und reduzierter Formatauswahl, könnte das zum Ende so aussehen:
theme_advanced_blockformats : "p,h1,h2,h3,h4", theme_advanced_buttons1 : "bold,italic,separator,typolinks,unlink,separator,formatselect,styleselect,separator,bullist,numlist,outdent,indent,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,pasteword,separator,code,separator", theme_advanced_buttons2 : "", theme_advanced_buttons3 : ""
tinyCustom.php anstatt der normalen tinyMCE.php verwenden soll. Dies geht einfach und updatesicher in der Datei dcaconfig.php unter system/config:// Die eigene RTE-Konfiguration für Text-Elemente verwenden $GLOBALS['TL_DCA']['tl_content']['fields']['text']['eval']['rte'] = 'tinyCustom';


Contao hat bei uns selbst bei umfangreicheren Seiten oder Multidomain-Umgebungen (mit 20 und mehr Domains) sehr schnelle Ladezeiten – ohne Caching und ohne Komprimierung.
Ab Version 2.8 wird sich hier auch einiges verbessern, daher will ich nicht vorgreifen. Achtet anbedingt auf die entsprechende Erweiterung in der .htaccess, welche die .gz-Varianten ins Spiel bringt.
Zur Ladezeitoptimierung mit GZip-Komprimierung, expire-Datum und last modified-Angaben im Header in einem der folgenen Beiträge mehr.
Ich hoffe, ich konnte jedem Contao-Nutzer und Betreuer mindestens einen Tipp zur generellen Verbesserung des CMS geben.
Weitere sinnvolle Vorschläge sind willkommen!
Im Blog schreibt Robert Hartl über CMS, SEO & Webdesign. Kontakt →
Kommentare werden erst nach manueller Freischaltung sichtbar.
Firmianstraße 2a
D-94032 Passau
Tel.: +49 (0)851/ 966 31-31
Fax: +49 (0)851/ 966 31-41
E-Mail: kontakt@netprofit.de
Hi, vielen Dank für die Tipps.
Gerade das mit den TinyMCE ist eine gute Sache, da vor allem Kunden mit einem überladenen Editor nicht zurecht kommen. Das Verhältnis zu WYSIWYG ist da eher schwierig zu erklären…
Besten Dank!
Kommentar 1
1. Mai 2010 um 09:10 Uhr