使用Sitecore 6.6和Glass 3.0
我做了一个MVC布局,它使用了一个通过Glass查看渲染。我正试图展示亮点。
我制作了名为GlassHighlights的视图渲染,其中设置了以下字段:
/Views/Renderings/KRN/GlassHighlight.cshtml
/sitecore/layout/Models/KRN/Highlights
Sitecore中的模型具有以下字段集:
型号类型:Models.Sitecore.Content.Items.HighLights.Models
“视图渲染”放置在名为GlassTest的项目的布局详细信息上(在其他一些渲染中),并放置在占位符“主体”上。数据源设置为sitecore中的正确子文件夹。
这是在C#中定义的模型:
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; }
}
}
这是razorview,因为它在项目中定义:
@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>
在我尝试使用某些东西时,代码可能不是完全最佳的。
现在,这就是问题:当我在本地运行网站时,它的工作非常好。所有数据都呈现为应该呈现的内容,所有数据都充满了Sitecore的内容。
当我部署到分段时,模型没有填充,并且当它尝试启动foreach时我得到一个空引用异常。 Model本身不为null,但Model.Items为null。为什么会这样?我想指出,我的本地指向Sitecore Master和Staging指向Web;但是我已经部署了所涉及的所有项目。我监督了什么吗?
为什么本地工作和分期没有?
答案 0 :(得分:1)
你能检查一下Glass.Mapper是否正在加载程序集吗?如果您将模型放在与网站不同的程序集中,则需要确保它们已加载,请参阅教程http://glass.lu/docs/tutorial/sitecore/tutorial20/tutorial20.html。
答案 1 :(得分:0)
我在Sitecore本身运行时遇到了问题,经过一些广泛的研究后他们得出结论我应该升级到Sitecore 7.0(我现在在6.6)