Umbraco - 获取节点/组中使用的所有标签

Sha*_*k D 7 umbraco umbraco7 umbraco-tags

我使用了GetTags()方法umbraco.cms.businesslogic.Tags.Tag来获取组或节点下的所有标签.

var tags = umbraco.cms.businesslogic.Tags.Tag.GetTags("default");
Run Code Online (Sandbox Code Playgroud)

但是umbraco.cms.businesslogic.Tags.Tag现在已经过时了,还有其他更好的选择吗?

此外,新库是否提供基于标签的节点查询?

Sha*_*k D 11

好吧,所以Umbraco 7有新的TagService库来处理标签.

要使用所有标签,

var service = UmbracoContext.Application.Services.TagService;
var blogTags = service.GetAllTags("default");
Run Code Online (Sandbox Code Playgroud)

获取特定标记内容GetTaggedContentByTag()的方法是暴露的,

var sports = service.TagService.GetTaggedContentByTag("Gaming");
Run Code Online (Sandbox Code Playgroud)

它返回带有EntityId属性的TaggedEntity列表和TaggedEntity对象.

来源 提供:Jimbo Jones


Ash*_*ous 7

无需拨打标签服务.

在umbraco 7中,您可以使用:

var tags = Umbraco.TagQuery.GetAllTags();
Run Code Online (Sandbox Code Playgroud)

要么

var tags = Umbraco.TagQuery.GetAllTags(group);
Run Code Online (Sandbox Code Playgroud)

你可以使用

var mycontents = Umbraco.TagQuery.GetContentByTag("mytag")
Run Code Online (Sandbox Code Playgroud)

要获取数据