在Tridion GUI扩展中,如何在上下文菜单中添加图标?

时间:2012-02-27 14:44:34

标签: tridion

如何在Tridion 2011 GUI扩展上下文菜单项中添加图标?

是在主题或GUI扩展配置中吗?

尺寸是16px吗?

3 个答案:

答案 0 :(得分:10)

是的图标是16 x 16。

我总是使用CSS完成它,我希望这个解释有意义:

1)在editor.config中,指定css文件和所需的其他资源

<cfg:groups>
  <cfg:group name="PowerTools.Resources.Base" merge="always">
    <cfg:fileset>
        <cfg:file type="style">/PowerTools/Client/Shared/Theme/styles.css</cfg:file>

2)配置上下文菜单时,ContextMenuItem中有ID属性(如下所示为PT_PagePublisher)

<ext:contextmenus>
  <ext:add>
    <ext:extension name="PowerToolsContextMenu" assignid="PowerToolsContextMenu" insertbefore="cm_refresh">
      <ext:menudeclaration externaldefinition="">
        <cmenu:ContextMenuItem id="PowerToolsMenuGroup" name="Power Tools">
          <cmenu:ContextMenuItem id="PT_PagePublisher" name="Page Publisher" command="PT_PagePublisher"/>

3)在你的CSS文件中,你会有类似的东西:

.PT_PagePublisher .image {background-image:url({ThemePath}/Icons/pagepublisher_16.png);}

查看CSS类的名称(PT_PagePublisher)如何映射到ContextMenuItem节点中的ID。

我希望这有帮助!

答案 1 :(得分:2)

您使用主题CSS。我在CSS中有以下内容用于我的开发图像中的扩展名:

.tridion .contextmenu #TweetThis .image
{
    background-image:url({ThemePath}/images/icons/twitter-icon16x16.png);
}

Tweet这是我的上下文菜单项ID,在扩展配置中定义。

答案 2 :(得分:1)

如果您想重用当前CME(Content Manager Explorer)的图像,可以使用以下内容:

#PT_PagePublisher.item .image
{
    background-image: url({ThemePath['CME']}/Sprites/cme_5_v6.1.0.55920.0_.png);
    background-position: 0px -480px;
    height: 16px;
    width: 16px;
}

此示例显示了2011 SP1安装中的发布图标。因此,您可以使用 {ThemePath ['EditorName']} 来访问实际配置的任何编辑器的主题路径。

同样在某些情况下,我发现我的图片无法加载到功能区工具栏或上下文菜单上,这似乎是IIS中编辑器虚拟目录的授权问题。

我通过将一个Web.config文件添加到我的主题(根)目录来解决它,该目录将允许访问主题文件(css和图像)的所有用户。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <!-- allow all users access to theme files -->
        <authorization>
            <allow users="?" />
        </authorization>
    </system.web>
</configuration>