Mediabox auf Deutsch

Aus Contao Community Documentation


betrifft
TYPOlight Version ab 2.8.2

Oft besteht der Wunsch, die Mediabox einzudeutschen.
Da die Buttons dabei schon auf neutralen Symbolen geändert wurden, reicht es nur den Text "x of y" zu ändern.
Dazu erstellt man eine Kopie von moo_mediabox.tpl (z.B. moo_mediabox_de.tpl) direkt über das Backend:

  • "Layout" - "Templates"
  • Neues Template , Auswahl moo_mediabox, Template erstellen
  • Template umbenennen (Bleistift) nach moo_mediabox_de (die Endung macht TL selber ran)
  • Template editieren, Code anpassen wie unten gezeigt, speichern

Nun muss man im Layout noch das geänderte Template aktivieren, dazu unter:

  • "Layout" - "Themes" - "Seitenlayouts" - Layout bearbeiten (Contao ab 2.9)
  • "Layout" - "Seitenlayouts" - Layout bearbeiten (TYPOlight bis 2.8.x)
  • hier nimmt man nun bei "MooTools-Templates" das Häkchen bei "moo_mediabox" raus und bei "moo_mediabox_de" rein.
  • fertig

Variante für TYPOlight

<?php
 
// Add mediabox style sheet
$GLOBALS['TL_CSS'][] = 'plugins/mediabox/css/mediabox.css|screen';
 
?>
 
<script type="text/javascript" src="plugins/mediabox/js/mediabox.js"></script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
Mediabox.scanPage = function() {
  var links = $$("a").filter(function(el) {
    return el.rel && el.rel.test(/^lightbox/i);
  });
  $$(links).mediabox({counterText: '<p><br />(Bild {x} von {y})</p>'}, null, function(el) {
    var rel0 = this.rel.replace(/[[]|]/gi," ");
    var relsize = rel0.split(" ");
    return (this == el) || ((this.rel.length > 8) && el.rel.match(relsize[1]));
  });
};
window.addEvent("domready", Mediabox.scanPage);
//--><!]]>
</script>

Der deutsche Text wurde noch in <p> Tags und einem <br> eingebunden. Grund ist ein kleiner Bug in Mediabox, der dazu führen kann, dass der Beschreibungstext nicht vollständig angezeigt wird, da die Höhe dafür falsch berechnet wird.
Die Tags zwingen nun die Mediabox dazu die Höhe zu erweitern. Dadurch entstehen zwar ab und zu darunter unschöne Abstände, aber der Text ist dafür vollständig, was wichtiger ist.

Variante ab Contao 2.9.1

<?php
 
// Add mediabox style sheet
$GLOBALS['TL_CSS'][] = 'plugins/mediabox/css/mediabox.css?'. MEDIABOX .'|screen';
 
?>
 
<script type="text/javascript" src="plugins/mediabox/js/mediabox.js?<?php echo MEDIABOX; ?>"></script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
Mediabox.scanPage = function() {
  var links = $$("a").filter(function(el) {
    return el.rel && el.rel.test(/^lightbox/i);
  });
  $$(links).mediabox({counterText: '<p><br />(Bild {x} von {y})</p>'}, null, function(el) {
    var rel0 = this.rel.replace(/[[]|]/gi," ");
    var relsize = rel0.split(" ");
    return (this == el) || ((this.rel.length > 8) && el.rel.match(relsize[1]));
  });
};
window.addEvent("domready", Mediabox.scanPage);
//--><!]]>
</script>




--BugBuster 22:53, 25. Dez. 2010 (CET)

Ansichten
Meine Werkzeuge

Contao Community Documentation

<TheTril> Stateless Template, Stateless Elements, Stateless Renderer :)
<TheTril> everything is stateles :D
<leo-unglaub> TheTril: genau wie Ed Snowden *g*

Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge