Moin Leute,
ich versuche verzweifelt folgendes Problem zu lösen. Ich habe in einer Einkaufswelt Topseller-Artikel angezeigt und zeige dort ebenfalls die Buttons "Vergleichen", "Auf die Merkliste" und "In den Warenkorb" an. Da der Einkaufswelt jedoch erst per Ajax nachgeladen wird, liegen auf diesen Buttons keine Events. Ein Klick auf die Buttons führt also dazu, dass ich auf eine weiße Seite weitergeleitet werden, auf der der Inhalt steht, der eigentlich per Ajax geladen und angezeigt werden soll. Also habe ich mir gedacht, ich müsste mich ja nur in die entsprechenden JS-Plugins einklinken und alles wäre schön. Leider scheitere ich kläglich. Hier mein Versuch:
<script type="text/javascript">
(function ($, window) {
$.subscribe('plugin/swProductSlider/onRegisterEvents', function () {
window.StateManager.updatePlugin('.action--note, .link--notepad', 'swAjaxWishlist');
window.StateManager.addPlugin('*[data-product-compare-add=true]', 'swProductCompareAdd');
});
$.subscribe('plugin/swProductCompareMenu/onStartCompareFinished', function () {
window.StateManagerStateManager.updatePlugin('.action--note, .link--notepad', 'swAjaxWishlist');
});
})(jQuery, window);
</script>
Dabei habe ich bereits versucht das ganze mit (function ($) {})(jQuery); (also ohne window) auszuführen - leider auch ohne Erfolg. Ich habe auch versucht mich in plugin/swProductSlider/onInit zu registrieren, jedoch auch das Hilft nicht. Mit console.log konnte ich zumindest sicherstellen, dass die Hooks auch feuern, jedoch funktionieren offensichtlich meine updatePlugin bzw. addPlugin Befehle nicht (hier habe ich ebenfalls bereits beide ausprobiert, obwohl mir recht sicher bin, dass updatePlugin der richtige Befehl sein müsste).
Eingefügt habe ich diesen Code-Schnipsel übrigens in frontend/index/index.tpl im Block {block name="frontend_index_header_javascript_jquery_lib"}
Ich hoffe mir kann hier jemand helfen. Ich komme einfach nicht weiter...