2

在视图中,是否可以配置 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

我希望用户能够选择,比如说,欧洲并找到与法国、德国或英国及其子节点匹配的所有内容

4

4 回答 4

0

您可以将taxonomy_get_tree()与术语的 $parent 参数一起使用来获取术语列表,然后在WHERE x IN ()子句中使用它,这很丑陋,并且仅限于一定数量的术语,但会做你想做的事。

您可能会发现 solr 会立即执行此操作,但我不确定。

于 2010-02-22T15:08:24.100 回答
0

您可以 从这里使用分类树菜单模块,花费不到 10 分钟 :),从那里读取 QUICKSTART 文件。

于 2010-02-28T06:05:54.637 回答
0

当您使用分类上海保存项目时,该文章仅获得上海分类。

理想情况下,您希望文章获得亚洲、中国、上海的分类。这样,即使有人搜索亚洲,您也会得到该文章。

这样做的方法是使用分层选择模块。其中有一个设置会在保存上海时强制保存父项(即亚洲、中国)的所有分类。

如果您无法找到此设置,请询问我。

于 2010-03-22T15:31:16.157 回答
0

我相信他指的是用 Views 来做这件事,所以当有人搜索并说“日本”时,它也会得到带有亚洲标签的结果。这将需要一个参数,分类:术语 ID(有深度)。

从那里,您将检查 $node->taxonomy,并使用 tid,获取其父级,使用 taxonomy_get_tree 获取子级,并返回所有值。这需要编写一些 PHP 代码来验证和返回分类法。如果您不知道该怎么做,我可以详细说明。

于 2010-03-22T15:37:06.067 回答