Добрый день.
Подскажите, плиз, вектор приложения усилий дальнейшего изучения DRUPAL. спасибо заранее.
Итак, вьюшка генерирует поля, которые выводятся ...допустим в таблице.
Предистория: в базу данных информация заносится отдельным модулем методом импорта данных.
Другими словами словари таксономии в этом никак не участвуют.
В этой базе данных много числовых полей, которые что-то да обозначают.
Например:
Поле1: 0 - воскресенье, 1- понедельник, 2 - вторник ...
Поле2: 0 - белый, 1 - черный, 2 - фиолетовый...
Поле3: 0 - сухой, 1 - мокрый, 2 - влажный...
И так далее.
Разумеется, выводить во ВЬЮШку буду не "ключи", а значения "ключей".
Где бы мне их централизованно, в каком виде и как хранить, чтобы ими можно было легко воспользоваться?
Засунуть в словари таксономии? Но там они получат свои коды, даже с учетом локализации. Кстати, про локализацию на будущее тоже надо учесть. В разных языках хочется видеть "белый" , "white" соответственно.
Что скажет гуру? Куда ветры дуют? Куда правильно приложить усилия?
Моя благодарность не знает границ.
Комментарии
Писать кастомный модуль с views_handler'ом, который будет перед выводом менять ключи на значения. Какой именно handler нужно реализовать точно сказать не могу, давно с кодом views не работал. Стоит посмотреть в исходники views и разобраться, какие handler'ы отрабатывают при выводе вьюхи.
А насчет локализации - используйте t(), потом переводите в админке на нужные языки
Да, тоже вот yandex пролистываю hook_views_handlers в надежде глазами за что-то полезное зацепиться
Какой-нибудь бы модулек похожий найти для адаптации.
http://xandeadx.ru/blog/drupal/726
Ух. Прикольно Такое ощущение что доктор прописал завтра буду изучать. благодарю!
Поставил модулек.
Простой как 3 копейки
Всем хорош, правда имена дает новым полям НЕИНФОРМАТИВНЫЕ к сожалению :
1 : replace_value :
1 : replace_value_1 :
1 : replace_value_2 :
хотелось бы
1 : replace_value_fruit :
1 : replace_value_fresh :
1 : replace_value_country :
...как это сделать в исходнике, я правда, пока не понял.
...дальше тестируем модулек...
если мы захотим обозначить заменяемое поле как:
0=>ZERO
1=>ONE
2=>TWO
то все Ок. не спорим.
А вот захотим обозначить с учетом локализации:
0=>t(ZERO)
1=>t(ONE)
2=>t(TWO)
Получим строку "t(ZERO)"
Как бы его подправить???
Кажется можно здесь:
в ...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']),
);
***
Но это похоже работать не будет... думаем дальше
Модулек хорош, но это если по-быстрому.
Поэтому пришлось свои написать для каждого поля через views_handler_field.
Вопрос закрыт.