0

使用 Sitecore 6.6 和 Glass 3.0

我制作了一个通过 Glass 使用视图渲染的 MVC 布局。我正在尝试显示亮点。

我制作了一个名为 GlassHighlights 的视图渲染,其中设置了以下字段:

  • 小路:/Views/Renderings/KRN/GlassHighlight.cshtml
  • 模型:/sitecore/layout/Models/KRN/Highlights

Sitecore 中的模型具有以下字段集:模型类型:Models.Sitecore.Content.Items.HighLights.Models

视图渲染放置在名为 GlassTest 的项目的布局详细信息上(在其他一些渲染中),并放置在占位符“body”上。数据源设置为 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。为什么会这样?我想指出,我的 local 指向 Sitecore Master,而 Staging 指向 Web;但我已经部署了所有涉及的项目。我监督了什么?

为什么没有本地工作和分期?

4

2 回答 2

1

你能检查一下 Glass.Mapper 是否正在加载程序集吗?如果您的模型与网站不同,则需要确保它们已加载,请参阅教程http://glass.lu/docs/tutorial/sitecore/tutorial20/tutorial20.html

于 2013-09-24T11:07:56.510 回答
0

我在 Sitecore 本身遇到了一个问题,经过一些广泛的研究,他们得出结论我应该升级到 Sitecore 7.0(我目前是 6.6)

于 2013-09-27T07:35:24.410 回答