[FIXED] Поля вывода в VIEW. Как лучше с ними поиграться?

Главные вкладки

Аватар пользователя olejonok olejonok 13 июля 2015 в 19:02

Добрый день.

Подскажите, плиз, вектор приложения усилий дальнейшего изучения DRUPAL. спасибо заранее.

Итак, вьюшка генерирует поля, которые выводятся ...допустим в таблице.

Предистория: в базу данных информация заносится отдельным модулем методом импорта данных.
Другими словами словари таксономии в этом никак не участвуют.

В этой базе данных много числовых полей, которые что-то да обозначают.
Например:
Поле1: 0 - воскресенье, 1- понедельник, 2 - вторник ...
Поле2: 0 - белый, 1 - черный, 2 - фиолетовый...
Поле3: 0 - сухой, 1 - мокрый, 2 - влажный...
И так далее.

Разумеется, выводить во ВЬЮШку буду не "ключи", а значения "ключей".
Где бы мне их централизованно, в каком виде и как хранить, чтобы ими можно было легко воспользоваться?

Засунуть в словари таксономии? Но там они получат свои коды, даже с учетом локализации. Кстати, про локализацию на будущее тоже надо учесть. В разных языках хочется видеть "белый" , "white" соответственно.

Что скажет гуру? Куда ветры дуют? Куда правильно приложить усилия?

Моя благодарность не знает границ.

Комментарии

Аватар пользователя serega111 serega111 13 июля 2015 в 19:41

Писать кастомный модуль с views_handler'ом, который будет перед выводом менять ключи на значения. Какой именно handler нужно реализовать точно сказать не могу, давно с кодом views не работал. Стоит посмотреть в исходники views и разобраться, какие handler'ы отрабатывают при выводе вьюхи.
А насчет локализации - используйте t(), потом переводите в админке на нужные языки

Аватар пользователя olejonok olejonok 13 июля 2015 в 19:56

Да, тоже вот yandex пролистываю hook_views_handlers в надежде глазами за что-то полезное зацепиться Smile
Какой-нибудь бы модулек похожий найти Smile для адаптации.

Аватар пользователя olejonok olejonok 14 июля 2015 в 2:27

Поставил модулек.

Простой как 3 копейки Smile

Всем хорош, правда имена дает новым полям НЕИНФОРМАТИВНЫЕ к сожалению :

1 : replace_value :
1 : replace_value_1 :
1 : replace_value_2 :

хотелось бы
1 : replace_value_fruit :
1 : replace_value_fresh :
1 : replace_value_country :

...как это сделать в исходнике, я правда, пока не понял.

Аватар пользователя olejonok olejonok 15 июля 2015 в 12:20

...дальше тестируем модулек...

если мы захотим обозначить заменяемое поле как:
0=>ZERO
1=>ONE
2=>TWO

то все Ок. не спорим.

А вот захотим обозначить с учетом локализации:
0=>t(ZERO)
1=>t(ONE)
2=>t(TWO)

Получим строку "t(ZERO)" Smile

Как бы его подправить???

Аватар пользователя olejonok olejonok 15 июля 2015 в 12:25

Кажется можно здесь:
в ...replace_value.inc
***
$form['replace_values'] = array(
'#type' => 'textarea',
'#title' => t('Replaced values'),
'#description' => t('One replace value to line. Format: from=>to. Example:
1=>One<br />2=>Two'),
'#default_value' => t($this->options['replace_values']),
);
***

Но это похоже работать не будет... думаем дальше

Аватар пользователя olejonok olejonok 17 июля 2015 в 11:10

Модулек хорош, но это если по-быстрому.
Поэтому пришлось свои написать для каждого поля через views_handler_field.
Вопрос закрыт.