ich binde über ein eigenes Plugin ein Collapse Panel ein und verwende damit das Shopware Plugin swCollapsePanel automatisch mit - ist ja schöner als das Rad neu zu erfinden und zusätzlichen Code einzubauen.
Leider subscribed das Storytelling Plugin in der jquery.storytelling.js dazu auf die Events plugin/swCollapsePanel/onOpen und plugin/swCollapsePanel/onClose und ruft die Methode “onFooterPanel” auf und scrollt die Seite nach unten!
/**
* Called by opening or closing a panel in the footer on the mobile viewport.
* Sets the new bottom offset and slides down the footer end.
*/
onFooterPanel: function () {
var me = this;
me.scrollTop = me.getScrollTop();
me.offsetBottom = me.$pageWrap.height() - me.viewportHeight;
me.scroll(me.offsetBottom);
},
Dabei findet aber keine Prüfung statt, ob es sich tatsächlich um die Footer Panels handelt. Andere Collapse Panels, welche nicht im Footer liegen sind somit ebenfalls betroffen, was zu einem unschönen Effekt des Herunterscrollens zum Footer führt.
Wie kann ich nun im Rahmen meines Plugins darauf reagieren? Die Methode mit overridePlugin kann ich nur mit einem Theme überschreiben - also keine Möglichkeit. Hat jemand daher eine Idee wie ich nun in meinem Plugin sicherstellen kann, dass nicht nach unten gescrollt wird?
vielen Dank für Deine Antwort. Ich verstehe leider nicht, wie der Hinweis auf die Plugin-Ressourcen und die der Hinweis auf die Views helfen soll, ein jQuery Plugin auf einem Shopware Plugin mit einem anderen Plugin zu überschreiben. Hier geht es rein um die Javascripts.
Ich glaub das ist nicht wirklich das, wonach ich Suche. Mir ist schon klar, dass ich auf Events anderer Plugins subscriben kann und dann abhängig vom Viewport funktionen triggern kann…
Ich möchte aber eine bestehende Methode eines anderen Plugins überschreiben, ähnliche der Funktion overridePlugin bei Themes…
Entweder stehe ich gerade auf dem Schlauch oder wir reden aneinander vorbei
Ich habe ein Plugin und kein Theme , welches unveränderlich ein Plugin und kein Theme ist. overridePlugin() funktioniert meines Wissens nach nur in Themes und nicht in Plugins.
es gibt keine “nur Theme-Funktionen” oder “nur Plugin-Funktionen”, overridePlugin() funktioniert bei Plugins genauso wie bei Themes und kann man dort genauso problemlos nutzen.
Okay, ich war der Meinung mal einen Beitrag hier im Forum gelesen zu haben, in dem die allgemeine Meinung war, dass es Einschränkungen beim Überschreiben von jquer Plugins über ein anderes Plugin gäbe. Finde diesen Beitrag nicht mehr - vll. werfe ich hier auch was durcheinander - ist schon einige Zeit her.