我正在尝试使我的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为此提供了开箱即用的支持(我不知道)。
答案 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