Я хочу добавить файл 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, тег script успешно загружен. Тем не менее, мой файл JavaScript не будет загружен вообще. Куда мне положить файл в папку с моим плагином?
В настоящее время у меня есть эта структура
NameOfZipfile.zip
└──Frontend
├─MyPlugin
│ └─Views
│ ├─_public
│ │ └─src
│ │ └─js
│ │ └─myFile.js
│ └─frontend
│ └─index
│ └─index.tpl
└─Bootstrap.php
Я пользуюсь магазином 5.2.11. Я не хочу добавлять inline-скрипт. Что я делаю неправильно?
(Опубликовано от имени ОП).
Решение, я добавил следующее в метод установки 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);
}
Других решений пока нет …