[Решено]Проблема с созданием собственного handler'а для вывода поля views.

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

Аватар пользователя chumpasha chumpasha 24 мая 2012 в 17:36

Здравствуйте. У меня возникла маленькая проблема с созданием собственного handler'а для вывода поля. Может кто-то подскажет в чем я ошибся.
Есть модуль который интегрирован со views.
c_ranind.module


<?php
/**
 * Implementation of hook_views_api().
 */
function c_rating_views_api() {
  return array(
    
'api' => 3,
    
'path' => drupal_get_path('module''c_rating') . '/views',
  );
}
?>

views/c_rating.views.inc

<?php
/**
 * Implementation of hook_views_data().
 */
function c_rating_views_data() {
  
$data['c_rating']['table']['group'] = t('Rating');
  
  ...
  
  
$data['c_rating']['sum'] = array(
    
'title' => t('Sum'),
    
'help' => t('The entity sum rating.'),
    
'field' => array(
      
'handler' => 'c_rating_views_handler_field_value',
      
'click sortable' => TRUE,
    ),
  );

  return 

$data;
}

/**
 * Implementation of hook_views_handlers().
 */
function c_rating_views_handlers() {
  return array(
    
'handlers' => array(
      
'c_rating_views_handler_field_value' => array(
        
'parent' => 'views_handler_field',
        
'path' => drupal_get_path('module''c_rating') . '/views',
      ),
    ),
  );
}
?>

views/c_rating_views_handler_field_value.inc

<?php
class c_rating_views_handler_field_value extends views_handler_field {
  function 
render($values) {
    return 
$values;
  }
}
?>

После этого я питаюсь вывести во views поле. Но при добавлении поля на вывод отсутствует его обработчик "Broken/missing handler".
Подскажите, может я что-то не так сделал или допустил где-то ошибку!!!

Комментарии

Аватар пользователя chumpasha chumpasha 24 мая 2012 в 18:28

Решение проблемы оказалось очень простым. )))
Дело в том что в Drupal 7 hook_views_handlers() не существует, он был убран.
Выходом из положения стало подключения "c_rating_views_handler_field_value.inc" в файле .info "files[] = views/c_rating_views_handler_field_value.inc".