2013-09-24 3 views
0

Sitecore 6.6 및 Glass 3.0 사용Glass Mapper가로드되지 않음 스테이지 영역의 뷰 렌더링 모델

저는 View Rendering via Glass를 사용하는 MVC 레이아웃을 만들었습니다. 나는 하이라이트를 보여주고있다.

나는 다음 필드의 설정이 뷰 렌더링이라는 GlassHighlights을했습니다

:

  • 경로 : /Views/Renderings/KRN/GlassHighlight.cshtml
  • 모델 : /sitecore/layout/Models/KRN/Highlights
Sitecore의 모델이

는 다음과 같은 필드가 있습니다 세트 : 모델 유형 : Models.Sitecore.Content.Items.HighLights.Models

뷰 렌더링 i GlassTest라는 항목의 레이아웃 세부 정보에 배치되고 (다른 렌더링에서) 자리 표시자인 '본문'에 배치됩니다. 데이터 소스는 sitecore의 올바른 하위 폴더로 설정됩니다. 이 코드는 장소에 완전히 최적이 아닐 수

@inherits Glass.Mapper.Sc.Web.Mvc.GlassView<Models.Sitecore.Content.Items.HighLights>  

<div class="row topHWContainer"> 
    @{ 
     foreach (var highlight in Model.Items) 
     { 
     <div class="four columns topHW column-first"> 
      <a href="/eenheiddetails/@highlight.PublicatieID"> 
       <img src="/Style/Images/bgkArrowRightBlack.png" alt="bgkArrowRightBlack" width="19" height="14"> 
       <label>@highlight.Titel</label> 
       <img src="@highlight.AchterGrondImage.Src" alt="Pimpernel" width="302" height="218" class="topHWimg"> 
       <div class="topHWinfo"> 
        <label>@highlight.Plaats € @highlight.Huur</label> 
       </div> 
      </a> 
     </div>      
     } 
    } 
</div> 

:이이 프로젝트에 정의 된대로 razorview가

using System.Collections.Generic; 
using Glass.Mapper.Sc.Configuration.Attributes; 

namespace Models.Sitecore.Content.Items 
{ 
    /// <summary> 
    /// Container folder for the highlights 
    /// </summary> 
    [SitecoreType(AutoMap = true)] 
    public class HighLights 
    { 
     /// <summary> 
     /// Collection of Highlight items 
     /// </summary> 
     [SitecoreQuery(".//*[@@TemplateId='{EA8BF7CA-157F-4CF4-A2D8-36242304E8FA}']", IsRelative = true)] 
     public virtual IEnumerable<Highlight> Items { get; set; }  
    } 
} 

:가 C#으로 정의되어

모델입니다 내가 실험하는 동안.

다음은 문지르 기입니다. 로컬 웹 사이트를 실행할 때 완벽하게 작동합니다. 렌더링되는 모든 것을 렌더링하고, 모든 데이터는 Sitecore에서 나오는 것으로 채워집니다.

스테이징에 배포 할 때 모델이 채워지지 않고 foreach를 시작할 때 null 참조 예외가 발생합니다. 모델 자체는 null이 아니지만 Model.Items는 null입니다. 왜 이런 일이 생길까요? 내 로컬에서 Sitecore Master와 Staging이 웹을 가리킨다는 점을 지적하고자합니다. 하지만 관련된 모든 항목을 배치했습니다. 내가 뭔가를 감독 했니?

왜 로컬 작업 및 준비가 작동하지 않습니까?

답변

0

Glass.Mapper가 어셈블리를로드하고 있는지 확인할 수 있습니까? 모델이로드 된 웹 사이트와 다른 어셈블리에 있으면 튜토리얼 http://glass.lu/docs/tutorial/sitecore/tutorial20/tutorial20.html을 참조하십시오.

+0

내 GlassMapperScCustom은 다음과 같습니다 후 실행에 문제가 있습니다 이 '공공 을 code'을 정적 IConfigurationLoader [] GlassLoaders() { \t \t \t var 속성 = 새 SitecoreAttributeConfigurationLoader ("웹 사이트", "모델", "관리자"); \t \t \t \t \t \t return new IConfigurationLoader [] {attributes}; \t \t}'code' 그래, 나는 올바른 어셈블리가로드되어야한다고 생각합니다. 내가 지적했듯이, 그것은 지역에서 작동합니다. 어셈블리가로드되지 않으면 로컬에서도 작동하지 않습니다. 그렇습니까? –

+0

모델로드가 삭제되었으므로 로컬에서 동일한 오류가 발생합니다. 따라서 스테이징에서 어셈블리가 잘로드되지 않을 수 있습니다. 하지만 왜? –

+0

매우 이상합니다. .NET Framework의 어떤 버전을 컴파일하고 서버에서 어떤 버전을 사용할 수 있는지 확인할 수 있습니까? –

0

내가 Sitecore에 자리하고 내가 Sitecore 7.0로 업그레이드해야 결론을 내렸다 일부 광범위한 연구 (I 6.6에서 현재 해요)

+0

Glass.Mapper로 인한 문제가 아닙니다. ? 나는 단지 내가 아무것도 고칠 필요가 없다는 것을 확신하고 싶다. –

+0

글쎄, Sitecore Marketplace에서는 Glass가 CMS 6.2, 6.3, 6.3.1, 6.4, 6.4.1 및 6.5 만 지원한다고 말합니다. 검색을 한 후에는 7.0을 사용하는 대부분의 사람들을 찾았습니다. 나는 6.6이고, Sitecore로부터 지원을받지 못하고 7.0으로 업그레이드 할 수 없다. 따라서 업그레이드를 통해 실제로 문제가 해결되는지는 잘 모르겠습니다. 스테이징이 아닌 로컬에서 작동하는 이유는 아직 설명하지 않습니다. 현재 사용하고있는 유일한 해결책은 View Rendering을 사용하지 않고 Controller Renderings 만 사용하는 것입니다. –