# Storytelling scrollt beim Click auf ein Collapse Panel nach unten

**URL:** <https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017>\
**Category:** Programmierung\
**Created:** [20. Mai 2018 um 17:52 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017 "2018-05-20T17:52:19Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![zenit](https://avatars.discourse-cdn.com/v4/letter/z/a87d85/32.png) [@zenit](https://forum.shopware.com/u/zenit)\
**Post date:** [20. Mai 2018 um 17:52 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017/1 "2018-05-20T17:52:19Z")

</div>

Hallo Community,&nbsp;

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.&nbsp;

Leider subscribed das Storytelling Plugin in der jquery.storytelling.js dazu auf die Events **plugin/swCollapsePanel/onOpen** und **plugin/swCollapsePanel/onClose** &nbsp;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&nbsp;kann ich nun im Rahmen meines Plugins darauf reagieren? Die Methode mit overridePlugin kann ich nur mit einem Theme überschreiben - also keine Möglichkeit.&nbsp;Hat jemand daher eine Idee wie ich nun in meinem Plugin sicherstellen kann, dass nicht nach unten gescrollt wird?

---

<div class="post-metadata">

**Author:** ![BestShopPossible](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@BestShopPossible](https://forum.shopware.com/u/BestShopPossible)\
**Post date:** [24. Mai 2018 um 07:44 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017/2 "2018-05-24T07:44:57Z")

</div>

Wieso soll das nicht möglich sein?

[https://developers.shopware.com/developers-guide/plugin-quick-start/#plugin-resources](https://developers.shopware.com/developers-guide/plugin-quick-start/#plugin-resources)

[https://developers.shopware.com/developers-guide/example-plugin/#plugin-views](https://developers.shopware.com/developers-guide/example-plugin/#plugin-views)

---

<div class="post-metadata">

**Author:** ![zenit](https://avatars.discourse-cdn.com/v4/letter/z/a87d85/32.png) [@zenit](https://forum.shopware.com/u/zenit)\
**Post date:** [24. Mai 2018 um 08:08 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017/3 "2018-05-24T08:08:15Z")

</div>

@BestShopPossible‍

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.

---

<div class="post-metadata">

**Author:** ![BestShopPossible](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@BestShopPossible](https://forum.shopware.com/u/BestShopPossible)\
**Post date:** [24. Mai 2018 um 17:38 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017/4 "2018-05-24T17:38:40Z")

</div>

In den Ressourcen legst du dir die Shopware-Struktur an:

Ressources-\>Views-\>frontend-\>\_public-\>src-\>js

Da kommt dann dein js rein, ganz OHNE theme.&nbsp;

Dein js sieht so aus:

[https://developers.shopware.com/designers-guide/javascript-statemanager-and-pluginbase/](https://developers.shopware.com/designers-guide/javascript-statemanager-and-pluginbase/)

dadrin kannst du dann auf alles was du willst subscriben z.B.:

```
$.subscribe('plugin/swAjaxVariant/onRequestData', function() {
        StateManager.registerListener([{
            state: 'xs',
            enter: function() { console.log('onEnter xs');},
            exit: function() { console.log('onExit xs'); }
        }]);
}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![zenit](https://avatars.discourse-cdn.com/v4/letter/z/a87d85/32.png) [@zenit](https://forum.shopware.com/u/zenit)\
**Post date:** [25. Mai 2018 um 09:07 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017/5 "2018-05-25T09:07:14Z")

</div>

@BestShopPossible‍

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…&nbsp;

**Ich möchte aber eine bestehende Methode eines anderen Plugins überschreiben, ähnliche der Funktion overridePlugin bei Themes…**

---

<div class="post-metadata">

**Author:** ![BestShopPossible](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@BestShopPossible](https://forum.shopware.com/u/BestShopPossible)\
**Post date:** [25. Mai 2018 um 09:42 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017/6 "2018-05-25T09:42:04Z")

</div>

Dann mach das doch einfach…

---

<div class="post-metadata">

**Author:** ![BestShopPossible](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@BestShopPossible](https://forum.shopware.com/u/BestShopPossible)\
**Post date:** [25. Mai 2018 um 09:45 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017/7 "2018-05-25T09:45:22Z")

</div>

Ich habe doch nur eine Beispiel-Subscription geliefert. Aber für dich dann auch gerne noch ein Stupser:&nbsp;

```
;(function ($, window, StateManager, undefined) {
    

    $.overridePlugin('swOffcanvasMenu', {
         //DEIN CODE

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![zenit](https://avatars.discourse-cdn.com/v4/letter/z/a87d85/32.png) [@zenit](https://forum.shopware.com/u/zenit)\
**Post date:** [25. Mai 2018 um 09:56 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017/8 "2018-05-25T09:56:23Z")

</div>

@BestShopPossible‍

Entweder stehe ich gerade auf dem Schlauch oder wir reden aneinander vorbei&nbsp; ![Grin](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/70033cde8e8ff79cfa538293ae71318d6f788423.png "Grin")

Ich habe ein Plugin und **kein Theme** , welches unveränderlich ein Plugin und **kein Theme** ist.&nbsp;overridePlugin() funktioniert meines Wissens nach nur in Themes und nicht in Plugins.

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [25. Mai 2018 um 10:02 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017/9 "2018-05-25T10:02:35Z")

</div>

Hallo,

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.

Grüße

Sebastian

---

<div class="post-metadata">

**Author:** ![zenit](https://avatars.discourse-cdn.com/v4/letter/z/a87d85/32.png) [@zenit](https://forum.shopware.com/u/zenit)\
**Post date:** [25. Mai 2018 um 10:25 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017/10 "2018-05-25T10:25:34Z")

</div>

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.

&nbsp;

---

<div class="post-metadata">

**Author:** ![zenit](https://avatars.discourse-cdn.com/v4/letter/z/a87d85/32.png) [@zenit](https://forum.shopware.com/u/zenit)\
**Post date:** [25. Mai 2018 um 10:28 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017/11 "2018-05-25T10:28:29Z")

</div>

Das ist zwar nicht der Beitrag, den ich meinte, aber beschäftigt sich auch damit:&nbsp;

> **[Javascript-Dateien nicht überschreibbar?](https://forum.shopware.com/discussion/comment/163753/#Comment_163753)**
>
> Hallo, das \*\*.overridePlugin()\*\* funktioniert immer nur auf \*\*einer Ebene\*\*. Es greift immer der letzte Override. Die Funktion ist dafür gedacht, um in einem Custom-Theme kleinere Anpassungen an den Standard-jQuery-Plugins durchführen zu können. Ein...

Hier steht allerdings nur „sollte“: „Ein Shopware Plugin sollte die $.overridePlugin() Methode nicht verwenden“

---

<div class="post-metadata">

**Author:** ![BestShopPossible](https://avatars.discourse-cdn.com/v4/letter/b/6bbea6/32.png) [@BestShopPossible](https://forum.shopware.com/u/BestShopPossible)\
**Post date:** [28. Mai 2018 um 11:31 UTC](https://forum.shopware.com/t/storytelling-scrollt-beim-click-auf-ein-collapse-panel-nach-unten/53017/12 "2018-05-28T11:31:15Z")

</div>

Ja, das sollte man natürlich auch nicht. Wenn du es trotzdem machen möchtest hast du nun ja alles um das umzusetzen.  
&nbsp;
