Ik ben bezig met het maken van een javascript slideshow voor mijn storeview. Maar om een nog onbekende reden werkt de javascript code niet binnen Magento
Zover ben ik tot nu toe gekomen:
http://shop.stonespoint.org/index.php/slide.html
Ik heb een static block aangemaakt met daarin de HTML code en vervolgens heb ik de JS en de CSS aan de page.xml file toegevoegd. Zoals je hier ziet:
De CSS file werkt, alleen krijg ik een error met de javascipt files:
Deze actie wordt niet ondersteund door dit object
Ik heb ook een poging gedaan om de javascipt codes direct aan head.phtml toe te voegen.... alleen dan heb ik ook weer het zelfde probleem. Het lijkt erop dat de javascipt files wel actief zijn maar dat ze niet werken binnen Magento.
Heeft iemand een idee waar dit aan zou kunnen liggen, of waar ik het nog moet zoeken…
Wellicht even iets om te checken: slider/more.js “more.js” moet dan in de volgende folder staan: magento/js/slider/more.js
Met Firebug krijg ik drie foutmeldingen, die mij dan weer niet zo veel zeggen:
1.
Hash.each is not a function
[Break on this error] }}Element.dispose(N);}}if(!M){return ;}H...getElementsByTagName("object")).each(G);
core.js (regel 129)
2.
Class is not a constructor
index.php?c=auto&f;=,prototype/prototype.js,prototype/validation.js,scriptaculous/builder.js,scriptaculous/effects.js,scriptaculous/dragdrop.js,scriptaculous/controls.js,scriptaculous/slider.js,varien/js.js,varien/form.js,varien/menu.js,mage/translate.js,mage/cookies.js,slider/barackslideshow.js,slider/demo.js,slider/morphlist.js,slider/core.js,slider/more.js()()index.ph...r/more.js (regel 9273)
[Break on this error] progress: function(){
index.ph...r/more.js (regel 9273)
3.
$$("input[name=transition]").addEvent is not a function
(?)()()demo.js (regel 3)
run()()core.js (regel 56)
E()(undefined)core.js (regel 57)
cloneEvents()(function())core.js (regel 181)
(?)()(function())index.ph...r/more.js (regel 602)
each()(function(), Window slide.html)index.ph...r/more.js (regel 601)
cloneEvents()("domready", undefined, undefined)core.js (regel 182)
B()()core.js (regel 256)
removeEvent()()core.js (regel 175)
[Break on this error] $$(’input[name=transition]’).addEvent(...function(){ transition = this.value; });
Succes ermee, als je een oplossing hebt lees ik het graag.
Goede kans dat dit ligt aan incompatibiliteit met bepaalde Magento JavaScripts. Magento gebruikt prototype als javascript framework wat nog wel eens problemen wil geven in combinatie met andere javascripts. Als je er niet uitkomt zou ik persoonlijk gewoon een ander slideshow script proberen. Er zijn er zat en zo’n bug oplossen gaat heel veel tijd en moeite in zitten.