1

所以,我正在为编辑器模式下的用户界面制作这个自定义模块。由于这方面的文档似乎很少;我有一个关于css的问题。

如何为模块加载自定义 CSS?现在我正在加载它并通过 JavaScript 将 css 文件添加<head>postCreate. 这是一个好方法吗?还是应该保持内联?

4

2 回答 2

4

我建议将您的 EPiServer 扩展实现为 Shell 模块,甚至更好地作为附加组件(这也是 Shell 模块,但可以在 EPiServer 附加组件系统中轻松分发/安装/升级/管理。)。在这种情况下,这非常容易。您可以在 module.config 文件中定义您的 CSS 资源并为您的客户端模块需要它们:

<?xml version="1.0" encoding="utf-8" ?>
<module >

  <!--...Omitted module.config configuration...-->

  <clientResources>
    <add name="myStyles" path="ClientResources/Styles.css" resourceType="Style"/>
  </clientResources>

  <clientModule>
    <requiredResources>
      <add name="myStyles" />
    </requiredResources>
  </clientModule>

</module>

在这里,您定义您的模块包含 Styles.css 文件中的样式,该文件位于模块/插件目录内的 ClientResources 子文件夹中。然后您按名称要求该资源,因此系统将自动为您的客户端模块加载该文件。那是最简单的方法。请下载 EPiServer 7 CMS 的示例插件,它包含源代码和更多示例。

于 2013-05-31T12:03:19.977 回答
2

另一种方法是在您的小部件中简单地要求样式表:

define([
'dojo/_base/declare',
'xstyle/css!./relative/to/widget/folder/mystyles.css'], function(declare) {
   // ...
});
于 2015-02-12T10:36:36.653 回答