2011-12-05 2 views
0

다음은 콘텐츠 트리의 단순화 된 버전입니다.Umbraco 4.7 - 사이트의 루트 수준에서 생성 된 노드는 레벨이 2 인 umbracoNode 테이블에 저장됩니다.

 
- Content 
    - Articles 
     - Article 1 
    - About Us 

기사의 하위 노드와 루트 수준의 노드를 추가한다고 가정 해 보겠습니다. 내 나무는 이제 이렇게 보일 것입니다. 두 Article 2Terms

 
- Content 
    - Articles 
     - Article 1 
     - Article 2 
    - About Us 
    - Terms 

이것은 Terms에 대한 올바른 레벨 아닌 2로 설정 "수준"과 umbracoNode 테이블에 저장됩니다; 그것은 특별히 umbraco.cms.presentation.editContent.Publish에서 수준이 게시 실패의 원인이되는 1

해야한다이다 :

if (_document.Level == 1 
    || new cms.businesslogic.web.Document(_document.Parent.Id).Published) 
{ 
    // Code that publishes the node 
} 

무엇이 일어나고있는 것은 레벨이 동일하지 않은 1 않기 때문에, 그것은을 평가하는 것입니다 조건부의 두 번째 부분. Document이 현재 노드의 부모 ID (-1)로 인스턴스화되면 해당 ID를 사용하여 cmsContentVersion 항목을 확인합니다. 그러나 루트 노드이므로 루트에 대한 cmsContentVersion에 아무 것도 없으므로 kaboom이됩니다. > V4.7

  • 마우스 오른쪽 클릭하면 노드 및 게시하는
  • 작동 -

    우리는 V3.6에서 업그레이드하는 과정에
    • :

      또는 관심을하지 않을 수 있습니다 몇 가지

    • 마우스 오른쪽 단추를 클릭하고 게시 한 후 문서에 대한 링크는 간단히 #이며 올바르지 않습니다. 나는 이것이 관련이 있는지 불확실하다.

    모든 도움을 주시면 감사하겠습니다.

    답변

    0

    실제로 수정 작업이 꽤 간단 해 졌기 때문에 누군가가 두통을 피할 수 있기를 바랍니다.

    뿌리 노트는 level을 0으로 업데이트하기 만하면됩니다 (우드 퍼팅하기 전에 1이었습니다).

    UPDATE umbracoNode 
    SET [level] = 0 
    WHERE id = -1 
    

    어떤 이유로 업그레이드 이전에 언급되지 않은 버전 3의 일부 아티팩트라고 가정합니다.