помогает? Я нашел это, но еще не пробовал.

дал вид с тремя открытыми фильтрами. Все работает отлично, за исключением того факта, что я не могу ни перевести, ни изменить строку по умолчанию (-Any-) для выпадающих списков. Есть ли способ изменить эту строку на что-то более значимое, например «Пожалуйста, выберите», и сделать ее переводимой, чтобы в немецкой версии отображалось «Bitte wählen»? У меня есть два снимка экрана, которые могут быть полезны:

а также

Еще одним улучшением будет возможность изменить текст «любой» на что-то вроде «пожалуйста, выберите (имя поля здесь)», но я теряю надежду на это =)

ОБНОВИТЬВАЖНО: При дальнейшем тестировании я обнаружил, что если вы решите отображать «-Any-» из «admin / build / views / tools», то ЭТО МОЖЕТ переводиться.

Ответы на вопрос(7)

$(document).ready(function(){

$("#views-exposed-form-url-name-display-name #edit-tid-all a").text("All");

});
 Ege Özcan12 июл. 2011 г., 09:17
Жесткое кодирование строк в выражениях javaScript не кажется хорошей идеей. Это даже легко исправить на стороне сервера. Пожалуйста, смотрите мой комментарий о принятом ответе.

кто хочет просто изменить значение «- Any -» на что-то конкретное, используйте специальный модуль для переопределения, которое выглядит следующим образом:

function yourmodulename_form_alter(&$form, $form_state, $form_id) {

  if($form_state['view']->name == 'your_view_name_here') {

    $form['your_dropdown_name']['#options']['All'] = t('- Type -'); // overrides <All> on the dropdown

  }
}

Возможно, вы захотите сделать это, если у вас есть 3 (например) раскрывающихся списка для 3 отдельных полей. Тогда их использование будет не очень полезным для пользователя (особенно если вы не используете ярлыки).

В приведенном выше коде просто не забудьте изменить «yourmodulename» на имя вашего модуля.

your_view_name_ здесь должно быть имя вашего представления (замените тире подчеркиванием - например, "property-search-bar" станет "property_search_bar")

И измените "your_dropdown_name" на имя поля - я нашел это с помощьюdsm($form) сразви модуль установлен и включен. Обычно это имя поля вашего раскрывающегося списка, так что это может быть что-то вроде «field_my_custom_value».

Надеюсь, это поможет всем, кто в этом нуждается!

 Garry12 февр. 2014 г., 14:14
Это было сделано в Drupal 6 Jeff
 Olivier03 мар. 2015 г., 23:35
Мы также можем использовать быстрый тест, чтобы увидеть, существует ли представление, в противном случае мы получим: Примечание: неопределенный индекс: представление в других формах (таких как модуль поиска ...): if (isset ($ form_state ['view']) && $ form_state ['view'] -> name == 'my_view_name') {/*...*/}
 aendrew18 янв. 2013 г., 15:04
Это лучший вариант, особенно если вам нужен только один переопределенный «любой». На самом деле, то, что это называется, должно быть вариантом.
 Jeff25 янв. 2014 г., 01:18
Это точно для D7?
 Aditya M P21 янв. 2012 г., 19:51
Спасибо :) Однако, не могли бы вы помочь, когда я хочу сделать то же самое с виджетом HS на видимом фильтре, в отличие от выпадающего списка? Где бы в массиве я ни размещал 3-ю строку кода, он не может переопределить опцию Any - не могли бы вы дать мне какие-либо выводы по этому поводу?
Решение Вопроса

Вы можете изменить его с помощью локализации, если она уже включена. Введение локализации только для этой строки слишком много.Вы можете изменить его с помощью form_alter, если вы все равно изменили форму. Представление модуля с hook_form alter только для одной строки - это слишком много (поддержка и производительность).Вы можете изменить его с помощью простого переопределения строки в вашем settings.php

В Drupal 7 (Drupal6 отличается только в деталях)

/**
 * String overrides:
 *
 * To override specific strings on your site with or without enabling locale
 * module, add an entry to this list. This functionality allows you to change
 * a small number of your site's default English language interface strings.
 *
 * Remove the leading hash signs to enable.
 */
$conf['locale_custom_strings_en'][''] = array(
   '<Any>'      => 'Whatever!',
);

Обратите внимание, что это изменитсякаждый появление полной строки<Any> (с учетом регистра) дляWhateverа не только в этой единственной форме.

 octern09 апр. 2012 г., 17:10
Я не могу поверить, что переопределение строк сработало так легко! Спасибо.
 Ege Özcan12 янв. 2011 г., 14:00
ВАЖНО: При дальнейшем тестировании я обнаружил, что если вы решите отображать «-Any-» из «admin / build / views / tools», то ЭТО МОЖЕТ переводиться. Ого, кто бы мог это знать, если бы я не нашел:drupal.org/node/663156#comment-2388514
 Ege Özcan12 янв. 2011 г., 13:35
Я пытался найти его в настройках, но варианты, по меньшей мере, не слишком много:bit.ly/dWCXQo =) Теперь я приму этот ответ в качестве решения, но, возможно, я опубликую ошибку в проекте представлений. Спасибо за помощь.
 Ege Özcan12 янв. 2011 г., 13:21
У меня уже включена локализация (это многоязычный сайт), но когда я ищу "<Any>" (даже "Any"), я не могу найти эту строку, как указано в "/ admin / build / translate / search ». Кстати, я использую Drupal 6, и я обновлю вопрос для очистки этого. Кстати, спасибо за отличное объяснение.
 berkes12 янв. 2011 г., 13:24
Drupal предлагает переводы длякаждый, nonconfigurable строка. Так что либо вы можете изменить строку с помощью параметра конфигурации (часто это происходит в представлениях), либо вы можете изменить его с помощью локализации. Если вы не можете, то это ошибка.

https://www.drupal.org/project/views_advanced_labels помогает? Я нашел это, но еще не пробовал.

Модуль лучше экспонированного фильтра позволяет изменить метку "-any-" в открытом фильтре Views.

выставленные фильтрующим ярлыком, не переводятся в D6. Перейдите в Администрирование> Создание сайта> Представления и выберите инструменты для вкладок. Замените «Метка для значения« Любое »на необязательных открытых фильтрах:« на переводимое »- Любое -». Важно: посещайте представления с открытыми фильтрами хотя бы на одном языке, который не является языком по умолчанию. Затем вы можете перевести «- Любой -» через Aminister> Создание сайта> Перевести интерфейс (с учетом регистра).

 Ege Özcan05 сент. 2011 г., 10:11
Я уже упоминал это в качестве комментария к принятому ответу:stackoverflow.com/questions/4668266/...

Переопределение строк, При этом вы просто добавляете строку, которую хотите изменить на своем сайте, и заменяете ее на что угодно (конечно же, на строки).

Ваш ответ на вопрос