2013-01-24 1 views
4

리팩터링 작업에서 우리는 일부 웹 사이트의 페이지 템플릿을 변경해야합니다. 대부분의 페이지는 현지화되고 아래 코드에 따라 페이지 템플릿이 업데이트되지만 몇 가지 경우 다음과 같은 오류가 표시됩니다.Tridion 핵심 서비스 업데이트 오류 - 계속

"이름, 파일 이름은 구조 그룹 내의 청사진 컨텍스트와 청사진 컨텍스트 내에서 고유해야합니다. 출처 또는 충돌 소스 tcm : 121 : 3456-64 ".

처리중인 현재 페이지와 오류에서 언급 한 페이지를 모두 확인했으며 둘 다 고유 한 이름과 파일 이름을 가지고 있습니다. 문제를 일으킬 수있는 아이디어가 있습니까?

P. 내 질문에 게시 된 훌륭한 제안으로 이전 오류를 해결할 수있었습니다. 이번에는 비슷한 반응을 기대합니다.

try 
{ 
pData = client.Read(page.Attribute("ID").Value, null) as PageData; 
//Localize Page 
if (!(bool)pData.BluePrintInfo.IsLocalized) 
{ 
    client.Localize(pData.Id, new ReadOptions()); 
    if (dTemplateIDs.ContainsKey(pData.PageTemplate.IdRef.ToString())) 
    { 
     pData.IsPageTemplateInherited = false; 
     pData.PageTemplate.IdRef = dTemplateIDs[pData.PageTemplate.IdRef]; 
     client.Update(pData, new ReadOptions()); 
    } 
} 
} 
catch (Exception ex) 
{ 
Console.WriteLine("Error Inner " + ex.Message); 
} 
+2

"이번에는 비슷한 반응이 예상됩니다." 높은 기대치! :) –

+0

죄송합니다. 나는 지난번에 당신의 질문에 신속하게 대답하기 위해 그보다 더 일찍 숨어 있지 않았습니다! :) –

+0

좋은 질문, [Area 51 Tridion 특정 제안] (http://area51.stackexchange.com/proposals/38335/tridion?referrer=gPujQMxthNCNn9xqeeO2NA2)에 커밋 할 수 있습니까? 잠시라도 같은 SO 계정으로 가입하십시오. –

답변

4

코드에 몇 가지 실수가 있지만 예외를 호출하는 것은 확실하지 않지만 어쨌든 해결할 가치가 있습니다. 먼저 읽을 때 읽는 ReadOptionsnull이므로 실제로 페이지를 읽지 마십시오. 둘째, Localize 메서드에서 페이지를 가져온 다음 페이지의 지역화 된 버전을 업데이트해야합니다. 이와 같이 :

try 
{ 
    // You need read options here 
    pData = (PageData) client.Read(page.Attribute("ID").Value, new ReadOptions()); 
    //Localize Page 
    if (!(bool)pData.BluePrintInfo.IsLocalized) 
    { 
    // Get localized page here  
    pData = (PageData) client.Localize(pData.Id, new ReadOptions()); 
    if (dTemplateIDs.ContainsKey(pData.PageTemplate.IdRef.ToString())) 
    { 
     pData.IsPageTemplateInherited = false; 
     pData.PageTemplate.IdRef = dTemplateIDs[pData.PageTemplate.IdRef]; 
     // You do not need read options here 
     client.Update(pData, null); 
    } 
} 
} 
catch (Exception ex) 
{ 
Console.WriteLine("Error Inner " + ex.Message); 
} 

마지막으로, 모두 도움이되지 않으면 스택 추적도 게시 할 수 있습니까?

관련 문제