我有分类术语层次结构,我将它们用作视图中的过滤器。它在选择框中显示层次结构,但子项用连字符( - )显示。我试图在形式中删除连字符,我做了,但我无法替换它的空白区域。
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++;
}
}
如何在子选项的开头添加空格。或者我应该采取其他方式吗? 谢谢!
答案 0 :(得分:0)
从form_id我得到它是由视图生成的表单。如果是这样,if
条件内的代码永远不会被调用,因为由于两个模块的权重,您的模块在视图模块之后执行。解决这个问题:
在大多数情况下打开数据库管理器(PhpMyAdmin)并打开system
表。
然后将模块的权重更改为大于10的值,因为它是视图模块的默认权重,您需要在视图模块之后执行模块。
希望这有帮助......穆罕默德。
答案 1 :(得分:0)
如果问题是你的钩子被调用时,答案就在于
hook_module_implements_alter()
但它并不像你说的那样。你的代码看起来很好, 你试过吗
str_replace("-"," ", $arr);