在 Drupal 7 公开视图下拉选择器过滤器中更改默认“-Any-”
Posted
技术标签:
【中文标题】在 Drupal 7 公开视图下拉选择器过滤器中更改默认“-Any-”【英文标题】:Change default '-Any-' in Drupal 7 exposed views dropdown selector filter 【发布时间】:2012-05-17 20:13:07 【问题描述】:我想更改 Drupal 7 视图用于公开下拉过滤器的默认“-Any-”的文本。
根据本帖中的回答,
How to change the label of the default value (-Any-) of an exposed filter in Drupal Views?
我创建了一个名为 any_exposed 的模块,带有一个钩子形式 alter:
function any_exposed_form_alter(&$form, &$form_state, $form_id)
if ($form['#id'] == 'views-exposed-form-vendors-page')
$form['field_vendor_type_tid']['#options']['ALL'] = t('Everything');
但所做的只是在下拉列表中为“Everything”添加另一个选项,它不会覆盖/翻译“-Any-”。只是为了测试我添加了:
$form['submit']['#value'] = t('Search');
这会将“提交”按钮的文本从“应用”更改为“搜索”,效果很好。万一你不知道,我不是一个程序员,但我想我一定错过了一些简单的东西。任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:这是一篇旧帖子,但如果您仍在寻找或寻找任何来此寻找答案的人。 'ALL' 必须是 'All',如
$form['field_vendor_type_tid']['#options']['All'] = t('Everything');
由于数组有一个成员 'All' 而不是 'ALL'(大小写在此很重要),因此您要添加一个成员 'ALL' 而要覆盖 'All'。
【讨论】:
【参考方案2】:使用 hook_form_views_exposed_form_alter 代替 hook_form_alter。
function hook_form_views_exposed_form_alter(&$form, $form_state, $form_id)
if ($form_id == 'views_exposed_form')
$form['tid']['#options']['All'] = t('Search');
【讨论】:
【参考方案3】:function any_exposed_form_alter(&$form, &$form_state, $form_id)
if ($form['#id'] == 'views-exposed-form-vendors-page')
$form['field_vendor_type_tid']['#options']['ALL'] = t('Everything');
将ALL
更改为All
后完美运行。
【讨论】:
欢迎来到 Stack Overflow!这似乎没有为之前的答案添加任何内容;如果您只是对此表示感谢,请不要这样做作为回答。在网站上投入一些时间,您将获得足够的 privileges 来为您喜欢的答案投票,这是 Stack Overflow 表达谢谢的方式。【参考方案4】:我推荐使用Better Exposed Filters 模块,它允许您通过 Views UI 界面简单地做到这一点。
-
安装和启用模块
编辑您的视图,然后点击“公开表单 > 公开表单样式”
选择“更好的暴露滤镜”
点击“更多选项”
更改“覆盖“任何”选项标签”的值
【讨论】:
以上是关于在 Drupal 7 公开视图下拉选择器过滤器中更改默认“-Any-”的主要内容,如果未能解决你的问题,请参考以下文章