在视图中,是否可以配置cck分类法字段,以便用户搜索更高级别的分类术语也与其父项匹配?假设我有这个名为Places的分类:
Asia
China
Shanghai
Beijing
Japan
Tokyo
Nagoya
Indonesia
Bandung
Banjar
Europe
France
Paris
Lyon
Germany
Berlin
Hamburg
UK
London
Birmingham
North America
Cananda
Toronto
Ottawa
USA
New York
Texas
我希望用户能够选择欧洲,并找到所有符合法国,德国或英国和子节点的内容。
答案 0 :(得分:0)
您可以将taxonomy_get_tree()与该术语的$ parent参数一起使用以获取术语列表,然后在WHERE x IN ()
子句中使用它,这很难看,并且仅限于一定数量的条款,但会做你想要的。
你可能会发现solr会开箱即用,但我肯定不知道。
答案 1 :(得分:0)
您可以使用分类树模块from here,它将花费您不到10分钟:),从那里读取QUICKSTART文件。
答案 2 :(得分:0)
当您使用上海分类法保存项目时,该文章仅获得上海的分类。
理想情况下,您希望这篇文章能够获得亚洲,中国,上海的分类。通过这种方式,当有人搜索亚洲时,你会得到这篇文章。
执行此操作的方法是使用“层次选择模块”。当上海被拯救时,其中有一个设置将强制保存父项目(即亚洲,中国)的所有分类。
如果您无法找到此设置,请询问我。
答案 3 :(得分:0)
我相信他指的是使用Views进行此操作,因此当有人搜索并说“日本”时,它也会将结果标记为亚洲。这需要一个参数,分类:术语ID(带深度)。
从那里,您将检查$ node->分类,并使用tid获取其父级,使用taxonomy_get_tree获取子级,并返回所有值。这需要编写一些PHP代码来验证并返回分类法。如果你不知道该怎么做,我可以详细说明。