2013-12-16 3 views
0

У меня проблема с представлениями API, я ищу решение более двух недель. Я нашел tutoriels в Интернете, но не способ показать этот фильтр. У меня есть или ошибки SQL или нет сообщения об ошибке, как с этим кодом, но он не отображается в списке фильтров. Не могли бы вы помочь мне? Заранее благодарю за ваши ответы.handler_filter views drupal 7

/** 
* Implements hook_views_data(). 
*/ 
function publication_filter_views_data() { 
    $data = array(); 

    $data['field_data_field_presse_date']['table']['group'] = t('Global'); 
    $data['field_data_field_presse_date']['table']['base'] = array(
    'title' => t('Global'), 
    'field' => 'entity_id' 
); 

    $data['field_data_field_presse_date']['field_presse_date_value'] = array(
    'real field' => 'field_presse_date_value', 
    'title' => i18n_t("Filter Date (Year)"), 
    'help' => i18n_t("Filtre spécifique pour les publications"), 
    'filter' => array(
     'handler' => 'publication_filter_handler_filter', 
    ), 
); 

    $data['field_data_field_presse_date']['table']['join'] = array(
    'node' => array(
      'left_table' => 'field_data_field_presse_date', 
      'left_field' => 'entity_id', 
      'field' => 'nid' 
    ) 
); 
    return $data; 
} 

Thank!

ответ

2
function modulename_views_data() { 
    $data = array(); 
    publication_filter_views_data($data); 
return $data; 
} 


function publication_filter_views_data(&$data) { 
    $data['field_data_field_presse_date']['table']['group'] = t('Global'); 
    $data['field_data_field_presse_date']['table']['base'] = array(
    'title' => t('Global'), 
    'field' => 'entity_id' 
); 

    $data['field_data_field_presse_date']['field_presse_date_value'] = array(
    'real field' => 'field_presse_date_value', 
    'title' => i18n_t("Filter Date (Year)"), 
    'help' => i18n_t("Filtre spécifique pour les publications"), 
    'filter' => array(
     'handler' => 'publication_filter_handler_filter', 
    ), 
); 

    $data['field_data_field_presse_date']['table']['join'] = array(
    'node' => array(
      'left_table' => 'field_data_field_presse_date', 
      'left_field' => 'entity_id', 
      'field' => 'nid' 
    ) 
); 
} 

Попробуйте этот способ для меня.