【问题标题】:SilverStripe CMS custom cssSilverStripe CMS 自定义 css
【发布时间】:2016-07-11 11:58:52
【问题描述】:

当您通过->addExtraClass("my-class"); 为 CMSField 设置一个额外的 css 类 时,您可以编辑哪个 css 文件来设置这个新 css 类的样式?

我现在看到的唯一方法是编辑 Framework 或 CMS 文件夹中的 css 文件,我宁愿避免这样做。

是否可以在我可以放置所有 css 代码的 CMS 区域中包含指向自定义 css 样式表的链接?

【问题讨论】:

    标签: silverstripe


    【解决方案1】:

    您可以通过将以下内容添加到您的 config.yml 文件中来将您的自定义样式表加载到 CMS:

    LeftAndMain:
      extra_requirements_css:
        - mysite/css/mystyle.css
    

    【讨论】:

    • 包含 css 的位置相当意外,但它有效!
    • 从 4.3 开始,您将需要 config.yml 文件中的完整命名空间。 SilverStripe\Admin\LeftAndMain:
    【解决方案2】:

    你可以添加这样的代码...

        Requirements::customCSS('
            #Form_FilterForm .field {
                display:inline-block;
                width:31%
            }
        ');
    

    ...几乎在任何地方,它都会被包括在内。

    如果这些必须在 head 标签中,那么...

        Requirements::insertHeadTags("
            <style>
                #Form_FilterForm .field {
                    display:inline-block;
                    width:31%
                }
            </style>
        ");
    

    【讨论】:

    • 看起来很方便,但我正在寻找一种方法将 css 文件注入 CMS 区域,从而保持 CSS 和 PHP 分离
    • 好的,我已经更新了,如果你愿意,你可以把它们添加到 head 中:)
    • 谢谢,它似乎确实有效,但它不包括我正在努力完成的外部 css 文件。
    • 好的,插入头标签的作用与插入头标签相同......但由于它是一个外部文件......好吧,这是另一种方法:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    相关资源
    最近更新 更多