Hallo zusammen, wenn ich wie in den Docs versuche in mein Plugin ein Javascript einhubinden, so wird es nicht geladen: [quote] /** * Registers all necessary events and hooks. */ private function subscribeEvents() { // Subscribe the needed event for js merge and compression $this->subscribeEvent( ‘Theme_Compiler_Collect_Plugin_Javascript’, ‘addJsFiles’ ); } /** * Provide the file collection for js files * * @param Enlight_Event_EventArgs $args * @return \Doctrine\Common\Collections\ArrayCollection */ public function addJsFiles(Enlight_Event_EventArgs $args) { $jsFiles = array(__DIR__ . ‘/Views/responsive/frontend/_public/src/js/script.js’); return new Doctrine\Common\Collections\ArrayCollection($jsFiles); } [/quote] Mache ich ein var_dump zum Test, so bekomme ich auch keine Ausgabe. Im Gegenzug zur Less Anbindung, da klappt es und ich bekomme mit var_dump auch eine Ausgabe. Sicher, dass der Code so stimmt? Danke
klappt das bei euch anderen?
ich muss hier noch mal nachhaken. Ich bekomme einfach keine Javascript Datei eingehängt. Ich mache es so wie im Beispiel. Aber nichts passiert. Ein var_dump oder die() in der ausführenden Methode sollte sich doch auf jeden Fall bemerkbar machen, oder?
Folgender Code klappt bei mir einwandfrei: <?php use Doctrine\Common\Collections\ArrayCollection;
class Shopware_Plugins_Frontend_Thomas_Bootstrap extends Shopware_Components_Plugin_Bootstrap
{
public function install()
{
$this->subscribeEvent( 'Theme\_Compiler\_Collect\_Plugin\_Javascript', 'addJavascriptFiles' ); return true; } /\*\* \* Provides an ArrayCollection for js compressing \* @param Enlight\_Event\_EventArgs $args \* \* @return ArrayCollection \*/ public function addJavascriptFiles(\Enlight\_Event\_EventArgs $args) { $js = \_\_DIR\_\_ . '/Views/frontend/\_public/src/js/test.js'; return new ArrayCollection(array($js)); } }
okay, mit die() sprenge ich die Anzeige. Also wird die Funktion ansich wohl aufgerufen. Aber meine Javascript Datei befindet sich einfach nicht in der modernizr Datei. Wie kann ich weiter debuggen?
[quote=“ottscho”]Wie kann ich weiter debuggen?[/quote] Die Javascript Datei wird doch im web/cache/$timestamp_$var1_$var2.js gespeichert? Teste doch in deiner js Datei mal mit einem alert(‘test’);
danke, es geht nun. Manchmal sieht man den Wald vor lauter Bäumen nicht. Buchstabendreher