Drupal 6 views field hanlder для двух полей - PullRequest
0 голосов
/ 02 марта 2011

В моем пользовательском модуле у меня есть такая таблица:

aid       | int(10) unsigned
message   | mediumtext 
variables | mediumtext 

Это похоже на схему для сторожевого таймера.

Я хочу открыть поле сообщения для представлений (hook_views_data), но через обработчик, который переводит его с полем переменных. Как то так:

t($message, unserialize($variables))

Кто-нибудь знает, как объединить два поля и использовать для этого обработчик поля?

Вот мои данные hook_views_ 1011 *

/**
 * Implementation of hook_views_data().
 */
function mymodule_views_data() {
  $data['gccsi_activity']['aid'] = array(
    'title' => t('Unique ID'),
    'help' => t('The unique id'),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
  );
  $data['gccsi_activity']['message'] = array(
    'title' => t('Message'),
    'help' => t('The message...'),
    'sort' => array(
      'handler' => 'views_handler_sort',
    )
    //here is where I want to create a handler that combines two fields
  );
  return $data;
}

Спасибо

Ответы [ 2 ]

1 голос
/ 02 марта 2011

Если вы реализовали hook_views_data, вы можете установить используемый обработчик.

$data['table']['column']['id']['field'] = array(
  'handler' => 'yourmodule_handler_field_column',
);

Затем вы реализуете hook_views_handlers, чтобы зарегистрировать используемый обработчик.

Затем вы напишите свой обработчик и выполните следующие шаги,Предположим, у вас есть один для сообщения

a) в конструкции метода, которую вы делаете

$this->additional_fields['variables'] = 'variables';

b) в методе render выполните ваши предыдущие действия

t($values->{$this->field_alias}, unserialize($values->{$this->aliases['variables']}));

Представления продвинутыеСправочная часть - хорошее место для поиска общей информации о viewsapi

0 голосов
/ 11 мая 2011

Насколько я знаю, класс обработчика должен жить в своем собственном файле.

...