Tridion 2011 GUI扩展,如何包含css文件?

时间:2012-05-09 16:21:36

标签: tridion

我一直在构建一个仅限JavaScript和CSS的GUI扩展。

我按照Albert的帖子说明: http://albertromkes.com/2012/01/30/tridion-gui-extensions-how-to-load-a-javascript-without-showing-a-gui-element/

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>

4 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

这可能对您有所帮助

How does the Tridion GUI Extensions CommandSet map to js methods?

同样适用于CSS和JS。

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

中的System.config中的修改属性

答案 2 :(得分:2)

我没有Rob的答案,但@poeticGeek的以下博文可能会帮助您。

Setting up a Tridion 2011 GUI extension in 8 steps

答案 3 :(得分:2)

这是我写的一个扩展中的配置'将'注入'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>

您需要更改此部分:

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

您想要包含的项目。如果不太正确,或者您需要解释,请告诉我。

p.s我也怀疑一些空节点可以被删除:)