在一個頁面時,我們將點擊組件外觀選項卡我們可以看到僅低於插入按鈕組件和模板中列出there.On點擊,它會打開另一窗口「插入組件演示」還有,我們將有插入,靠近button.So現在我需要做的雖然插入我需要檢查選擇的組件和模板的組合是否已經存在有頁面,或在不。如果是,那麼它應該防止插入相同的彈出窗口,如「這個組合已經存在,選擇其他組件」。 任何想法我可以如何繼續。如何在插入按鈕上觸發Javascript?防止插入組件的相同組合模板:
編輯:
時,我就subscrbing頁我得到erro.My代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Text;
using Tridion.ContentManager.Extensibility.Events;
using Tridion.ContentManager.Extensibility;
using Tridion.ContentManager.ContentManagement;
using System.IO;
using System.Windows.Forms;
namespace MyEventHandlers
{
[TcmExtension("MyEventHandlerExtension")]
public class MyEventHandler : TcmExtension
{
public MyEventHandler()
{
Subscribe();
}
public void Subscribe()
{
EventSystem.Subscribe<Page, SaveEventArgs>(SaveBtnInitiated, EventPhases.Initiated);
}
private void SaveBtnInitiated(Page subject, SaveEventArgs args, EventPhases phase)
{
try
{
List<string> allcplist = new List<string>();
List<string> allcplist = new List<string>();
foreach (ComponentPresentation cp in subject.ComponentPresentations)
{
allcplist.Add(cp.Component.Id + "," + cp.ComponentTemplate.Id);
}
List<string> uniquecplist = allcplist.Distinct().ToList();
if (allcplist.Count != uniquecplist.Count)
{
subject.Checkin(false);
throw new Exception("Page has duplicate component presentation");
}
catch(Exception)
{
}
}
爲什麼你籤的頁面?當你在啓動階段運行這個處理程序時,拋出異常將取消該操作。 除此之外,您通過捕獲異常並且不做任何事情來取消異常。 – 2012-07-25 12:37:09
我刪除了簽入並使用保存。和它的工作。謝謝你arjen – SDLBeginner 2012-07-26 06:51:33