2014-04-09 7 views
1

Sitecore ECM 기능을 구현 한 것은 처음입니다. html 템플릿을 레이아웃과 하위 레이아웃으로 잘라내서 필요한 데이터 소스를 만들고 $name 항목이 "AB Testable message"템플릿으로 설정된 지점 템플릿을 만들었습니다.Sitecore ECM 2.1 - 분기, 하위 레이아웃 및 동적 데이터 소스

Frank Rooijen의 블로그 게시물 : http://www.newguid.net/sitecore/2013/building-custom-newsletter-templates-for-sitecores-ecm-2-x/ 본문 필드를 $name에 설정하여 메시지 루트 하위에 가서 모든 하위 레이아웃 데이터 소스를 메시지 루트의 관련 하위 항목으로 설정했습니다.

Andit 모두 정상적으로 작동합니다.

실제로 알고 싶은 것은 ECM Speak 페이지의 create/insert 액션에서 인스턴스화 된 후 sublayout의 데이터 소스 경로가 새 위치로 파생되는 방법입니다.

나는 약간의 통찰력을 얻으려고 반사경을 사용했지만, 나는 올바른 곳을보고 있다고 생각하지 않습니다.

답변

2

ECM 패키지는 /App_Config/Includes/Sitecore.EmailCampaign.config에 새 구성 파일을 추가합니다. 해당 파일 내에서 몇 가지 새로운 이벤트 핸들러는, 특히 추가됩니다 볼 수 있습니다

<event name="item:added"> 
    <handler type="Sitecore.Modules.EmailCampaign.Core.ItemEventHandler, Sitecore.EmailCampaign" method="OnItemAdded" /> 
</event> 
<event name="item:copied"> 
    <handler type="Sitecore.Modules.EmailCampaign.Core.ItemEventHandler, Sitecore.EmailCampaign" method="OnMessageCopied" /> 
</event> 

당신이 Sitecore.EmailCampaign.dll을 디 컴파일하고 모든 일을 처리하는 MessageRelationsCorrector.CorrectItemRelations()에 전화를 해당 클래스를보고 당신이 보게 될 코드를 따르는 경우 새로 작성되고 복사 된 메시지의 데이터 소스 ID를 대체하십시오.

0

jammykam이 자리하고 있습니다.

내가 추가 할 수있는 한 가지는 (잠시 내 머리를 쾅 쾅쾅 대고 난 후에) 처리가 먼저 템플릿에 대한 점검을 AB Testable Message 또는 다른 이메일 유형에서 내림을하더라도 항목의 실제 수정 관계는 전자 메일 템플리트가 인 경우 정확히 AB Testable Message와 같은 기본 제공 템플리트 중 하나 일 경우에만 발생합니다. 파생 된 템플릿을 소유하지 마십시오. 한숨.