使用 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 无法开箱即用,因为它是特定于实现的。
我经常在内容项上有可选字段。如果作者填写了一个可选字段,那么该字段应与该字段附带的任何标记一起显示在页面上。例如,假设我有一个名为副标题(单行文本)的字段。如果作者为副标题输入文本,那么它应该像这样显示在页面上:
<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 无法开箱即用,因为它是特定于实现的。