我在我的自定义内容类型中使用了分类部分,并且使用形状跟踪器,我能够为该控件(Fields.Contrib.TaxonomyField.cshtml)创建一个自定义视图模板。
当我在页面上创建跟踪元素时,在template下它确实显示了我的自定义模板,就像我在外部文件中显示的那样:
@using Orchard.Utility.Extensions;
@using Orchard.ContentManagement;
@{
var terms = (IEnumerable<Contrib.Taxonomies.Models.TermPart>)Model.Terms;
string name = @Model.ContentField.Name;
}
@if (Model.Terms.Count > 0) {
@(new HtmlString( string.Join(", ", terms.Select(t => Html.ItemDisplayLink(Html.Encode(t.Name), t.ContentItem ).ToString()).ToArray()) ))
}
<div>TEST TEXT</div>但是,当我切换到实际输出的HTML时,它显示的是标准、内置的模板,并且没有使用我的自定义。
<p class="taxonomy-field">
<a href="/categories/coffee-shop">Coffee Shop</a>
</p>根据形状跟踪器,它使用我的自定义模板:
形状Fields_Contrib_TaxonomyField
~/Themes/Continuum/Views/Fields.Contrib.TaxonomyField.cshtml活动模板
显示类型细节
这感觉就像虫子..。一切看起来都是正确的..。为了使用自定义视图模板进行分类,我还需要做些什么吗?
非常感谢!
发布于 2011-08-25 04:06:00
我解决了问题。原来还有另外一个模板(可能是偶然创建的),它是特定于url的:
Fields.Contrib.TaxonomyField-url-venues.cshtml
这就是我所使用的url,它还包含默认的模板。删除之后,它最终使用了我的自定义模板。
用户错误,对不起!!
https://stackoverflow.com/questions/7156168
复制相似问题