Tridionリボンツールバーをカスタマイズしてボタンを追加しています。.NET ASPXページ内のボタンやドロップダウンなどのTridionコントロールにアクセスするにはどうすればよいですか?
2 に答える
あなたの質問は、あなたが何を達成しようとしているのかについて少し曖昧です。リボンツールバーにボタンを追加するために、ASPXページは必要ありません。
ただし、リボンボタンがTridionコントロールを使用するポップアップウィンドウを開いている場合は、Tridion.Web.UI名前空間のインポートから開始する必要があります。
ASPXページに次を追加できます。
<%@ Import Namespace="Tridion.Web.UI" %>
<%@ Register TagPrefix="ui" Namespace="Tridion.Web.UI.Editors.CME.Controls" Assembly="Tridion.Web.UI.Editors.CME" %>
ASPXページの先頭で、tridionmanagerコントロールについて言及する必要があります。
<cc:tridionmanager runat="server" editor="ExampleEditor" isstandaloneview="true">
<dependencies runat="server">
<dependency runat="server">Tridion.Web.UI.Editors.CME</dependency>
<dependency runat="server">Tridion.Web.UI.Editors.CME.Controls</dependency>
</dependencies>
</cc:tridionmanager>
そして、あなたはあなたのページのコントロールを使うことができます。名前空間参照を忘れないようにしてください
xmlns:c="http://www.sdltridion.com/web/ui/controls"
次に、背後にあるコードをTridionビュー、たとえばTridion.Web.UI.Editors.CME.Views.Popups.PopupViewから拡張する必要があります。
using Tridion.Web.UI.Core;
using Tridion.Web.UI.Controls;
using Tridion.Web.UI.Core.Controls;
using Tridion.Web.UI.Editors.CME.Views.Popups;
namespace Extensions.Example.Views
{
[ControlResources("Extensions.Example.Views.ExampleDialog")]
[ControlResourcesDependency(typeof(Stack))]
public class ExampleDialog : PopupView
{
}
}
Tridionコントロールの再利用に関するサポートレベルについては、すべて可能ですが、確かではありません。私の知る限り、これらはパブリックAPIの一部ではなく、どこにも文書化されていません(.. \ Tridion \ web \ WebUI \ Editors \ CME \ ViewsディレクトリのASPXページを見ることができますが、とにかくほとんど存在しないものの背後にあるコードの例はありません)。したがって、ここで.NETを使用する場合は、既存のコントロールとASPXページを再利用しないことを実際にお勧めします。その場合は、独自のコントロールを使用してください。これらのコントロールがTridionCMSにアクセスする必要がある場合は、そのためのコアサービスを使用する必要があります。
もちろん、既存のビューに示されているように、JavaScriptAPIと組み合わせてTridionコントロールを使用することも可能です。ページでコントロールを使用する場合c:Button
、JavaScriptコードで次のようにアクセスできます。
var p = this.properties;
var c = p.controls;
c.BtnExmpl = $controls.getControl($("#BtnID"), "Tridion.Controls.Button");
// add an event handler like this
$evt.addEventHandler(c.BtnExmpl, "click", this.getDelegate(this._onExmplClicked));
この投稿はあなたを助けるかもしれませんhttp://www.tridiondeveloper.com/ribbon-item-group
エディタ自体に保存されているASPXまたはASCXの出力はキャッシュされると思いますが、CM機能を作成するための推奨される方法は、モデルに保存されているJavaScriptとバックグラウンドサービスを使用することです。オープンソースのPowerToolsを確認することをお勧めします。さらにいくつかのアイデアのプロジェクト(http://code.google.com/p/tridion-2011-power-tools/)。