Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 7 更改默认值'-任何';在Drupal 7公开视图下拉选择过滤器中_Drupal 7_Views_Drupal Exposed Filter - Fatal编程技术网

Drupal 7 更改默认值'-任何';在Drupal 7公开视图下拉选择过滤器中

Drupal 7 更改默认值'-任何';在Drupal 7公开视图下拉选择过滤器中,drupal-7,views,drupal-exposed-filter,Drupal 7,Views,Drupal Exposed Filter,我想更改Drupal7视图用于公开下拉过滤器的默认“-Any-”文本 根据这条线索中的答案 我已经创建了一个名为any_的模块,该模块通过一个hook form alter公开: function any_exposed_form_alter(&$form, &$form_state, $form_id) { if ($form['#id'] == 'views-exposed-form-vendors-page') { $form['field_vendor_type_t

我想更改Drupal7视图用于公开下拉过滤器的默认“-Any-”文本

根据这条线索中的答案

我已经创建了一个名为any_的模块,该模块通过一个hook form 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'); } }
但所做的只是在下拉列表中为“一切”添加另一个选项,它不会覆盖/转换“-Any-”。为了测试,我补充道:

$form['submit']['#value'] = t('Search');

这会将提交按钮的文本从“应用”更改为“搜索”,效果很好。万一你说不出来,我算不上是个程序员,但我想我肯定错过了一些简单的东西。任何帮助都将不胜感激

这是一篇老文章,但如果你还在寻找,或者有人来这里寻找答案。”“全部”必须是“全部”,如中所示

$form['field_vendor_type_tid']['#options']['All'] = t('Everything');

由于数组有一个成员'All'而不是'All'(此处大小写很重要),因此在您想要覆盖'All'时,您正在添加一个成员'All'。

使用hook\u form\u view\u exposed\u form\u alter代替hook\u form\u 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');
  }
}
在将
ALL
更改为
ALL

后,该模块工作正常。我建议使用该模块,它允许您通过视图UI界面轻松完成此操作

  • 安装并启用该模块
  • 编辑视图,然后单击“公开表单>公开表单样式”
  • 选择“更好的暴露过滤器”
  • 单击“更多选项”
  • 更改“覆盖”任何“选项标签”的值

  • 欢迎来到堆栈溢出!这似乎没有给先前的答案增加任何东西;如果你只是在说谢谢,请不要这样回答。在网站上投入一些时间,你将获得足够的投票结果,这是表示感谢的堆栈溢出方式。
    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'); } }