添加空格以选择表单中的选项

时间:2012-11-15 10:45:48

标签: drupal drupal-7 drupal-modules drupal-views drupal-forms

我有分类术语层次结构,我将它们用作视图中的过滤器。它在选择框中显示层次结构,但子项用连字符( - )显示。我试图在形式中删除连字符,我做了,但我无法替换它的空白区域。

if ($form_id == 'views_exposed_form') {
        $i = 0;
        foreach ($form['field_region_tid']["#options"] as $op) {
            foreach ($op->option as $key => $arr) {
                if ($arr != null) {
                    $form['field_region_tid']["#options"][$i]->option[$key] = str_replace("-"," ", $arr);

                }

            }
            $i++;
        }

    }

如何在子选项的开头添加空格。或者我应该采取其他方式吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

从form_id我得到它是由视图生成的表单。如果是这样,if条件内的代码永远不会被调用,因为由于两个模块的权重,您的模块在视图模块之后执行。解决这个问题:

  1. 在大多数情况下打开数据库管理器(PhpMyAdmin)并打开system表。

  2. 然后将模块的权重更改为大于10的值,因为它是视图模块的默认权重,您需要在视图模块之后执行模块。

  3. 希望这有帮助......穆罕默德。

答案 1 :(得分:0)

如果问题是你的钩子被调用时,答案就在于

hook_module_implements_alter()

但它并不像你说的那样。你的代码看起来很好, 你试过吗

str_replace("-"," ", $arr);