2013-11-21 1 views
2

Я создаю пакет, для которого требуется файл сторонней стороны js. Согласно документации:Assetic Добавить файл, расположенный в app/Resources/js

http://symfony.com/doc/current/cookbook/bundles/best_practices.html#vendors

Связки не должна содержать 3-й код партии. Поскольку пакет используется только в одной части сайта, я не хочу включать его в файл базового шаблона - я хочу называть его из файла twig, но у меня там проблема.

Все демки для включения Js, кажется, ссылки на имя пакета, но я поместил мои JS в приложении/Ресурсы/государственные/JS

Если я использую:

{% javascripts 
    "public/js/jquery.fileupload.js" %} 
    <script src="{{ asset_url }}" type="text/javascript"></script> 
{% endjavascripts %} 

Это выглядит веб-каталог. Есть ли способ использовать приложение dir, где находятся все мои другие js-файлы? Я стараюсь следовать лучшим практикам, где это возможно, но я бы очень хотел, чтобы мои js были в одном месте для простоты, спасибо за чтение!

+0

см., Если это поможет http://stackoverflow.com/questions/11192568/symfony2-how-to-share-js-libs-and-css-between-bundles – saamorim

+0

Нет, я получаю ответ 500. Я думаю, что это искажает путь что-то вроде ../app/..web/..app, который не находит файл – jriggs

ответ

0

Вы можете сделать это путем ссылки на Public в app/Resources. Это бесполезно, но это должно сработать.

На * Никс, вы можете запустить:

cd ROOT_TO_YOUR_PROJECT/web/bundles 
ln -s ../../app/Resources/Public common 

В принципе, вы создаете common симлинк, что указывает на вас Public каталог.

Тогда:

{% javascripts 
    "bundles/common/js/jquery.fileupload.js" %} 
    <script src="{{ asset_url }}" type="text/javascript"></script> 
{% endjavascripts %} 
+1

Спасибо за ответ. Кажется любопытным как обходной путь. Возможно, тот факт, что нет простого способа сделать это, означает, что я должен просто создать макет или набор шаблонов и разместить там все свои активы. Затем я могу получить доступ к этим файлам как «Symfony». Еще раз спасибо! – jriggs

Смежные вопросы