Razor Sitecore MVC ViewRendering和GlassMapper

Razor Sitecore MVC ViewRendering和GlassMapper,razor,sitecore,glass-mapper,sitecore-mvc,sitecore8,Razor,Sitecore,Glass Mapper,Sitecore Mvc,Sitecore8,我想在Sitecore 8 MVC上创建一个基于Razor的面包屑。 我创建了一个页面模板,其中包含一些将用于该模板的属性。 视图呈现已创建并添加到布局项(第页)。 我已经用while循环为这个渲染创建了一个cshtml文件 <ul> @{ var parentItem = Html.Sitecore().CurrentItem; while (parentItem != null) { if (par

我想在Sitecore 8 MVC上创建一个基于Razor的面包屑。 我创建了一个页面模板,其中包含一些将用于该模板的属性。 视图呈现已创建并添加到布局项(第页)。 我已经用while循环为这个渲染创建了一个cshtml文件

 <ul>
    @{
        var parentItem = Html.Sitecore().CurrentItem;
        while (parentItem != null)
        {
            if (parentItem["Include in breadcrumb"] != "0")
            {
                <li>@parentItem["Short Title"]</li>
            }
            parentItem = parentItem.Parent;
        }
    }        
</ul>  
    @{ var parentItem=Html.Sitecore().CurrentItem; while(parentItem!=null) { if(parentItem[“包含在面包屑中”!=“0”) {
  • @父项[“短标题”]
  • } parentItem=parentItem.Parent; } }
但它看起来不是很适合我,我想使用玻璃映射器

我创建了一个具有祖先访问权限的类

公共类面包屑
{
[SitecoreQuery(“祖先或自我::*[@#包含在面包屑中#='1']”,IsRelative=true)]
公共虚拟IEnumerable祖先{get;set;}
[SitecoreField(FieldName=“包含在面包屑中”)]
公共虚拟bool IncludeIn{get;set;}
[SitecoreField(FieldName=“Short Title”)]
公共虚拟字符串标题{get;set;}
}
但我不知道如何“告诉”sitecore将其用于视图渲染。 我没有任何特定的页面控制器


是否可以在视图渲染中使用一些how glass mapper?

这通常是通过视图顶部的inherits指令完成的:

@using Glass.Mapper.Sc.Web.Mvc
@inherits GlassView<Breadcrumb>

这通常通过视图顶部的“继承”指令完成:

@using Glass.Mapper.Sc.Web.Mvc
@inherits GlassView<Breadcrumb>

马丁是对的。但是,如果您使用的是Glass v4,请注意,您不需要继承自
GlassView
,而是可以使用更自然的
@model
+
@Html
HtmlHelper语法(如果需要)

@Html.Glass().Editable(x => x.Title);

马丁是对的。但是,如果您使用的是Glass v4,请注意,您不需要继承自
GlassView
,而是可以使用更自然的
@model
+
@Html
HtmlHelper语法(如果需要)

@Html.Glass().Editable(x => x.Title);

小问题:如何对foreach循环中的项目使用@Editable(x=>x.Title)?只有在您需要面包屑页面可编辑时才使用它。常识告诉我,这不是您的情况。但是如果是-只需将@parentItem[“Short Title”]替换为@Editable(x=>x.ShortTitle)或模型的任何属性名称即可。这里有更多示例文档:小问题如何对foreach循环中的项目使用@Editable(x=>x.Title)?只有在您需要面包屑页面可编辑时才使用它。常识告诉我这不是您的情况。但是如果是-只需将@parentItem[“Short Title”]替换为@Editable(x=>x.ShortTitle)或模型的任何属性名称即可。更多文档和示例如下: