Drupal 7 Drupal 7:如何在添加内容时仅允许将分类项目的子级别选作类别

Drupal 7 Drupal 7:如何在添加内容时仅允许将分类项目的子级别选作类别,drupal-7,drupal-taxonomy,Drupal 7,Drupal Taxonomy,我有一个内容类型,它有一个基于分类法的类别字段。但我希望编辑器只能为每个内容块选择子类别,而不能选择父类别。如何做到这一点?我有类似于此外观的代码,如果可能在某种程度上帮助您。。。如果您计划使用自定义模块创建一个数组,它将在数组中获取子对象和父对象 $tree_type = taxonomy_get_tree(3); $childs["selected"]="All"; foreach($tree_type as $key =>$value) {

我有一个内容类型,它有一个基于分类法的类别字段。但我希望编辑器只能为每个内容块选择子类别,而不能选择父类别。如何做到这一点?

我有类似于此外观的代码,如果可能在某种程度上帮助您。。。如果您计划使用自定义模块创建一个数组,它将在数组中获取子对象和父对象

 $tree_type =  taxonomy_get_tree(3);
    $childs["selected"]="All";

    foreach($tree_type as $key =>$value) {
                $temp_ = taxonomy_term_load($value->parents[0]);           //IF parent is set already
            if($value->parents[0]==0) {                             //if no any parent taxonomy
                    if(is_object($temp_)==TRUE) {                 //CHECK IF SINGLE iTEM PARENT
                    if(isset($childs[$temp_->name])) {           //if array key is already set 
                            if(is_array($key)!=FALSE) {         //if value is not an array
                    $childs[$temp_->name][$tree_type[$key]->tid]=array($key=>$value->name);  // set the parent child array
                            }
                    }else {
                            if(is_array($key)!=FALSE) {    //if value is not an array
                    $childs[$temp_->name][$tree_type[$key]->tid]=array($key=>$value->name);  // set the parent child array
                            }
                        }
                    }else
                    {
                        $childs[$value->name]=array();
                        $childs[$value->name][$tree_type[$key]->tid]="-".$value->name;
                        //drupal_set_message("-------<pre>".$value->name."</pre>-------");
                        //drupal_set_message("<pre>".print_r($childs,true)."</pre>");
                        }
                }else {
        $childs[$temp_->name][$tree_type[$key]->tid]=$value->name;          //$childs[$temp_->tid]=$temp_->name;
                }
        }
$tree\u type=taxonomy\u get\u tree(3);
$childs[“选定”]=“全部”;
foreach($key=>value的树类型){
$temp=分类法\u术语\u加载($value->parents[0]);//如果已经设置了parent
如果($value->parents[0]==0){//如果没有任何父分类法
如果(is_object($temp_)==TRUE){//检查单个项是否为父项
if(isset($childs[$temp\->name]){//if数组键已设置
if(is_array($key)!=FALSE){//if值不是数组
$childs[$temp->name][$tree\u type[$key]->tid]=array($key=>$value->name);//设置父-子数组
}
}否则{
if(is_array($key)!=FALSE){//if值不是数组
$childs[$temp->name][$tree\u type[$key]->tid]=array($key=>$value->name);//设置父-子数组
}
}
}否则
{
$childs[$value->name]=array();
$childs[$value->name][$tree\u type[$key]->tid]=“-”。$value->name;
//drupal\u set\u消息(“----”$value->name。”----”;
//drupal设置消息(“.print\r($childs,true)。”);
}
}否则{
$childs[$temp->name][$tree\u type[$key]->tid]=$value->name;//$childs[$temp->tid]=$temp->name;
}
}