Drupal 6:分类标准在托管字段中出现?

时间:2009-06-20 18:05:20

标签: drupal hierarchy cck categories taxonomy

所以你有两个分类,即:“业务类型”和“位置”

将其分配给名为BUSINESS的节点。实际上,当用户创建BUSINESS节点时,她必须选择例如位置“纽约”并键入“信息服务”。我的问题是: a)捕获分类法,和 b)显示分类法

我希望这两个术语彼此分开。即我希望能够在MANAGE FIELDS视图中移动两个术语各个位置,以便它们可以分组或单独放置。目前,Drupal只允许一个名为“TAXONOMY”的条目,它实际上是彼此相邻的两个术语。

这就是我所拥有的: alt text http://www.namhost.com/have.jpg

这就是我想要的: alt text http://www.namhost.com/want.jpg

请记住,我需要能够使用Hierarchical Select,这意味着内容分类不是一种选择。

3 个答案:

答案 0 :(得分:1)

您必须将问题分为两部分:

  • 表单填写部分,它将所有词汇表一起包含在编辑器中。
  • 内容显示部分,您可以将词汇分开。

我将在这里详细介绍第二部分,关于显示。

使用CCK computed field module并为要显示的每个词汇创建一个字段。将此字段放在您想要的位置。

按如下方式配置每个字段:

  1. 计算代码上,输入以下内容:
  2.     # Get vocabulary ID from its management URL (/admin/content/taxonomy/edit/vocabulary/[VOCABULARY_ID]) and set here:
    
    $node_field[0]['value'] = "5";
    
    # Also, configure this field as 'Raw Text' on Display Fields
    
    1. 点击显示格式,请使用:
    2.     $vocabulary_id=$node_field_item['value'];
      
      $terms=taxonomy_node_get_terms_by_vocabulary($element['#node'], $vocabulary_id);
      
      foreach ($terms as $tid => $details) {
            # The taxonomy_get_textual_term_hierarchy_by_id() is implemented on the SolutionHub's theme template.php file
            $textualTerms .= taxonomy_get_textual_term_hierarchy_by_id($tid);
      }
      
      if (isset($textualTerms)) {
            $display='';
            $display.=$textualTerms;
            $display.='';
      }
      

      taxonomy_get_textual_term_hierarchy_by_id()函数特定于我的网站,并在DRUPAL_ROOT / sites / default / themes / mytheme / template.php中定义,并简单地以奇特的方式重写分类术语文本以显示其整个血统。因此,不是“苹果”,而是“食物&沙漠>水果>苹果”。我不会在这里粘贴它,因为它超出了范围。

      如果您的问题是在编辑表单中重新定位词汇表,我会建议内容分类模块。

答案 1 :(得分:0)

您对输入表单中出现的两个分类法感到困惑,它们是一个包。分类学应该被用作分类系统(如动物王国分类),因此术语在物理空间中属于一体。

但是对于问题的另一半,请记住,您的用户会在输入表单中看到“商家类型”和“位置”标签,而不是您在管理字段时看到的通用“分类”标签。

答案 2 :(得分:0)

也许你可以用cck做得更好。通过启用文本(随cck一起提供),您可以添加文本字段。并且您可以轻松地单独使用它们,将它们与视图,模板等一起使用。