2013-04-15 80 views
2

我試圖將Foundation框架包含在Symfony2中。在運行時將Zepto或jQuery包含在Symfony2中

我複製了app/Resources文件夾中的所有css/js資源,並且能夠引用它們。然而,有一部分沒有得到正確包括:

<script> 
    document.write('<script src=' + 
    ('__proto__' in {} ? '../app/Resources/public/js/vendor/zepto' : '../app/Resources/public/js/vendor/jquery') + 
    '.js><\/script>') 
    </script> 

這是我無法得到jQuery或Zepto加載。我怎樣才能轉換上面的語句,以便它使用Symfony 2資產語法。

喜歡的東西:

<script> 
if ('__proto__' in {}) 
{ 
    {% javascripts '../app/Resources/public/js/vendor/zepto.js' %} 
    <script type="text/javascript" src="{{ asset_url }}"></script>  
{% endjavascripts %} 
} 

Else 
{ 
    {% javascripts '../app/Resources/public/js/vendor/jquery.js' %} 
    <script type="text/javascript" src="{{ asset_url }}"></script>  
{% endjavascripts %} 
} 

我知道我可以很容易地在基礎資產複製到Web文件夾,並用它做,但我希望我保持標準,我能夠保持藏庫。

非常感謝

回答

2

這可能做的伎倆。

<script> 
var zeptoSrc = "{% javascripts '../app/Resources/public/js/vendor/zepto.js' %}{{ asset_url|e('js') }}{% endjavascripts %}"; 
var jquerySrc = "{% javascripts '../app/Resources/public/js/vendor/jquery.js' %}{{ asset_url|e('js') }}{% endjavascripts %}"; 

document.write('<script src="' + ('__proto__' in {} ? zeptoSrc : jquerySrc) + '"><\/script>'); 
</script>