我正在使用Orchard CMS建立一个网站,并建立了几个分类单元列表。我现在想要在管理菜单上直接创建其中一些列表的链接(因此用户无需浏览分类链接)。
我尝试将管理菜单内容部分添加到分类法类型,然后选中“在管理员菜单上显示”复选框以获取分类,这会创建一个管理菜单链接,但它是指向该定义的链接。分类学 - 不是分类学术语的列表。
我可以通过Orchard.Taxonomies.Admin.GetNavigation(NavigationBuilder)方法以编程方式添加链接(如下所示),但我不想对链接进行硬编码
public void GetNavigation(NavigationBuilder builder) {
builder
.AddImageSet("taxonomies")
.Add(T("Topics"), "4", menu => menu
.Add(T("Manage Topics"), "1.0", item => item.Action("ListByName", "TermAdmin", new {area = "Orchard.Taxonomies", taxonomyName = "Topics"}).Permission(Permissions.ManageTerms))
)
.Add(T("Taxonomies"), "5", menu => menu
.Add(T("Manage Taxonomies"), "1.0", item => item.Action("Index", "Admin", new { area = "Orchard.Taxonomies"}).Permission(Permissions.ManageTaxonomies))
);
}
还有其他方法可以在管理菜单上创建分类列表的链接吗?
由于
答案 0 :(得分:0)
你做得很好,但是你需要在链接中显示taxonomyIds和他们的名字吗?然后链接看起来应该是这样的:/Taxonomies/TermAdmin?taxonomyId=767
,而不是名称。
在Taxonomies AdminController及其视图中,您可以找到一些逻辑。
您应该能够注入taxonomyService并查询创建的分类法及其术语,或者您感兴趣的唯一一个分类法是否通过查询名称来获取其ID。