tliebrand.com Private Homepage von Thomas Liebrand

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"

Joomla pagination Bootstrap

Darstellung mit Klasse "activ"

Joomla pagination aktiv

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.