In Contao bekommt man den bedingten Trennstrich (oder: Soft Hyphen, weiches Trennzeichen, ­) im Texteditor aber auch im Seitennamen und -Titel und vielen anderen Feldern so hin: [-]. Falls man es mit der Silbentrennung im Browser etwas genauer haben möchte, ist dies eine sehr einfache Möglichkeit.

Dies ist ähnlich dem [nbsp], welches ein geschütztes Leerzeichen ( ,  ) ausgibt.

Um beispielhaft Nashorninnenraumbehaarung an den richtigen Stellen zu trennen, muss hieraus Nas[-]horn[-]innen[-]raum[-]be[-]haarung werden, woraus schließlich Nas­horn­innen­raum­be­haarung wird.

Nas­horn­innen­raum­be­haarung

(Langsam wird das hier zu einem Contao-Blog)

Wenn man wie im Artikel von Rocksolid unter Schritt 4 beschrieben, die JavaScript-/jQuery-Dateien in Contao zusammenfassen möchte, müssen erstmal die Dateipfade herausgefunden (die in Contao 3.5 kein einheitliches Muster haben*). Nachfolgend die kompletten Blöcke für deren Templates unter Berücksichtigung der Standard-Templates:

Mediaelement (j_mediaelement.html5)

<?php
  $GLOBALS['TL_JAVASCRIPT'][] = 'assets/jquery/mediaelement/'.MEDIAELEMENT.'/js/mediaelement-and-player.min.js|static';
?>

Colorbox (j_colorbox.html5)

<?php
  $GLOBALS['TL_JAVASCRIPT'][] = 'assets/jquery/colorbox/'.COLORBOX.'/js/colorbox.min.js|static';
?>

Accordion (j_accordion.html5)

<?php
  $GLOBALS['TL_JAVASCRIPT'][] = 'assets/jquery/ui/'.JQUERY_UI.'/jquery-ui.min.js|static';
?>

Slider (j_slider.html5)

<?php
  $GLOBALS['TL_JAVASCRIPT'][] = 'assets/swipe/'.SWIPE.'/js/swipe.min.js|static';
?>

Table Sorter (j_tablesort.html5)

<?php
  $GLOBALS['TL_JAVASCRIPT'][] = 'assets/jquery/tablesorter/'.TABLESORTER.'/js/tablesorter.js|static';
?>

Die Konstanten wie JQUERY_UI oder SWIPE sind unter system/config/constants.php definiert und geben die Versionsnummer der Scripts zurück.

* sei es wegen verschiedenen Vendors oder anderer Dateistruktur

Wird im Contao Kalender-Modul das Mini-Template ausgewählt (cal_mini), darf im Eventliste-Modul – das auf der Kalenderseite oder auf der Weiterleitungsseite benutzt wird – kein Anzeigeformat unter „Zukünftige Events“ oder „Vergangene Events“ verwendet werden. Der Filter (day=yyyymmdd) greift sonst nicht.

Das ganze als erklärendes Bild, falls ihr mein Textwirrwarr nicht versteht:

contao-mini-kalender-anzeigeformat-eventliste

Ich hatte hier vor ein paar Jahren mehrere Beiträge aus einem Blog importiert. Dieses lief mit Textpattern und ich wollte die Beiträge in ein WordPress migrieren. Das hat soweit auch gut geklappt, bis auf eine Sache, mit der ich noch heute Probleme habe und die ich leider erst spät herausfand: der Slug (wie man das so schön in WordPress-Sprech nennt) wurde teilweise nicht übernommen, falsch oder nicht generiert.

Symptome: In den Titeln der Textpattern-Beiträge wurde jeweils ein „Non Breaking Space“ zwischen den letzten beiden Wörtern eingefügt, um Hurenkinder zu vermeiden. Leider hat das damals verwendete Script diesen Fall nicht berücksichtigt und dementsprechend dieses mit &#160; eingefügte, geschützte Leerzeichen nicht – wie beim normalen Leerzeichen – mit einem Strich ersetzt, sondern setzte einfach beide Wörter zusammen. So wurde beispielsweise aus pixelscheucher.de/neue-buecher-im-schrank/ ein pixelscheucher.de/neue-buecher-imschrank/. Teilweise hat auch es auch mit den Umlauten nicht funktioniert, so dass auch aus Bücher kein buecher wurde, sondern bucher. An manchen Stellen wurde auch, ich vermute den Fehler hier allerdings im Import-Tool, überhaupt kein Slug erstellt, so dass der jeweilige Beitrag gar nicht aufgerufen werden kann.

Die Folge sind bislang viele 404-Errors, die ich vor allem in den Google Webmaster Tools regelmäßig begutachte und nach und nach korrigiere. Bis dato habe ich an die 100 solcher Fehler, die aber nicht alle auf diesen Export-Import-Vorgang zurückzuführen sind. Ab und an verbringe ich also meine Freizeit damit, URLs zu korrigieren. Manche Beiträge lösche ich auch direkt, da sie inzwischen blödsinnig geworden sind.

contao-layoutbereich-template

Seit Contao 3.3 können die eigenen Layoutbereich mit einem eigenen Template ausgegeben werden. Dafür muss der jeweilige Bereich in der fe_page.html5 bzw. fe_page.xhtml folgendermaßen aufgerufen werden:

$this->section('meinlayoutbereich', 'block_section_meinlayoutbereich-template');

meinlayoutbereich ersetzt ihr mit dem Namen eures Layoutbereichs, block_section_meinlayoutbereich-template mit dem Namen eures Templates. Easy, mh?

Was muss im Template des Layoutbereich stehen? Mindestens das:

echo $this->content;

Siehe auch GitHub-Issue #6531. Außerdem kommt in 3.5 (jedenfalls als Milestone angegeben) ein wenig Komfort in die Layoutbereiche, wie man in Issue #6630 sieht.

(Aus irgendwelchen Gründen schmeißt – mein – WordPress < ? php am Anfang von HTML-Code-Elementen heraus, daher habe ich den Beispielen darauf verzichtet und musste es hier mit Leerzeichen schreiben. Mh.)