产品模式下的 ORO CRM 尝试加载错误的 URL,但在开发模式下一切正常
Posted
技术标签:
【中文标题】产品模式下的 ORO CRM 尝试加载错误的 URL,但在开发模式下一切正常【英文标题】:ORO CRM in prod mode is trying to load the wrong URLs, but in dev mode it's all fine 【发布时间】:2018-08-18 02:16:32 【问题描述】:ORO CRM 有一段代码返回 requires.js 配置
requirejs.config.js.twig:
paths:
% if app.debug %
'oro/routes': ' path('fos_js_routing_js', "callback":
"fos.Router.setData") '
% else %
'oro/routes': asset('js/routes.js',
'routing')|json_encode|raw
% endif %
在开发模式下(调试),这将呈现为
路径: 'oro/路线': '\x2Fapp_dev.php\x2Fjs\x2Frouting\x3Fcallback\x3Dfos.Router.setData'
... 这行得通。然而,在调试模式下,这将呈现为:
paths:
'oro/routes': "\/js\/routes.js"
其中,在 require.js 添加另一个“.js”扩展名后,浏览器会尝试检索
/js/routes.js.js
(为什么是反斜杠?)
这不起作用……那为什么会这样呢?这是某个地方的配置问题吗?还是我太笨了?
问候
.rm
【问题讨论】:
嗯,反斜杠是由于json_encode
@shukshin.ivan - 真的吗?但似乎有人认为需要对斜杠“/”进行编码......事实并非如此......嗯。无论如何。那不是真正的问题。这是我在旁边注意到的一件奇怪的事情。
【参考方案1】:
parameters.yml
中的下两个参数似乎为空值:
assets_version: null
assets_version_strategy: null
尝试为它们设置值。例如:
assets_version: a9f52621
assets_version_strategy: time_hash
别忘了清理缓存。
【讨论】:
谢谢。我会调查的。稍微切线:您甚至如何找到这种问题。这似乎是一个非常非常晦涩的问题。 只需在您的应用程序中删除parameters.yml
。运行php composer.phar install
。设置所需参数(例如DB连接设置),其他参数默认使用。然后安装应用程序。之后一切正常。 assets_version
将自动更新,安装应用程序后将不再是 null
。以上是关于产品模式下的 ORO CRM 尝试加载错误的 URL,但在开发模式下一切正常的主要内容,如果未能解决你的问题,请参考以下文章
我可以使用 DRF 重新创建 ORO CRM API 来为我的项目获取自定义功能吗