ボタンを追加するためにTridionリボンツールバーをカスタマイズしています。私の.NET ASPXページ内のボタンやドロップダウンなどのTridionコントロールにアクセスするにはどうすればいいですか?Tridionコントロールにコードの背後でアクセスするには?
答えて
私はエディタ自体に格納されている任意のASPXやASCXの出力がキャッシュされていると考えているが、CMの機能を作成する好ましい方法は、JavaScriptと保存されたバックグラウンドサービスを使用することですので、この投稿は、あなたにhttp://www.tridiondeveloper.com/ribbon-item-group
を助けるかもしれませんモデルでは、オープンソースのPowerToolsプロジェクトでいくつかのアイデア(http://code.google.com/p/tridion-2011-power-tools/)を調べることができます。
リボンツールバーにボタンを追加するために、正確に何を達成しようとしているのか少し曖昧ですが、ASPXページは必要ありません。
リボンボタンでTridionコントロールを使用するポップアップウィンドウが開いている場合は、まずTridion.Web.UI名前空間のインポートを開始する必要があります。
追加することができ、あなたのASPXページに:
<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>
そして、あなたのコントロールを使用することができます:あなたがTridionの管理制御を言及する必要があり、あなたのASPXページの先頭に
<%@ Import Namespace="Tridion.Web.UI" %>
<%@ Register TagPrefix="ui" Namespace="Tridion.Web.UI.Editors.CME.Controls" Assembly="Tridion.Web.UI.Editors.CME" %>
ページ。あなたの後ろにあなたのコードは、その後Tridion.Web.UI.Editors.CME.Views.Popups.PopupView
に例えば、Tridionのビューから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
{
}
}
を拡張する必要があります
xmlns:c="http://www.sdltridion.com/web/ui/controls"
名前空間の参照を忘れないようにしてください
Tridionコントロールを再利用する際のサポートレベルはすべて可能ですが、わかりません。私の知る限り公開されたAPIの一部ではありません。また、どこからでもドキュメント化されたものはありません(\ Tridion \ web \ WebUI \ Editors \ CME \ ViewsディレクトリのASPXページを見ることができますが、とにかくそこにはないコードビハインドの例はありません)。既存のコントロールとASPXページを再利用しないことをお勧めします。ここで.NETを使用する場合は、その場合は、独自のコントロールを使用してください。これらのコントロールがTridion CMSにアクセスする必要がある場合は、そのためにコアサービスを使用する必要があります。
既存のビューに示されているように、TridionコントロールをJavaScript APIと組み合わせて使用することももちろん可能です。あなたがJavaScriptコードでは、あなたのページにc:Button
コントロールを使用する場合は、次のようにあなたはそれにアクセスすることができます。
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));
あなたはおそらくあなたのASPXページが行う必要があるかについてもう少し説明してもらえますか?リボンのカスタムボタンをクリックして開くポップアップですか? –
Bartは、ポップアップウィンドウでTridionベースのビューを構築する方法を説明する素晴らしい仕事をしています。さらに明確にするために、エディタの設定ファイルとボタンをクリックしたときに実行するコマンドのJavaScriptから、ツールバーボタンの定義を共有できますか? –