특정 유형의 항목에 특정 유형의 항목이 1 명 밖에 없도록하는 방법이 사이트에서 있습니까? 나는 규칙 엔진 요리 책을 읽고있다. 그러나 나는 많은 세부 사항을 얻지 않고있다.Sitecore 특정 유형의 자녀 (1 명)를 보장하는 규칙을 삽입하십시오.
답변
내가 작업 한 사이트 중 하나는 특정 항목 유형 아래에 6 개가 넘는 하위 항목이 존재할 수 없다는 요구 사항이있었습니다. 삽입 옵션 규칙을 사용하는 것을 고려했지만 항목 복사, 이동 또는 복제를 막지 못하기 때문에 아이디어를 포기하기로 결정했습니다.
대신이 작업을 위해 특별히 처리기를 사용하여 item:created
이벤트를 확장하기로 결정했습니다. 아래는 어떻게 작동하는지에 대한 철저한 예제입니다. 한 가지 분명한 개선점은 상위 항목의 필드에서 최대 하위 제한을 가져 오는 것입니다 (물론 관리자 만 볼 수 있음). 규칙 엔진을 활용할 수도 있습니다 ...
public void OnItemCreated(object sender, EventArgs args)
{
var createdArgs = Event.ExtractParameter(args, 0) as ItemCreatedEventArgs;
Sitecore.Diagnostics.Assert.IsNotNull(createdArgs, "args");
if (createdArgs != null)
{
Sitecore.Diagnostics.Assert.IsNotNull(createdArgs.Item, "item");
if (createdArgs.Item != null)
{
var item = createdArgs.Item;
// NOTE: you may want to do additional tests here to ensure that the item
// descends from /sitecore/content/home
if (item.Parent != null &&
item.Parent.TemplateName == "Your Template" &&
item.Parent.Children.Count() > 6)
{
// Delete the item, warn user
SheerResponse.Alert(
String.Format("Sorry, you cannot add more than 6 items to {0}.",
item.Parent.Name), new string[0]);
item.Delete();
}
}
}
}
전체 세부 정보를 공유 할 수 있습니까? 저는 sitecore를 처음 접했고 어디서부터 시작 해야할지 확실하지 않습니다.이 이벤트 처리기는 어디로 이동합니까? –
[Sitecore 이벤트 관련 기사] (http://sdn.sitecore.net/Articles/API/Using%20Events.aspx)가 있습니다. 오래된 것이지만 대부분은 여전히 관련이 있습니다. 기본적으로이 클래스에 대한 참조는 sitecore/events 섹션의 web.config에 추가해야하며 항목이 만들어 질 때마다 실행됩니다. –
또한 참조 예는 다음과 같습니다.'
- 1. Sitecore 루씬 : 재 인덱스의 자녀 (또는 부모) 항목을
- 2. 시간당 맞춤 레이아웃에서 자녀 1 명만 선택하십시오.
- 3. Sitecore - 웹 페이지에서 동일한 유형의 여러 항목
- 4. N + 1 유형의 검색어?
- 5. 1 유형의 객체를 다른 유형의 객체로 전송
- 6. sitecore 검색을 사용하여 특정 폴더 검색
- 7. 특정 행에 datarow 값을 삽입하십시오.
- 8. 특정 대리인이 RestKit 응답을 처리하도록 보장하는 방법
- 9. 특정 태그 안에 요소를 삽입하십시오.
- 10. 열에 대한 특정 규칙을 만들 수 있습니까?
- 11. XSD : 특정 유형의 요소 하나만 선언해야합니다.
- 12. 숨겨진 자녀 중 n 번째 자녀
- 13. 특정 유형의 IQueryable을 반복할까요?
- 14. 특정 유형의 CDI 인터셉터
- 15. 특정 유형의 JMSSerializerBundle 변환
- 16. 자녀 보호
- 17. XML 파싱 힘 어레이 구조가있는 경우 1 자녀 이상
- 18. 특정 규칙을 충족하는 20 개 요소의 순열
- 19. 항목의 특정 필드에 대한 Sitecore 워크 플로우
- 20. vb.net에서 1 열 이상의 데이터 테이블의 고유성을 보장하는 방법은 무엇입니까?
- 21. 프로그래밍 방식으로 sitecore 설정에 액세스하십시오 (Sitecore 6)
- 22. PLSQL 오라클 부모 자녀
- 23. CSV에서 Java + mySQL을 사용하여 특정 문자셋을 삽입하십시오.
- 24. 특정 유형의 프로젝트를 특정 Perspective와 연관 시키십시오.
- 25. 특정 디렉토리의 특정 유형의 파일 나열
- 26. .htaccess 하위 도메인으로 리디렉션하거나 특정 규칙을 적용합니다.
- 27. Io 언어에서 1 프로토 타입과 1 유형의 차이점은 무엇입니까?
- 28. Sitecore 언어를 제한하는 방법 콘텐츠 트리의 특정 부분에만 쓰기
- 29. 안드로이드에서만 특정 유형의 메시지 받기
- 30. SML에서 특정 유형의 결과를 보장
큰 질문 !!! –