restui estructura drupal drupal-7 drupal-views

drupal - estructura - hook_views_handlers no se llama



drupal 8 restui (4)

Mi hook_views_handlers () no se está llamando. Intenté borrar el caché, reinstalar el módulo, etc. He agregado las llamadas a watchdog () para ver si se llama, y ​​nunca lo hace.

Este campo expone un contador con el mismo tipo de contador de visitas de código que usa:

Puedo agregar el campo a la vista, pero una vez que lo agregue, solo se muestra como "Roto / Perdido"

Los 3 de estos archivos están en la raíz del directorio del módulo funwithviews. Aquí está el código relavent.

¿Algo parece fuera de lugar?

Esto existe en: funwithviews.module

/** * Implements hook_views_api(). */ function funwithviews_views_api() { return array( ''api'' => 3.0 ); }

Esto existe en: funwithviews.views.inc

/** * Implementation of hook_views_data() */ function funwithviews_views_data() { $data[''fwv''][''table''][''group''] = t(''FunSpace''); $data[''fwv''][''table''][''join''] = array( ''#global'' => array(), ); $data[''fwv''][''counter''] = array( ''title'' => t(''Fun counter''), ''help'' => t(''This counter is more fun than the other one.''), ''field'' => array( ''handler'' => ''funwithviews_handler_field_fwv_counter'', ), ); return $data; } /** * Implements of hook_views_handlers(). */ function funwithviews_views_handlers() { return array( ''info'' => array( ''path'' => drupal_get_path(''module'', ''funwithviews''), ), ''handlers'' => array( ''funwithviews_handler_field_fwv_counter'' => array( ''parent'' => ''views_handler_field'', ), ), ); }

Esto existe en: funwithviews_handler_field_fwv_counter.inc

class funwithviews_handler_field_fwv_counter extends views_handler_field {


Lo conseguí trabajando al definir los archivos de vistas en mi archivo .info.

files[] = funwithviews.views.inc files[] = funwithviews_handler_field_fwv_counter.inc

hook_views_handlers () ya no está en Views.



Es un trabajo pero si pones un die(''something''); en hook_handlers no se llama. esta es una forma complicada y no es una forma estándar.

/** * Implements of hook_views_handlers(). */ function funwithviews_views_handlers() { die(''something''); return array( ''info'' => array( ''path'' => drupal_get_path(''module'', ''funwithviews''), ), ''handlers'' => array( ''funwithviews_handler_field_fwv_counter'' => array( ''parent'' => ''views_handler_field'', ), ), ); }

tal vez porque su nombre de módulo (final con vistas), drupal hook parser no lo detecta correctamente. Tengo exactamente este problema. (Mi nombre de módulo terminó con vistas my_module ).


archivos [] = funwithviews.views.inc
archivos [] = funwithviews_handler_field_fwv_counter.inc

La primera línea no es necesaria. Solo segundo. En Drupal 7 puede incluir archivos en el archivo .info solo con Class.
El archivo funwithviews.views.inc incluirá automáticamente a través de hook_views_api en Your .module file.