如何在Tridion的功能区中一个接一个地水平创建自定义按钮

时间:2012-07-27 06:41:24

标签: tridion tridion-2011

如何水平放置多个自定义按钮 - 在tridion功能区中一个在另一个下方。

就像我们办理登机手续,退房手续,撤消退房按钮一样。

我试图通过将它们放在一个组中来创建多个自定义按钮,但默认情况下它们并排排列,但不是一个在另一个之下。

1 个答案:

答案 0 :(得分:11)

one of my articles on Tridion Developer中,我解释了如何使用功能区项目组,这使得小按钮彼此适合,这样您就可以在2个大按钮(彼此相邻)的空间中放置3个按钮)。

RibbonItemGroup不是您可以在UI扩展的配置文件中定义的,它是您需要指定的Tridion用户控件(.ascx)。

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ViewItemsGroup.ascx.cs" Inherits="SDL.Examples.UI.Controls.ViewItemsGroup" %>
<%@ Import Namespace="Tridion.Web.UI" %>
<c:RibbonItemsGroup runat="server" ID="RibbonItemsGroup">
  <c:RibbonButton runat="server" CommandName="ViewStaging" Title="View in Staging" Label="View In Staging" IsSmallButton="true" ID="ViewStagingBtn" />
  <c:RibbonButton runat="server" CommandName="ViewLive" Title="View in Live" Label="View in Live" IsSmallButton="true" ID="ViewLiveBtn" />
</c:RibbonItemsGroup>

代码隐藏文件扩展了Tridion.Web.UI.Controls.TridionUserControl,不需要任何特定代码。要将其包含在功能区工具栏中,请使用配置文件中的以下XML将功能区项目组指定为扩展名:

<ext:extension assignid="ViewItemsGroup" groupid="EditGroup" name="View" pageid="HomePage" insertbefore="PublishGroup">
  <ext:group>~/Controls/ViewItemsGroup.ascx</ext:group>
  <ext:dependencies>
    <cfg:dependency>My.Theme</cfg:dependency>
    <cfg:dependency>My.Commands</cfg:dependency>
  </ext:dependencies>
  <ext:apply>
    <ext:view name="DashboardView">
      <ext:control id="DashboardToolbar" />
    </ext:view>
    <ext:view name="PageView">
      <ext:control id="ItemToolbar" />
    </ext:view>
  </ext:apply>
</ext:extension>