2016-11-29 27 views
2

我想在我的插件中添加一个JavaScript文件。我正在关注这个tutorial,并且能够在我的装置(流浪汉)上成功获得一天的口号。Shopware 5.2.11在我的插件中包含JavaScript

此外我想加载一个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的源代码脚本标记已成功加载。但是,我的JavaScript文件根本不会被加载。我在哪里必须将文件放入我的插件文件夹中?

目前我有这种结构

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

我使用shopware 5.2.11。我不想添加内联脚本。我究竟做错了什么?

+0

嘿,伙计们。我设法自己解决了这个问题。我将标题标题解决! 解决方案:请参阅上述问题中的编辑 –

+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

相关问题