如何在Tridion 2011 GUI扩展上下文菜单项中添加图标?
是在主题或GUI扩展配置中吗?
尺寸是16px吗?
答案 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>