我的解决方案中有以下设置,在之前的帖子中描述:
How to implement Sitecore Template inheritance with Glass Mapper
我现在可以显示继承字段的内容。但是,当我尝试在页面编辑器中编辑它们时,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中的值。我还在这里缺少什么?有什么想法吗?
答案 0 :(得分:1)
这只是基于您在其他帖子中包含的HomePage模型的猜测,但我认为您需要为模型添加ID属性。见http://glass.lu/docs/tutorial/sitecore/tutorial05/tutorial05.html
答案 1 :(得分:0)
我现在看到您的其他帖子,请添加ID:
[SitecoreId]
Guid Id{ get; }
在页面编辑器模式下,sitecore将要求映射的Id知道该值属于哪个项目。所以你需要将它添加到你的模型中。 如果您正在使用TDS或类似的东西 - 默认情况下,您将看到默认情况下在所有模型类的基类中添加该属性。