core
                                
                                 core copied to clipboard
                                
                                    core copied to clipboard
                            
                            
                            
                        Feature: Navigation oben bzw. oben/unten im Content-Slider-Element
Der Content-Slider (Contao 3.5.x) erlaubt die Navigation nur im Template ce_slider_stop, also unten. Bei längeren Inhalten muß man nach jedem Navigationsschritt zum Kopf des Inhaltes des aktuellen Slides scrollen, um zu sehen an welcher Stelle man gerade ist. Dort steht nämlich z.B. eine Überschrift, die einem sagt, was man sich gerade ansieht.
Beispiel:

Unten ist die Navigation. Da die Überschrift über der darüberstehenden Tabelle nicht zu sehen ist, muß der Benutzer nach oben scrollen. Um anschließend evtl. wieder nach unten zu scrollen und zum nächsten Navigationspunkt zu springen.
Ich habe deshalb eine Kopie der Navigation in das Template ce_slider_start gepackt. Effekt: die Navigationspunkte sind jetzt nur noch oben zu sehen und unten bleibt der slider-menu-Container leer. Dafür fehlen oben die Werte aus $this->previous und $this->next. Sie werden dem Template nicht übergeben. Die muß ich deswegen direkt in das Template reinschreiben.
Mein Wunsch deshalb: In /system/modules/core/elements/ContentSliderStart.php die beiden Variablen zu übergeben - analog wie in /system/modules/core/elements/ContentSliderStop.php.
Damit eine doppelte Navigation möglich ist (oben/unten) muß wahrscheinlich das Template j_slider angepaßt werden. Eine funktionierende Navigation oben reicht mir aber. Zumal der Besucher jetzt nicht mehr hin- und herscrollen muß.
Bis dahin könntest du die Navigation mit JS nach oben bringen. Ich hatte das mal gemacht, als ich den Slider in eine Tabnavigation umgebaut hatte.
Hier mal ein Auszug (MooTools)
(function($) {
  window.addEvent('domready', function() {
    // Build a tab looking slider from normal slider
    if($$('.my_slider')[0]) {
      // Navigation to the top
      $$('.my_slider .slider-control').inject($$('.my_slider .ce_sliderStart')[0], 'top');
      // Hide the arrows
      // $$('.my_slider .slider-next, .my_slider .slider-prev').destroy();
    }
  });
})(document.id);
Alles was fehlt ist eigentlich nur
$this->Template->previous = $GLOBALS['TL_LANG']['MSC']['previous'];
$this->Template->next = $GLOBALS['TL_LANG']['MSC']['next'];
in ContentSliderStart.php. Daher kannst du dein ce_slider_start Template auch einfach folgendermaßen umsetzen:
<div class="<?= $this->class ?> block"<?= $this->cssID ?><?php if ($this->style): ?> style="<?= $this->style ?>"<?php endif; ?>>
  <?php if ($this->headline): ?>
    <<?= $this->hl ?>><?= $this->headline ?></<?= $this->hl ?>>
  <?php endif; ?>
  <nav class="slider-control">
    <a href="#" class="slider-prev"><?= $GLOBALS['TL_LANG']['MSC']['previous'] ?></a>
    <span class="slider-menu"></span>
    <a href="#" class="slider-next"><?= $GLOBALS['TL_LANG']['MSC']['next'] ?></a>
  </nav>
  <div class="content-slider" data-config="<?= $this->config ?>">
    <div class="slider-wrapper">
Damit eine doppelte Navigation möglich ist (oben/unten) muß wahrscheinlich das Template j_slider angepaßt werden.
Eine Template Anpassung alleine reicht hier leider nicht. Swipe unterstützt von Haus aus keine Navigation - diese Funktionalität hat Leo Feyer hinzugefügt: https://github.com/contao/core/blob/3.5.9/assets/swipe/2.0/js/swipe.js#L125
Diese Funktion unterstützt derzeit nur einen einzelnen container, worin sich .slider-prev, .slider-next und .slider-menu befinden.