В этом уроке я покажу как в Drupal 7 select (views) заменить значение -Any- (любой), -All- (все) на своё. Для того чтобы изменить первый элемент -Любой- (-Any-, -All-) во views в select (exposed filters) нужно прописать свой код в файле template.php. Файл template.php должен располагаться в корневой папке вашего шаблона (sites\all\themes\НазваниеВашейТемы или в папке theme)
function НазваниеВашейТемы_form_alter(&$form, $form_state, $form_id) {
if($form_state['view']->name == 'МашиноеИмяВьювс') {
$form['ИмяСелекта']['#options']['All'] = t('ВашеЗначение');
}
}
НазваниеВашейТемы — Вместо этого нужно прописать название вашей темы к примеру если у вас тема garland, то вы должны прописать garland_form_alter
МашиноеИмяВьювс — Машиное имя задается при создание views
ИмяСелекта — Имя селекта можно узнать через утилиту firebug, либо открыть код в браузере и посмотреть. Имя селекта находится в атрибуте name
ВашеЗначение — Вместо этого значения нужно вставить свое. У меня к примеру в выпадающем списке были цвета и вместо первого элемента Любой я поставил Цвет и вот что у меня получилось.
Пример:
Допустим у меня есть тема с названием alisa тогда код будет выглядеть следующим образом
function alisa_form_alter(&$form, $form_state, $form_id) {
if($form_id=='views_exposed_form'){
if($form_state['view']->name == 'catalog') {
$form['field_collection_tid']['#options']['All'] = t('Производитель');
}
}
}



Работает, но ругается:
Notice: Undefined index: view в функции НазваниеВашейТемы_form_alter() (строка 148 в файле…template.php).
Notice: Trying to get property of non-object в функции НазваниеВашейТемы_form_alter()
Я внес изменения в статью добавил дополнительный пример посмотрите и попробуйте сделать еще раз
У меня почему-то подставленное значение на сайте выводит только латинскими буквами, кириллицей пишу оставляет пустое поле. Что делать?
Нужно перевести сам php файл в кодировку utf-8 если это не поможет, то нужно добавить мета-тэг
На drupal 7 не работает