Sitecore 8 MVC:如何使页面编辑器中的字段可编辑

时间:2015-10-15 09:57:27

标签: sitecore sitecore8 glass-mapper sitecore-mvc

我正在尝试使我的Sitecore网站与页面编辑器兼容,即所有字段文本,富文本编辑器等都应该能够在页面编辑器中更新。

到目前为止,我已经修改了TDS T4模板,该模板为每个字段返回HTMLString,如下所示:

public HtmlString HeroImageField(bool isEditable = true, string parameters = "")
{ 
    string renderParameter = GenerateRenderParameter(isEditable, parameters);

    return new HtmlString(Sitecore.Web.UI.WebControls.FieldRenderer.Render(
        Sitecore.Context.Database.GetItem(this.EntityId.ToString()), "Hero Image", renderParameter ));
}

因此,在视图中我只需拨打Model.HeroImage()

有没有更好的方法来实现上述目标?也许Glass Mapper为此提供了开箱即用的支持(我不知道)。

2 个答案:

答案 0 :(得分:3)

Sitecore附带了MVC帮助程序,您可以使用它来使字段可编辑:

@Html.Sitecore().Field("My Field Name") //Context item by default
@Html.Sitecore().Field("My Field Name", Model.PageItem) //Explicit page item
@Html.Sitecore().Field("My Field Name", Model.Item) //Datasource item (may be context item)

我的建议也是使用控制器加载不同的视图进行编辑。创作字段通常需要不同的视觉效果。旋转木马/标签应该展平,需要公开验证信息等。

详情请见: http://sitecore-community.github.io/docs/sitecore-mvc/rendering-content/

答案 1 :(得分:2)

Glass mapper有一些OOTB。您可以使用扩展的WebViewPage GlassView并使用此处所述的Editable方法: http://glass.lu/Mapper/Sc/Tutorials/Tutorial14