【问题标题】:How/Where does SuiteCRM compile the scss files in a theme?SuiteCRM 如何/在哪里编译主题中的 scss 文件?
【发布时间】:2017-08-08 02:46:28
【问题描述】:

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

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

我的问题涉及询问编译发生在哪里和/或它是如何发生的。现在看起来好像我必须手动编译这些资产,这似乎毫无意义,因为这只是我必须手动执行的额外步骤,与 CSS 相比,使用 SCSS 进行渲染的用处不大。

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

【问题讨论】:

    标签: php sass sugarcrm suitecrm suite


    【解决方案1】:

    由于 SugarCRM 框架存在遗留问题,SuiteCRM 会为当前主题加载 style.css。 SuiteCRM 的 sass 工作处于过渡期。它目前是一个手动过程,但我们希望将来能够使其自动化。

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

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

    如果您想回馈 SuiteCRM 项目,则需要使用主题/SuiteP/css/ 中的 sass 文件。

    但是,如果这仅适用于您的 SuiteCRM 实例,那么您需要在 custom/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

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

    【讨论】:

    • 谢谢。这就是我的想法,但我想看看我是否遗漏了什么。
    猜你喜欢
    • 2019-06-26
    • 1970-01-01
    • 2021-12-21
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    • 2011-10-13
    相关资源
    最近更新 更多