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 2 Stunden 20 Minuten
vor 3 Tagen 22 Stunden
vor 4 Tagen 6 Stunden
vor 4 Tagen 10 Stunden
vor 4 Tagen 15 Stunden
vor 1 Woche 1 Tag
vor 1 Woche 1 Tag
vor 1 Woche 1 Tag
vor 2 Wochen 4 Tagen
vor 3 Wochen 5 Tagen