Как добавить значок в контекстное меню в расширении графического интерфейса Tridion?

Как добавить значок в мой элемент контекстного меню Расширения графического интерфейса пользователя Tridion 2011?

Это в теме или в конфигурации расширения GUI?

Это размер 16px?

3 ответа

Решение

Да, значок 16 х 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) Когда вы настраиваете контекстное меню, у вас есть атрибут ID в ContextMenuItem (показанный ниже как 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.

Надеюсь, это поможет!

Вы используете тему CSS. У меня есть следующее в CSS для расширения в моем изображении разработчика:

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

Tweet Это мой идентификатор пункта контекстного меню, как определено в конфигурации расширений.

Если вы хотите повторно использовать изображение текущего 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;
}

В этом примере показан значок публикации после установки пакета обновления 1 (SP1) 2011 года. Таким образом, вы можете использовать {ThemePath['EditorName']} для доступа к пути темы любого редактора, который фактически настроен.

Также в некоторых случаях я обнаружил, что мои изображения не загружаются ни на панели инструментов ленты, ни в контекстном меню, что, по-видимому, является проблемой авторизации в виртуальном каталоге редакторов в IIS.

Я решил это, добавив файл Web.config в мою корневую директорию Theme, которая позволит всем пользователям получать доступ к файлам тем (css и images).

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <!-- allow all users access to theme files -->
        <authorization>
            <allow users="?" />
        </authorization>
    </system.web>
</configuration>
Другие вопросы по тегам