2016-11-29 3 views
2

プラグインにJavaScriptファイルを追加します。私はこのtutorialをフォローしていて、インストール(迷惑行為)でその日のスローガンを正常に取得することができました。Shopware 5.2.11プラグインにJavaScriptが含まれています

さらに、JavaScriptファイルを読み込みたいとします。私はindex.tplの変更と、次の行を追加しました:正常にロードされ、生成されたHTMLスクリプトタグのソースコードを見てみると

{* Include own Javascript Code *} 
    {block name="frontend_index_header_javascript_jquery_lib"} 
     {debug} 
     {$smarty.block.parent} 
     {if $myVariable}<script type="text/javascript" src="{link file='frontend/_public/src/js/myFile.js'}"></script>{/if} 
    {/block} 

を。しかし、私のJavaScriptファイルはまったく読み込まれません。どこの場所にファイルを置く必要がありますか?

は現在、私は私がshopware 5.2.11を使用しています

NameOfZipfile.zip 
└──Frontend 
    ├─MyPlugin 
    │ └─Views 
    │ ├─_public 
    │ │ └─src 
    │ │ └─js 
    │ │  └─myFile.js 
    │ └─frontend 
    │  └─index 
    │  └─index.tpl 
    └─Bootstrap.php 

このような構造を持っています。私はインラインスクリプトを追加したくありません。私は間違って何をしていますか?

+0

やあみんなを。私は自分でproblebを解決することができました。私は解決されたタイトルをマークします! 解決策:上の質問の編集を参照 –

+1

質問に回答を入れないでください。問題のタイトルに「解決済み」を入れないでください。実際の答えを書いてそれを受け入れます。 – Quentin

+0

こんにちは。ご協力いただきありがとうございます。私は忙しかったが、今私は戻っている。私はこれを将来行うでしょう。私は申し訳ありません:( –

答えて

2

(OPの代わりに掲示)

ソリューション、私は方法インストールbootstrap.phpのに次の追加:

$this->subscribeEvent('Theme_Compiler_Collect_Plugin_Javascript', 'addJsFiles'); 

そして、この機能:

public function addJsFiles(Enlight_Event_EventArgs $args){ 
    $jsFiles = array(__DIR__ . '/Views/_public/src/js/myFile.js'); 

    return new Doctrine\Common\Collections\ArrayCollection($jsFiles); 
} 
+0

あなたがGruntを使用する場合、あなたのjsファイルを/ web/cache/config_ '+ shopId +' .json ' – b3wii

関連する問題