Bootstrap Carousel

  • Joomla Version
    5.0.2
    PHP Version
    PHP 8.2.x
    Hoster
    Mittwald
    Link (URL) zur Seite mit dem Problem
    https://entwicklung.water-for-africa.org/de/

    Hallo,

    ich versuche seit Tagen das Carousel von Bootstrap 5.3 in Cassiopeia zum Sliden zu bekommen.

    Dazu habe ich den Beispielcode von https://getbootstrap.com/docs/5.3/components/carousel/ in ein 'eigenes Modul' kopiert und nur bei scr=" ..." den Pfad zum Bild eingegeben (3x).

    Die Schaltenfläache sind wie in der Demo auf https://getbootstrap.com/docs/5.3/components/carousel/ vorhanden, aber wenn man draufklickt, passiert nichts.

    Code
    <div id="carouselExampleIndicators" class="carousel slide">
    <div class="carousel-indicators"><button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button> <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="1" aria-label="Slide 2"></button> <button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="2" aria-label="Slide 3"></button></div>
    <div class="carousel-inner">
    <div class="carousel-item active"><img src="images/fotos/slider_header/BAI_002191.JPG" class="d-block w-100" alt="..."></div>
    <div class="carousel-item"><img src="images/fotos/slider_header/BAI_002191.JPG" class="d-block w-100" alt="..."></div>
    <div class="carousel-item"><img src="images/fotos/slider_header/BAI_002191.JPG" class="d-block w-100" alt="..."></div>
    </div>
    <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="visually-hidden">Previous</span> </button> <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="visually-hidden">Next</span> </button></div>

    Hat jemand eine Idee?
    Vielen Dank.

    NetNomad

  • Das entsprechende javascript ("bootstrap.carousel") fehlt hier noch / wird nicht geladen.

    Du könntest ein eigenes "Template", bzw. einen override anlegen ...

    Erstelle eine Datei "carousel.php" in templates/dein-template/html/mod_custom mit folgendem Code:

    Anschliessend kannst du diese im Backend in deinem Modul unter "Erweitert -> Layout" auswählen.

    Getestet mit j4 - sollte aber in j5 auch funktionieren.

  • Oder du sorgst dafür, dass das komplette Bootstrap (so wie früher) lädt ... gemäss Antwort von Re:Later

    Re:Later
    27. Juli 2021 um 22:34
  • Stef Du hast gefragt ;)

    ABkupfern die alte Methode, was z.B. Astroid-Framework jetzt schon leicht abgewandelt macht, wenn man im Plugin Bootstrap-Ladung aktiviert:

    Code
    $wa = Factory::getApplication()
    ->getDocument()
    ->getWebAssetManager();
    
    array_map(
    function ($script) use ($wa) {
    $wa->useScript('bootstrap.' . $script);
    },
    ['alert', 'button', 'carousel', 'collapse', 'dropdown', 'modal', 'offcanvas', 'popover', 'scrollspy', 'tab', 'toast']
    );

    oder mit der joomla.asset.json arbeiten. Ein neues Asset definieren:

    Im Template-index.php dann (in anderen Erweiterungen geht es ähnlich):

    Code
    $wa    = $this->getWebAssetManager();
    $wa->useScript('mein.bootstrap.alle');

    ergibt in Joomla 5 (in Joomla 4 lästigerweise etwas abweichend, aber vom Wunsch-Ergebnis gleich:

    Aaaber, es gibt auch weitere Tricksereien, die sich leider beim Wechsel von Joomla 4 auf 5 bisschen erschwert haben.

    Oder halt gleich in der Joomla-index.php. (Man spart sich die Anpassungen in obiger Datei). In anderen Erweiterungen ähnlich

    Code
    $wa    = $this->getWebAssetManager();
    $wa->useScript('bootstrap.alert')
    ->useScript('bootstrap.button')
    ->useScript('bootstrap.carousel')
    ->useScript('bootstrap.collapse')
    --- und so weiter ---
    ;

    So lange man mit den Bootstrap-Versionen, die Joomla mitbringt, klar kommt, einfach. Sobald Bootstrap eine weitere Bootstrap-Komponente (nicht zu verwechseln mit einer Joomla-Komponente) mitbringt, muss man nachrüsten oder sie wird halt nicht geladen.

    Fleigt eine raus, muss man nachrüsten, und sie entfernen, weil einem die Seite sonst um die Ohren fliegt.

    Will man allerdings seine eigenen Bootstrap-Varianten verwenden, dann ist weitere Feilerei nötig, die ich aber auch in der joomla.asset.json (meist) des Templates abwickle.

    Alles jedenfalls zeitraubender, sch... Denksport von Joomla-Version zu Joomla-Version ;) Was in Joomla 6 an weiteren Fiesheiten kommt, wird sich zeigen müssen.

  • Na ja, wenn man in Joomla 5, dann nicht auf die Nachricht reinfällt, die suggeriert, dass Joomla 6 jetzt viel toller ist und man doch (teils verfrüht) updaten sollte (das sind dann die kleineren Reparier-Jobs, die bei mir landen ;) ) reden wir ja von Jahren, dass das Spruchreif wird.

  • Das entsprechende javascript ("bootstrap.carousel") fehlt hier noch / wird nicht geladen.

    Du könntest ein eigenes "Template", bzw. einen override anlegen ...

    Erstelle eine Datei "carousel.php" in templates/dein-template/html/mod_custom mit folgendem Code:

    Anschliessend kannst du diese im Backend in deinem Modul unter "Erweitert -> Layout" auswählen.

    Getestet mit j4 - sollte aber in j5 auch funktionieren.

    Danke. Ich habe den Code in eine Datei mod_custom.php kopiert und im Verzeichnis des Child-Templates gespeichert - siehe Screenshot.

    Im Modul kann ich die Datei nicht nicht unter "Erweitert > Layout" auswählen ...?

    NetNomad

  • Da fehlt noch der Ordner "mod_custom". Die Datei muss im Ordner "templates/dein-template/html/mod_custom" liegen.

    Also "templates/dein-template/html/mod_custom/carousel.php", dann sollte sie auswählbar sein

    Danke. Jetzt funktioniert es.

    Eine Frage noch: wo gibt es eine Anleitung zum Code schreiben für Overrides? Das ist doch ein Override, oder?

    NetNomad

  • Hier mal eine "Anleitung" von Astrid Günther: https://blog.astrid-guenther.de/joomla/templat…des-und-chrome/

    Mehr habe ich da gerade nicht zur Hand - aber es wird hier im Forum auch immer wieder zu solchen verlinkt. Such mal ;)

    Moin zusammen,

    die Blog-Beiträge von Astrid Günther zum Thema Joomla sind auf ihrer Seite nicht mehr aufrufbar. Weiß einer wieso das so ist oder ob der Blog zum Thema Joomla umgezogen ist ? -Die Beiträge waren immer sehr hilfreich.

  • Moin zusammen,

    die Blog-Beiträge von Astrid Günther zum Thema Joomla sind auf ihrer Seite nicht mehr aufrufbar. Weiß einer wieso das so ist oder ob der Blog zum Thema Joomla umgezogen ist ? -Die Beiträge waren immer sehr hilfreich.

    Siehe hier:

    christine2
    3. Februar 2024 um 20:16