6

Tridion 2011 GUI 拡張機能のコンテキスト メニュー項目にアイコンを追加するにはどうすればよいですか?

それはテーマまたはGUI拡張設定にありますか?

サイズは16pxですか?

4

3 に答える 3

11

はい、アイコンは16x16です。

私は常に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にどのようにマップされるかを確認してください。

これがお役に立てば幸いです。

于 2012-02-27T15:01:58.717 に答える
2

テーマ CSS を使用します。開発イメージの拡張機能の CSS には次のものがあります。

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

Tweetこれは、拡張設定で定義されている、私のコンテキスト メニュー アイテム ID です。

于 2012-02-27T14:49:19.480 に答える
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>
于 2012-03-16T11:35:10.903 に答える