0

我正在尝试显示分类下拉菜单,例如

Term 1
--Term 2
--Term 3
Term 4

在暴露的过滤器分类下拉列表中。

现在儿童选项就像

-Term 2
-Term 3

有没有办法在分类下拉菜单中的儿童术语前添加这个额外的“-”?

4

1 回答 1

1

您可以使用 form_alter 来修改公开的表单。可能是这样的。

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
 if ($form_id == 'views_exposed_form') {
   $category = $form['taxonomy_id']['#options'];
   foreach ($category as $tids => $value) {
      $options = $value->option;
      foreach ($options as $key => $value) {
       preg_match_all("/^\-.*/", $value, $matches);
       $match_found = $matches[0][0];
        // child elements only.
        if (!empty($match_found)) {
          $form['taxonomy_id']['#options'][$tids]->option[$key] = "-" . $match_found
        }
      }
    }
 }
}
于 2013-09-06T10:23:52.167 回答