I 의 조합을 사용하는 응용 프로그램 콘텐츠를 관리 할 수 Umbraco을 확장 할 & ContentService.Saving을 ContentService.Saved 있습니다.Umbraco7 - ContentService.SaveAndPublishWithStatus VS ContentService.SendToPublication
하나의 Umbraco 설치에 두 개의 웹 사이트가 있습니다.이 방법을 사용하여 트리의 다른 부분에서 내용을 최신으로 유지합니다.
지금까지 내가 원하는 방식으로 모든 것을 작동 시켰습니다.
이제는 Umbraco 사용자가 로그인 한 상태에 따라 콘텐츠를 게시하거나 승인을 위해 보내기 만하는 기능을 추가하고 싶습니다. 이를 위해
cs.SaveAndPublishWithStatus(savedNode, 0, false)
:
은 그래서에서 몇 줄의 코드를 변경 한cs.SendToPublication(savedNode);
지금은 발견하고 문제가 그 SaveAndPublishWithStatus() 방식과는 cs.SendToPublication();에는 save 이벤트가 발생하지 않도록 false를 전달하는 옵션이 없습니다. 그래서 무한 루프에 빠지게됩니다.
디버거를 연결하고 처음으로 무한 루프를 수동으로 중지하면 cs.SendToPublication (savedNode); 나는 내가 원하는 행동을 정확하게 얻는다.
이 문제를 해결하는 방법에 대한 아이디어가 있으십니까? 내가 사용해야하는 다른 방법이 있습니까?
사용자 역할을 기반으로하는 대신 코드에서이 작업을 수행하는 이유가 있습니까? – Mark
예,이 Umbraco 설치로 인해 두 개의 웹 사이트가 운영되고 있습니다. 사용자가 사이트 1의 콘텐츠를 업데이트하면이 변경 사항은 사이트 2 (자동)에 반영되지만 실제로 사이트 2에 게시되기 전에 사이트 2의 관리자가 승인해야합니다. –
아아아, 나는 당신에게 대답이 없지만 ContentService의 코드를 보면 대답을 찾을 수 있습니다. https://github.com/umbraco/Umbraco-CMS/blob/10b8fd9fb973ddb9b86ebf4e0f5755c43cd22496/src/ Umbraco.Core/Services/ContentService.cs – Mark