gpt4 book ai didi

tridion - 如何为 View 子集配置 SDL Tridion CME 扩展?

转载 作者:行者123 更新时间:2023-12-04 07:05:32 25 4
gpt4 key购买 nike

我为 SDL Tridion 创建了一个新编辑器,它为功能区栏添加了一些新功能。这是通过将以下代码段添加到 editor.config 来启用的

    <!-- ItemCommenting PowerTool -->
<ext:extension assignid="ItemCommenting" name="Save and&lt;br/&gt;Comment" pageid="HomePage" groupid="ManageGroup" insertbefore="SaveCloseBtn">
<ext:command>PT_ItemCommenting</ext:command>
<ext:title>Save and Comment</ext:title>
<ext:issmallbutton>false</ext:issmallbutton>
<ext:dependencies>
<cfg:dependency>PowerTools.Commands</cfg:dependency>
</ext:dependencies>
<ext:apply>
<ext:view name="*" />
</ext:apply>
</ext:extension>

这通过在节点中使用通配符值应用于所有 View 。这导致我的新按钮被添加到每个 View 的功能区中,包括主仪表板。有没有办法将此添加到除仪表板之外的所有 View 中?还是我必须创建这样的东西?

    <ext:apply>
<ext:view name="PageView" />
<ext:view name="ComponentView" />
<ext:view name="SchemaView" />
</ext:apply>

如果这是实现我需要的结果的唯一方法,那么某处是否有所有 View 名称的列表?

最佳答案

Jaime 提供的解决方法将不起作用,因为:

  • 如果 isAvailable,功能区工具栏将仅隐藏“创建”选项卡上的按钮
    相应命令的方法将返回 false。
  • RibbonToolbar 中的大多数按钮都实现了特定的 Tridion.Controls.RibbonButton界面。这意味着,当你尝试
    获取 Tridion.Controls.Button控制相同的元素 - 你会
    基于相同的 html 元素获得完全不同的控制。所以
    RibbonToolbar 不会知道它,它会工作不正常。
  • 如果要在 RibbonToolbar 中隐藏按钮,则应使用 RibbonToolbar 和 RibbonPage 上的公共(public)方法。因此它将由 RibbonToolbar 正确处理。示例:

  • var toolbar = $controls.getControl($("#ItemToolbar"), "Tridion.Controls.RibbonToolbar");
    var page = toolbar.getPageById("HomePage");
    page.hideItem(buttonId);
    page.showItem(buttonId);

    至于最初的问题,这是非常简单和最简单的解决方案:

    <ext:add>
    <ext:extension assignid="ItemCommenting" name="Save and&lt;br/&gt;Comment" pageid="HomePage" groupid="ManageGroup" insertbefore="SaveCloseBtn">
    <ext:command>PT_ItemCommenting</ext:command>
    <ext:title>Save and Comment</ext:title>
    <ext:issmallbutton>false</ext:issmallbutton>
    <ext:dependencies>
    <cfg:dependency>PowerTools.Commands</cfg:dependency>
    </ext:dependencies>
    <ext:apply>
    <ext:view name="*" />
    </ext:apply>
    </ext:extension>
    </ext:add>
    <ext:remove>
    <ext:extension id="ItemCommenting">
    <ext:apply>
    <ext:view name="DashboardView" />
    </ext:apply>
    </ext:extension>
    </ext:remove>

    关于tridion - 如何为 View 子集配置 SDL Tridion CME 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12964263/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com