Arb*_*æde 1 sitecore razor sitecore-mvc glass-mapper sitecore8
我想在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>
Run Code Online (Sandbox Code Playgroud)
但它对我来说看起来不是很理想,我想使用Glass Mapper
我创建了一个具有祖先访问权限的类
public class Breadcrumb
{
[SitecoreQuery("ancestor-or-self::*[@#Include in breadcrumb#='1']", IsRelative = true)]
public virtual IEnumerable<Breadcrumb> Ancestors { get; set; }
[SitecoreField(FieldName = "Include in breadcrumb")]
public virtual bool IncludeIn { get; set; }
[SitecoreField(FieldName = "Short Title")]
public virtual string Title { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
但是我不知道怎么对sitecore"说"使用它来进行我的View渲染.我没有任何特定的页面控制器.
是否可以使用一些玻璃映射器与View渲染?
这通常通过视图顶部的inherits指令完成:
@using Glass.Mapper.Sc.Web.Mvc
@inherits GlassView<Breadcrumb>
Run Code Online (Sandbox Code Playgroud)
然后在页面上你可以正常使用你的模型; 如果,对于一个案例,你想让你的标题页面编辑器友好 - 那么你可以使用以下构造来访问你的模型属性:
@Editable(x=>x.Title)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1549 次 |
| 最近记录: |