Symfony2 - загрузка файлов JS с активами из виджета пользовательского типа поля формы

Поэтому мне нужен настраиваемый тип поля формы, а в блоке, который определяет код поля, мне нужно загрузить некоторый JS с активным.

{% block my_form_field_type_widget %}
    {% spaceless %}
        <input type="hidden" name="{{ full_name }}" id="{{ id }}" autocomplete='off'/>
        {% javascripts
            '@MyModuleBundle/Resources/public/js/fileToLoad.js'
            filter="?yui_js"
        %}
            <script src="{{ asset_url }}"></script>
        {% endjavascripts %}

        <script type="text/javascript">
           useFunctionInFileToLoadJS();
        </script>
    {% endspaceless %}
{% endblock %}

Проблема, с которой я столкнулся, заключается в том, что путь к ресурсу, созданному Assetic, неверен и приводит к ошибке 404:

<script src="/_controller/js/6f0730f.js">

это должно быть что-то вроде:

<script src="/app_dev.php/js/6f0730f.js">

Есть ли способ обойти это?


person mumia    schedule 23.02.2012    source источник


Ответы (1)


Вы пытались явно указать выходной путь/файл?

{% block javascripts %}
    {% javascripts
        '@MyModuleBundle/Resources/public/js/fileToLoad.js'
        filter="?yui_js"
        output='build/fileToLoad.js'
    %}
    <script src="{{ asset_url | replace({'/app_dev.php': ''}) }}"></script>
{% endjavascripts %}
person guillaumepotier    schedule 19.04.2012
comment
Мы пойдем другим путем и создадим сервис, который позаботится о загрузке JS. Пока не определился, как это будет работать. :) - person mumia; 03.05.2012
comment
Вы имеете в виду, с требуемой библиотекой для асинхронной загрузки js? Мне было бы интересно, если вам удастся это сделать + Assetic ;) - person guillaumepotier; 04.05.2012