0

我的解决方案中有以下设置,如前一篇文章中所述:

如何使用 Glass Mapper 实现 Sitecore 模板继承

我现在可以显示继承字段的内容。但是,当我尝试在页面编辑器中编辑它们时,不会渲染 EditFrame,实际上没有渲染任何内容。不知道我还缺少什么。这是我的控制器和视图:

控制器:

public class NavigationController : Controller
{
    // GET: /Navigation/

    public ActionResult Index()
    {
        var context = new SitecoreContext();
        var page = context.GetCurrentItem<HomePage>();

        return View("/Views/Navigation.cshtml", page);
    }
}

看法:

@inherits Glass.Mapper.Sc.Web.Mvc.GlassView<Sitecore.Training7.Internet.Core.Models.HomePage>
@if (Model != null)
{
     <h3 class="text-muted">Field: @Editable(x => x.NavigationTitle)</h3>
}

当我点击预览按钮时,会显示该值,但我在 PageEditor 中看不到该值。我在这里还缺少什么?有任何想法吗?

4

2 回答 2

1

这只是基于您在另一篇文章中包含的 HomePage 模型的猜测,但我认为您需要在模型中添加一个 ID 属性。见http://glass.lu/docs/tutorial/sitecore/tutorial05/tutorial05.html

于 2013-10-25T17:05:33.083 回答
0

我现在看到你的另一个帖子,请添加ID:

    [SitecoreId]
    Guid Id{ get; }

在页面编辑器模式下,sitecore 将要求映射的 Id 知道该值属于哪个项目。因此,您也需要将其添加到您的模型中。如果您有任何机会使用 TDS 或类似的东西 - 您会看到默认情况下该属性已添加到所有模型类的基类中。

于 2015-03-16T20:20:13.650 回答