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 Tagen 20 Stunden
vor 2 Tagen 23 Stunden
vor 2 Tagen 23 Stunden
vor 2 Tagen 23 Stunden
vor 3 Tagen 20 Stunden
vor 3 Tagen 22 Stunden
vor 4 Tagen 19 Stunden
vor 5 Tagen 12 Stunden
vor 5 Tagen 13 Stunden
vor 5 Tagen 16 Stunden