2016-12-29 62 views
-2

我正在开发一个symfony2.6项目。本网站的目的是作为插件加载到其他网站。symfony的资产网址如何工作?

{% javascripts 
'@OfficeBrainImagePersonalizeBundle/Resources/public/js/jquery-ui.min.js' 
'@OfficeBrainImagePersonalizeBundle/Resources/public/js/intro.js' 
'@OfficeBrainImagePersonalizeBundle/Resources/public/js/enscroll.js' 
'@OfficeBrainImagePersonalizeBundle/Resources/public/js/select2.min.js' 
'@OfficeBrainImagePersonalizeBundle/Resources/public/js/pageguide.min.js' 

filter='uglifyjs2' %} 
    <script src="{{ asset_url }}" type="text/javascript"></script> 
{% endjavascripts %} 

我已经使用了资产捆绑负载js和css。该网站在弹出窗口中打开。所以这是问题发生的地方。 js和css采用该第三方网站的基本网址。所以我不知道这个基础url部分是如何工作的。

+0

标题中的问题,似乎并不符合您的文章的身体。 – Aaron

回答

2

asset_url显示的网址类似src="/js/path/to/lib.js",您似乎需要一个绝对路径。

您可以使用

{{ app.request.getSchemeAndHttpHost() }} 

{{ app.request.getBaseURL() }} 

就像那个

{% javascripts 
'@OfficeBrainImagePersonalizeBundle/Resources/public/js/jquery-ui.min.js' 
'@OfficeBrainImagePersonalizeBundle/Resources/public/js/intro.js' 
'@OfficeBrainImagePersonalizeBundle/Resources/public/js/enscroll.js' 
'@OfficeBrainImagePersonalizeBundle/Resources/public/js/select2.min.js' 
'@OfficeBrainImagePersonalizeBundle/Resources/public/js/pageguide.min.js' 

filter='uglifyjs2' %} 
    <script src="{{ app.request.getSchemeAndHttpHost() }}{{ asset_url }}" type="text/javascript"></script> 
{% endjavascripts %} 
+0

这是可行的,但问题是它正在使用我的服务的现场网站上工作。当涉及到本地时,它不起作用。 – Rahul

+0

我提供了一个可以在弹出窗口中打开的工具。它就像一个图像编辑器。 – Rahul

+0

嘿@goto对此有何想法?您的解决方案有效,但我想知道为什么它在现场网站上工作。 – Rahul