3

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

我在这里按照阿尔伯特帖子中的说明进行操作: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

4 回答 4

4

域模型应该只包含非可视的东西,所以 Tridion 只处理非可视的文件类型。您不应该在 a 中包含 CSS 文件domainmodel,而是将它们放在fileset任何domainmodel.

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

于 2012-05-09T16:45:47.743 回答
2

这可能会帮助你

Tridion GUI Extensions CommandSet 如何映射到 js 方法?

这同样适用于 CSS 和 JS。

如果这不起作用,您是否尝试过增加 System.config 中存储在 C:\Program Files (x86)\Tridion\web\WebUI\WebRoot\Configuration 中的修改属性

于 2012-05-09T16:32:07.137 回答
2

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

通过 8 个步骤设置 Tridion 2011 GUI 扩展

于 2012-05-09T16:38:18.853 回答
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">

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

ps 我也怀疑一些空节点可以被剥离:)

于 2012-05-09T17:12:09.743 回答