2009-08-07 2 views

답변

8

동일한 요구 사항이 있습니다.

은 아마

이 FeatureReceiver와 기능을 만들고 프로그램에 추가하여 그 가능 여부를 확인 I`d (모든 콘텐츠 형식이 ID 0x로 한 것을 상속) 시스템 ContentType에 이벤트 수신기를 장착 할 수 있습니다 시스템 내용 유형. 일부 내용은 here입니다. 솔루션

알려줘야을 찾는

내 경로, 나는 콘솔 응용 프로그램 몇 가지 테스트를했다.
  1. 시스템 (0X)에 EventReceiver을 추가했습니다. 을 업데이트하거나 System ContentType을 업데이트 한 ContentType.Update (true, false) 메서드 또는 자식을 호출하지 않았습니다. 그 내용을 수정할 수 없다는 것을 알게되었습니다. ReadOnly으로 형식을 지정하십시오. Sealed 속성을 TRUE
  2. (0x01) ContentType 항목에 EventReceiver를 추가하려고했습니다. 여기에서 알 수 있듯이 모든 ContentTypes은 여전히 ​​해당 것을 상속합니다 (ContentType hierarchy 참조). 시스템에서 상속 한 사용자 정의 배포 컨텐츠 유형이있을 수 있지만 GUI에서 작성된 컨텐츠 유형은 없습니다. 이 콘텐츠 형식이 진정으로 (그 ReadOnly 또는 Sealed를 제외한 모든 콘텐츠 형식) 모든 자식 ContentTypes 업데이트 업데이트 모든 항목

그래서 같을 것이다 일을 할 수있는 솔루션으로 글로벌 EventReceiver를 부착하는 방법

:

당신 EventReceivers와 그 콘텐츠 형식을 원하는 경우
  1. 으로 반복 모든 목록은 false로 Readonly 또는 Sealed을 설정합니다.
  2. 는 0x01로 그래서 새 목록이 EventReceiver가 자동으로 추가 얻을 ID로 목록 (SPList.ContentTypes)
  3. 가 ContentType을 (SPWeb.ContentTypes)에 EventReceiver 추가에 EventReceiver 기존 콘텐츠 형식을 추가합니다. 새로 만든 콘텐츠 형식도 EventReceivers을 상속합니다. 또한 하위 웹 ContentTypesEventReceivers을 상속합니다.

3 단계 모두 콘솔 응용 프로그램 또는 powershell 스크립트 일 수 있습니다. 또는 FeatureReceiver

결과

PS C:\Documents and Settings\Administrator> $web.contentTypes |ft id, name, EventReceivers, readonly, sealed 

Id      Name     EventReceivers       ReadOnly     Sealed 
--      ----     --------------       --------     ------ 
0x      Sistēma     {}          False     True 
0x007F1DD730DB144C84... Darba kārtības vēsture {}           True     True 
0x01     Ieraksts    {, , , ...}        False     False 
0x01003420C661289843... Darba kārtības ieraksts {, , , ...}        False     False 
0x0101     Dokuments    {, , , ...}        False     False 
0x010100629D00608F81... Office datu savienoj... {}           True     False 
0x010100B4CBD48E029A... Universālais datu sa... {}           True     False 
0x010101    Veidlapa    {, , , ...}        False     False 
0x010102    Attēls     {, , , ...}        False     False 
0x010104    Nezināms dokumenta tips {}           True     False 
0x010105    Lapu šablons   {, , , ...}        False     False 
0x010107    Lietotāja darbplūsma... {, , , ...}        False     False 
0x010108    Wiki lapa    {, , , ...}        False     False 
0x010109    Pamatlapa    {, , , ...}        False     False 
0x01010901    Web daļu lapa   {, , , ...}        False     False 
0x01010A    Saistīt ar dokumentu {, , , ...}        False     False 
0x01010B    Dublinas pamata kolo... {, , , ...}        False     False 
0x0102     Notikums    {, , , ...}        False     False 
0x0103     Diskutējamais jautājums {, , , ...}        False     False 
0x0104     Paziņojums    {, , , ...}        False     False 
0x0105     Saite     {, , , ...}        False     False 
0x0106     Kontaktpersona   {, , , ...}        False     False 
0x0107     Ziņojums    {, , , ...}        False     False 
0x0108     Uzdevums    {, , , ...}        False     False 
0x0108007122AD6D76CD... Darba kārtības uzdevums {, , , ...}        False     False 
0x010801    Darbplūsmas uzdevums {, , , ...}        False     False 
0x010802    Administratīvs uzdevums {, , , ...}        False     False 
0x0109     Darbplūsmas vēsture  {, , , ...}        False     False 
0x010A     Person     {, , , ...}        False     False 
0x010B     SharePointGroup   {, , , ...}        False     False 
0x010C     DomainGroup    {, , , ...}        False     False 
0x0110     Ziņa     {, , , ...}        False     False 
0x0111     Komentārs    {, , , ...}        False     False 
0x0116     Tālo Austrumu līgums {, , , ...}        False     False 
0x0120     Mape     {}          False     True 
0x012001    RootOfList    {}          False     True 
0x012002    Diskusija    {, , , ...}        False     False 

죄송있는 사이트 모음 다양한 기능, 내 WSS는 지역화되어 있지만, {,,, ...} 내가 콘텐츠 형식에 여러 eventreceivers을 추가 의미한다. 당신이 볼 수 있듯이 Readonly 또는 Sealed 속성이 거짓 인 사람은 손길이 닿지 않습니다.

관련 문제