我有一个自定义内容类型的内容选择器,需要放在页面上的特定区域中。对于像这样的代码(在Orchard 1.9.1中)它正常工作:
在placement.info中:
<Match ContentType="MyContentType">
<Match DisplayType="Detail">
<Place Fields_ContentPicker-MyFieldName="MyZoneName:1"/>
</Match>
</Match>
在形状文件(例如Content-MyContentType.Detail.cshtml)中:
@if (Model.MyZoneName != null)
{
<div class="my-class">
<h3>Some Title</h3>
@Zone(Model.MyZoneName)
</div>
}
问题在于,如果内容选择器中没有内容项的内容项,它仍会显示&#34;某些标题&#34;因为某些原因,Model.MyZoneName不会返回null。
我尝试了无数的事情,包括这些无济于事:
@if (Model.ContentItem.MyPartName.MyFieldName.Count > 1)
但似乎没有任何可用的值可以返回内容项的数量; @if (!String.IsNullOrWhiteSpace(Model.MyZoneName))
和@if (!String.IsNullOrWhiteSpace(Model.ContentItem.MyPartName.MyFieldName.items[0]))
以及其他类似的人返回了各种错误消息。如果没有内容项,如何让我的支票返回空?最好是修复内容选择器模块(假设问题是这样),而不是试图破解。