Tridion2011图形用户界面扩展,如何包含css文件?

Tridion2011图形用户界面扩展,如何包含css文件?,tridion,Tridion,我一直在构建一个只支持JavaScript和CSS的GUI扩展 我遵循了Albert的帖子中的说明: JavaScript加载正常,但我无法包含CSS,我是否遗漏了什么 以下是我的配置文件的近似值: <?xml version="1.0" ?> <Configuration xmlns="http://www.sdltridion.com/2009/GUI/Configuration/Merge" xmlns:cfg="http://www.sdltridion

我一直在构建一个只支持JavaScript和CSS的GUI扩展

我遵循了Albert的帖子中的说明:

JavaScript加载正常,但我无法包含CSS,我是否遗漏了什么

以下是我的配置文件的近似值:

<?xml version="1.0" ?> 
<Configuration xmlns="http://www.sdltridion.com/2009/GUI/Configuration/Merge"
      xmlns:cfg="http://www.sdltridion.com/2009/GUI/Configuration"
      xmlns:ext="http://www.sdltridion.com/2009/GUI/extensions"
      xmlns:cmenu="http://www.sdltridion.com/2009/GUI/extensions/ContextMenu">
  <resources cache="true">
    <cfg:filters/>
    <cfg:groups>
      <cfg:group name="Rob.Prototype.Extensions"
       merger="Tridion.Web.UI.Core.Configuration.Resources.CommandGroupProcessor" 
       merge="always">
        <cfg:domainmodel name="Rob.Prototype.Extensions.Domain">
          <cfg:fileset>
            <cfg:file type="script">/Scripts/script1.js</cfg:file>
            <cfg:file type="script">/Scripts/script2.js</cfg:file>
            <cfg:file type="style">/CSS/styles.css</cfg:file>
          </cfg:fileset>
          <cfg:services/>
        </cfg:domainmodel>
      </cfg:group>
    </cfg:groups>
  </resources>
  <definitionfiles/>
  <extensions>
    <ext:editorextensions/>
    <ext:dataextenders/>
  </extensions>
  <commands/>
  <contextmenus/>
  <localization/>
  <settings>
    <defaultpage>/Views/Default.aspx</defaultpage>
    <navigatorurl>/Views/Default.aspx</navigatorurl>
    <editurls/>
    <listdefinitions/>
    <itemicons/>
    <theme>
      <path>/CSS/</path>
    </theme>
    <customconfiguration/>
  </settings>
</Configuration>

/Scripts/script1.js
/Scripts/script2.js
/CSS/styles.CSS
/视图/Default.aspx
/视图/Default.aspx
/CSS/
这可能会对您有所帮助

CSS应该和JS一样适用


如果这不起作用,您是否尝试过增加存储在C:\Program Files(x86)\Tridion\web\WebUI\WebRoot\Configuration

中System.config中的修改属性?我没有答案,Rob,但下面的博文可能会帮到您


域模型应该只包含非可视内容,因此Tridion只处理非可视文件类型。您不应该在
域模型
中包含CSS文件,而是将它们放在任何
域模型
之外的一个单独的
文件集


这要求您有一个使用CSS所在组的GUI元素。如果您不打算添加任何GUI元素,您可以添加一个虚拟功能区按钮以链接到CSS。

以下是我编写的扩展中的配置,该扩展将javascript“注入”到发布对话框视图中,也许值得一试,看看它是否还包含任何CSS:

<?xml version="1.0"?>
<Configuration xmlns="http://www.sdltridion.com/2009/GUI/Configuration/Merge" xmlns:cfg="http://www.sdltridion.com/2009/GUI/Configuration" xmlns:ext="http://www.sdltridion.com/2009/GUI/extensions" xmlns:cmenu="http://www.sdltridion.com/2009/GUI/extensions/ContextMenu">
  <resources cache="true">
    <cfg:extensiongroups>
      <cfg:extensiongroup name="Company.Extensions.Group">
        <cfg:extension target="Tridion.Web.UI.Editors.CME.Views.Popups.Publish">
          <cfg:insertafter>Company.Extensions.Resources</cfg:insertafter>
        </cfg:extension>
      </cfg:extensiongroup>
    </cfg:extensiongroups>
    <cfg:groups>
      <cfg:group name="Company.Extensions.Resources">
        <cfg:fileset>
          <cfg:file type="script">/js/SelectRollbackFailure.js</cfg:file>
          <cfg:file type="script">/js/NoPublishItemWarning.js</cfg:file>          
        </cfg:fileset>
      </cfg:group>
    </cfg:groups>
    </resources>
    <definitionfiles/>
  <extensions>
    <ext:dataextenders/>
    <ext:editorextensions />
  </extensions> 
    <commands />
    <contextmenus/>
  <localization></localization>
    <settings>
        <defaultpage />
        <navigatorurl />
        <editurls/>
        <listdefinitions/>
        <itemicons/>
    <theme>
      <path></path>
      <resourcegroup />
    </theme>     
    <resourceextensions>
      <resourceextension>Company.Extensions.Group</resourceextension>
    </resourceextensions>
    <customconfiguration></customconfiguration>
  </settings> 
</Configuration>

公司资源
/js/SelectRollbackFailure.js
/js/NoPublishItemWarning.js
Company.Extensions.Group
您需要更改此部分:

<cfg:extension target="Tridion.Web.UI.Editors.CME.Views.Popups.Publish">

到您希望包含项目的位置。如果不太正确,或者你需要解释,请告诉我


p、 我还怀疑一些空节点可以被剥离:)

Puf,我不是100%确定是诚实的。我遵循了博客文章的指导,因为我的扩展并没有直接扩展命令或编辑器。我正在Tridion页面上寻找一个特定元素,并在此基础上启动一些Javascript。也许我可以在其他地方扩展。我80%确信CSS文件不会作为domainmodel元素的一部分进行处理。您需要设置一个包含CSS的常规文件集,然后创建一个从某个UI扩展到该组的依赖项。我可以创建一个虚拟功能区按钮来强制导入CSS吗?嘿,Rob,我看到您接受了我的答案。这是否意味着您确实需要将CSS放在一个单独的(非domainmodel)组中?如果是这样的话,我会更新我的答案,更明确地说,因为其他人可能也会遇到这个问题。