0

如果我们想隐藏 的DisplayName属性InputField,我们可以在我们的主题中覆盖InputField的默认模板。这样可行。也就是说,有没有办法使用placement.info 来做同样的事情?

以下工作,但我们宁愿使用placement.info 以获得更简洁的解决方案。

默认输入字段模板。

@using Orchard.Fields.Settings;
@using Orchard.Utility.Extensions;
@{
    string value = (string)Model.ContentField.Value;
    if (!string.IsNullOrEmpty(value)) {
        string name = Model.ContentField.DisplayName;
    <p class="text-field">@T(name): @value</p>
    }
}

我们主题的 InputField 模板。

@using Orchard.Fields.Settings;
@using Orchard.Utility.Extensions;
@{
    string value = (string)Model.ContentField.Value;
    if (!string.IsNullOrEmpty(value)) {
    <p class="text-field">@value</p>
    }
}
4

1 回答 1

2

您已经找到了修改字段呈现的标准方法。请注意,如果您只想针对特定实例的呈现,您可以使用替代项,例如包含字段名称的替代项。放置在这里可能不会有太大帮助,除非您需要根据放置匹配引入其他替代品,但无论如何,您都必须使用修改后的模板。此处不能使用放置的原因是标签本身不是内容形状,因此不能作为放置的目标。

于 2014-08-19T09:58:59.417 回答