03 - Templates
Damit wäre also die Grundlage für den Einsatz des Sliders geschaffen. Jetzt müssen wir nur noch die entsprechenden Templates anpassen, damit der View auch den Slider ausgibt und als Pager akzeptiert.
Dazu habe ich mir zuerst eine neue Datei namens "views-view--gallery.tpl.php" erstellt (als Kopie von views/theme/views-view.tpl.php und diese ein wenig angepasst. Die wichtigsten Änderungen betreffen hierbei die CSS-Klasse des äusseren <div> Elementes (benötigt wird unbedingt die Klasse "view-type-slider"!).
Zusätzlich muss jetzt noch der Minipager von Views überschrieben werden. Dies habe ich über die untenstehende Funktion gelöst (hat den Vorteil, dass dies nur für diesen speziellen View gilt).
<?php
function garland_views_mini_pager__gallery($tags = array(), $limit = 10, $element = 0, $parameters = array(), $quantity = 9) {
global $pager_page_array, $pager_total;
// Calculate various markers within this pager piece:
// Middle is used to "center" pages around the current page.
$pager_middle = ceil($quantity / 2);
// current is the page we are currently paged to
$pager_current = $pager_page_array[$element] + 1;
// max is the maximum page number
$pager_max = $pager_total[$element];
// End of marker calculations.
if ($pager_max <= 1) {
return '';
}
drupal_add_js(array('pager' => array('current' => $pager_current)), 'setting');
drupal_add_js(array('pager' => array('max' => $pager_max)), 'setting');
drupal_add_js(drupal_get_path('theme', 'garland') .'/scripts/ui/jquery.ui.min.js', 'theme');
drupal_add_js(drupal_get_path('theme', 'garland') .'/scripts/slider.config.js', 'theme');
drupal_add_css(drupal_get_path('theme', 'garland') .'/scripts/ui/theme/ui.core.css', 'theme', 'screen');
drupal_add_css(drupal_get_path('theme', 'garland') .'/scripts/ui/theme/ui.theme.css', 'theme', 'screen');
drupal_add_css(drupal_get_path('theme', 'garland') .'/scripts/ui/theme/ui.slider.css', 'theme', 'screen');
drupal_add_js('initSlider();', 'inline', 'footer');
$output = '
<div class="sliderarea">
<div id="slider"></div>
<div class="caption">Seite: <span class="current"> </span> von <span class="max"> </span></div>
</div>';
$output .= '<div class="pager-default">'. theme_views_mini_pager($tags, $limit, $element, $parameters, $quantity) .'</div>';
return $output;
}
?>Sollte Javascript deaktiviert sein, wird der Standardpager von Views angezeigt.
- Anmelden oder Registrieren um Kommentare zu schreiben

Neue Kommentare
vor 4 Tagen 11 Stunden
vor 4 Tagen 18 Stunden
vor 4 Tagen 18 Stunden
vor 4 Tagen 19 Stunden
vor 5 Tagen 53 Minuten
vor 5 Tagen 14 Stunden
vor 5 Tagen 23 Stunden
vor 1 Woche 2 Stunden
vor 1 Woche 21 Stunden
vor 1 Woche 3 Tagen