2012-02-23 40 views
2

所以我需要一個自定義表單字段類型,並在塊中定義我需要用資產加載一些JS的字段代碼。Symfony2 - 從自定義表單字段類型小工具中加載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"> 

圍繞這個有什麼辦法嗎?

回答

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 %} 
+0

我們將遵循不同的路線,並有一個照顧JS加載的服務。還沒有最終確定它將如何工作。 :) – mumia 2012-05-03 16:00:23

+0

你的意思是,與異步js加載require-like lib?如果你設法做到這一點,我會很感興趣;) – guillaumepotier 2012-05-04 07:16:42

相關問題