3

プラグインに JavaScript ファイルを追加したいと考えています。私はこのチュートリアルに従っていて、私のインストール (vagrant) で Slogan of the Day を正常に取得することができました。

さらに、JavaScript ファイルをロードしたいと考えています。index.tpl を変更し、次の行を追加しました。

   {* 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}

生成された html のソース コードを見ると、script タグが正常に読み込まれています。しかし、私の JavaScript ファイルはまったくロードされません。プラグイン フォルダのどこにファイルを配置する必要がありますか?

現在、私はこの構造を持っています

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

ショップウェア 5.2.11 を使用しています。インラインスクリプトを追加したくありません。私は何を間違っていますか?

4

2 に答える 2

3

(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);
}
于 2016-11-30T12:35:25.320 に答える