产品模式下的 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,但在开发模式下一切正常的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Oro CRM 中仅向一个布局更新操作添加条件?

我可以使用 DRF 重新创建 ORO CRM API 来为我的项目获取自定义功能吗

OroCommerce:具有扩展 oro 实体的表单

在 Oro 平台上使用 Ajax 加载模板时如何触发页面组件事件?

如何检测到所有页面组件都已加载到 Oro 应用程序中?

一套crm系统的大概费用是多少?