How/Where SuiteCRM 会编译主题中的scss 文件吗?

How/Where does SuiteCRM compile the scss files in a theme?

我目前正在为我需要执行的特定任务设置自定义管理页面,它需要在主题中使用一些自定义样式。我转到 themes/SuiteP/css 文件夹并找到 admin.scss。进行更改后,我假设 Suite 会动态编译资产,因为我是开发人员模式;然而,那并没有发生。

我决定在代码中搜索我能找到的任何可以处理将这些文件编译为 *.css 的地方,但没有找到这样的地方。

我的问题涉及询问编译发生的位置and/or它是如何发生的。现在看来我必须手动编译这些资产,这似乎毫无意义,因为这只是我必须手动采取的额外步骤,与 CSS 相比,使用 SCSS 渲染的用处不大。

现在,我的解决方案可能必须添加一个 CSS 文件,该文件与现有的管道无关,但如果我可以利用现有功能,那就太好了。

由于 SugarCRM 框架的遗留问题,SuiteCRM 加载 style.css 当前主题。 sass SuiteCRM 的工作正处于过渡期。目前这是一个手动过程,但我们希望将来可以实现自动化。

我们正在使用 Sass 作为一种允许开发人员自定义 SuiteP 主题的方式。我有一个 github 项目,它提供了一个 UI 来为您生成 variables.scss。我希望它会在未来的版本中被接受。

所以关于您的工作流程,您只需要关心 style.css。

如果您想回馈 SuiteCRM 项目,那么您将需要使用 themes/SuiteP/css/ 中的 sass 文件。

但是,如果这仅适用于您的 SuiteCRM 实例,那么您需要在自定义/themes/SuiteP/css/style.css 中创建一个 style.css。你如何改变这取决于你。

我建议您使用 Sass 生成 style.css。

您可以通过复制 style.scss 文件 custom/themes/SuiteP/css 然后将以下内容添加到文件

来实现
@import ../../../../themes/SuiteP/css/style.scss

注:我可能路径略有错误

或使用命令行工具包含themes/SuiteP/css/目录

详情见: SASS: Import a file from a different directory?

SuiteCRM 应该接手剩下的工作。 SuiteCRM 7.9 中有一项更改,弃用了 $sugarcrm_version,取而代之的是 $suitecrm_version。这将影响主题 themedef.php.

查看详情 https://github.com/salesagility/SuiteCRM/pull/3233/files

我希望这能回答你的问题。