Symfony2 - 从自定义表单字段类型窗口小部件中加载带有资产的JS文件

时间:2012-02-23 11:57:20

标签: symfony twig assetic

所以我需要一个自定义表单字段类型,并且在定义字段代码的块中,我需要加载一些带有资产的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">

这有什么方法吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试明确指定输出路径/文件?

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