레이블이 Command인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Command인 게시물을 표시합니다. 모든 게시물 표시

2016년 12월 2일 금요일

사이트코어 xEditor에 휴지통 버튼 만들기

사이트코어 사용자 제한 설정에 있어서, 관리자 및 플랫폼 Provider는 사용자가 Content Editor 또는 xEditor 를 제한적으로 사용하도록 설정할수있다.

하나의 예를 들면, 사이트코어 사용자가 컨텐츠 관리(수정)을 하는데 있어서, 아이템을 삭제하고 또 다시 복구해야하는 경우가 간혹 생기는데, 이럴 경우 사용자는 Content Editor 또는 Dashboard로 이동 후, Recycle Bin (휴지통) 팝업 창을 열어야한다. 이런 불편함을 덜기 위하여, 이번 포스팅에서는 xEditor에 Recycle Bin 버턴을 만들어 xEditor에서 바로 Recycle Bin 창을 오픈할 수 있도록 해보겠다.

먼저, 대부분의 사이트코어 버턴은 'Sitecore.Shell.Framework.Commands.Command' 클래스를 통하여 명령어가 실행된다. 새로운 Visual Studio 클래스 프로젝트를 생성하여 'OpenRecycleBin' 이라는 클래스를 만들어 준다.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
namespace MySitecore.Commands
{
    // Recycle Bin Command
    public class OpenRecycleBin : Sitecore.Shell.Framework.Commands.Command
    {
        public override void Execute(Sitecore.Shell.Framework.Commands.CommandContext context)
        {
            Sitecore.Shell.Framework.Windows.RunShortcut(Sitecore.Data.ID.Parse("{A2CF861E-77AB-4317-A72B-2F33D942520E}"));
        }
    }
}

'RunShortcut' method에서 아이템 ID는 아래의 사진처럼 'core' 데이타베이스의 Shortcut 아이템 ID 이다.



해당 프로젝트를 Build/Compile 한 후, 'MySitecore.Commands.dll' 파일을 Sitecore의 bin 폴더에 저장한 후, '/Website/App_Config/' 폴더에서 'Commands.config' 파일에 새로운 Command를 아래처럼 추가한다.


<command name="contenteditor:openrecyclebin" type="MySitecore.Commands.openrecyclebin, MySitecore.Commands"/>

이젠, 마지막으로 'Core' 데이타베이스에서 xEditor 상단 툴바에 들어가 버턴을 만들어 보기로 하자.

사이트코어 CMS에서 'Core' DB로 변경 후, 원하는 섹션에 새로운 버튼 아이템을 만든다. 저의 경우 선택한 경로는 "Advanced" 탭의 제일 마지막 버턴으로 정하였다.



My New Item 이라는 Chunk 아이템 (/sitecore/templates/System/Ribbon/Chunk) 아래, 'Recycle  Bin' 이라는 Large Button을 만들고, 가장 중요한 'Click' 필드에 사진처럼 기존에 만들었던 명령어 ('contenteditor:openrecyclebin')를 넣어준다.

이 모든것이 완료되고 나면, xEditor에서 새롭게 만들어진 Recycle Bin 버턴을 볼수 있다.