Swiper Widget initialisieren

Thema wurde von Anonymous, 17. November 2021 erstellt.

  1. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    17. Juli 2018
    Beiträge:
    49
    Danke erhalten:
    8
    Danke vergeben:
    11
    Hi,

    ich habe in einem overload einen Swiper mit einigen Produkten erstellt. Das ganze mache ich per

    PHP:
    // $swiperData mit Sinnvollen Daten füllen, dann 
    $swiperHtml MainFactory::create_object'ProductsSwiperContentView', [ $swiperData ] );
    return 
    $swiperHtml->get_html();
    Und das dann in eine Smarty-Variable. Das fällt auch schön so an der gewünschten Stelle raus und sieht beinahe so aus, wie das erhoffte Ergebnis.

    Mein Problem ist jedoch, dass der Swiper nicht initialisiert wird. Ändere ich die Größe des Viewports springt irgendeine Initialisierung an und es geht. Demnach scheine ich nicht allzuweit vom Ziel zu sein. Meine Frage ist nun: Kann ich diese Initialisierung selbst feuern? Ich habe in JS mit

    Code:
    window.gambio.widgets.init($(swiperElement));
    und natürlich dem (vermeintlich) passenden Selektor rumgetestet. Da passier aber leider nichts. Hat hier jemand eine Idee?

    Danke!
     
  2. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    17. Juli 2018
    Beiträge:
    49
    Danke erhalten:
    8
    Danke vergeben:
    11
    Leichte Fortschritte, aber noch keine Lösung. Die Initialisierung per

    Code:
    jQuery('#series_x_sell').attr('data-gambio-widget', 'swiper');
    gambio.widgets.init($('#series_x_sell'));
    funktioniert prinzipiell. Jedoch haben wir den Swiper in einem Zusatztab. Initialisiere ich den Swiper während der Tab geöffnet ist, geht alles. Ist er das nicht (z.B. nach dem Pageload) läuft zwar die Initialisierung, aber die findet vermutlich nicht die Dimensionen des umgebenen Containers und somit will der Swiper nicht. Gibt es eine Art Tab change oder show Event, an das man sich hängen kann um dann zu prüfen, welcher Tab geöffnet wurde und in Abhängigkeit davon das Widget zu initialisieren?