使用 Glass Mapper 处理 Sitecore 网站上的可选字段和相关标记的最佳方式是什么?

What's the best way to handle optional fields and associated markup on a Sitecore site using Glass Mapper?

我经常在内容项上有可选字段。如果作者填写了一个可选字段,那么该字段应与该字段附带的任何标记一起显示在页面上。例如,假设我有一个名为副标题(单行文本)的字段。如果作者为副标题输入文本,那么它应该像这样显示在页面上:

<h4>[Subheading text]</h4>

对于普通场,我会使用 Glass Mapper 这样做:

<h4><%=Editable(x => x.Subheading)%></h4>

但是如果没有为副标题输入任何内容,那么我不想在页面上显示任何内容,包括 h4 标签。此外,该字段附带的标记可能比这更复杂。这只是一个简单的例子。

有没有一些简单的方法可以使用 Glass Mapper 来处理这个问题?

我想你将不得不使用一个包装 if 语句:

<%if(!Model.Subheading.IsNullOrEmpty()) {%>
    <h4><%=Editable(x => x.Subheading)%></h4>
<%}%>

Glass 无法开箱即用,因为它是特定于实现的。