Seitennummerierung unter Joomla und Bootstrap mit der Klasse activ und Screenreader unterstüzung.
Die meisten Joomla Templates welche für den Einsatz mit Twitter's Bootstrap Framework programmiert kommen ohne die class="activ" für das aktive Element.
Dies ist im Grunde nur ein grafischer Unterschied, möchte man das Markup und die Darstellung jedoch komplett unterstützen muss man einen kleinen Trick anwenden.
Als Vorlage habe ich die pagination.php aus dem Ordner html des Joomla 3 Templates protostar genommen und ein wenig abgeändert. Der Skript habe ich sowohl für Joomla 2.5 als auch Joomla 3.3 getestet.
Darstellung ohne Klasse "activ"
Darstellung mit Klasse "activ"
Voraussetzung dass Bootstrap in Ihrem Template integriert ist.
/* pagination_item_inactive inspired by protostar Template Joomla 3 */ /** * @package Joomla.Site * @subpackage Templates.protostar * * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * modification tliebrand.com */ function pagination_item_inactive(&$item) { // Check for "Start" item if ($item->text == JText::_('JLIB_HTML_START')) { return '<li class="disabled"><a href="#">' . $item->text . '</a></li>'; } // Check for "Prev" item if ($item->text == JText::_('JPREV')) { return '<li class="disabled"><a href="#">' . $item->text . '</a></li>'; } // Check for "Next" item if ($item->text == JText::_('JNEXT')) { return '<li class="disabled"><a href="#">' . $item->text . '</a></li>'; } // Check for "End" item if ($item->text == JText::_('JLIB_HTML_END')) { return '<li class="disabled"><a href="#">' . $item->text . '</a></li>'; } // Doesn't match any other condition, render a active and current item return '<li class="active"><a href="#">' . $item->text . '<span class="sr-only">' . JText::_('SR_CURRENT') . '</span></a></li>'; }
Dieser Skript ersetzt die function pagination_item_inactive(&$item) in ihrem Joomla Template html/pagination.php
Zuletzt muss noch ein Textstring entweder in der Sprachdatei Ihres Templates (normaler weise) root/language/de-DE/de-DE.tpl_ihrTemplate.ini oder über das Joomla Backend Erweiterungen Sprachen Overrides angelegt werden.
SR_CURRENT="(aktuell)"
Dies wird benötigt um auch in der Seitennummerierung / Pagination die Barrierefreiheit zu unterstützen. Mit der Klasse sr-only wird dieser Text also nur für Screen-Reader ausgegeben.