Estoy tratando de obtener algunas vistas con el módulo services_views . Lamentablemente, sigo recibiendo la respuesta: "404: No encontrado: no se pudo ver la vista de mi_nombre_vista".
Estoy usando Vistas 3 y definí para probar una vista con una identificación de pantalla 'página'. (la ID de pantalla predeterminada ya no es una "predeterminada")
Sé que tengo que pasar el argumento display_id pero simplemente no puedo hacer que funcione.
Aquí están las llamadas que estoy tratando de usar:
http://www.mywebsite.com/rest/views/my_view_name.json?display_id="page"
http://www.mywebsite.com/rest/views/my_view_name.json?display_id=page
http://www.mywebsite.com/rest/views/my_view_name.json?parameters[display_id]="page"
http://www.mywebsite.com/rest/views/my_view_name.json?args[display_id]="page"
En la definición de recursos para el servicio, está claro que display_id debe pasarse como argumento.
'args' => array(
'view_name' => array(
'name' => 'view_name',
'type' => 'string',
'description' => 'The name of the view to get.',
'source' => array('path' => '0'),
'optional' => FALSE,
),
'display_id' => array(
'name' => 'display_id',
'type' => 'string',
'description' => 'The display ID of the view to get.',
'source' => 'param',
'optional' => TRUE,
'default value' => 'default',
),...
¿Hay alguien que logró hacer que esto funcione?
Gracias.
Respuestas:
En una página de edición de Drupal.org para este módulo, alguien sugiere lo siguiente para la versión 7.x.
He estado tratando de hacer que esto funcione en 6.x pero aún no lo he logrado.
fuente
Si tiene instalado Firefox o Firebug, puede mirar la fuente HTML para obtener el display_id. Vea esta captura de pantalla (¡e ignore el argumento de mi página!):
fuente
Enfrenté el mismo problema con services_views para pasar argumentos a una vista llamada por solicitud de servicios y lo resolví aplicando un parche en el módulo sin que no funcione.
Aquí hay un parche de diferencias de mi proyecto
No recuerdo el enlace al parche, pero eso puede ayudar a ver los problemas de las vistas de los servicios.
Si creó una pantalla de servicio para la vista, la vería como un recurso en sí mismo.
Espero que ayude
fuente
Lo más probable es que quieras
display_id=page_1
. Eldisplay_id
parámetro debe ser la identificación interna de la pantalla. AFAIK la pantalla predeterminada siempre tiene id 'default'.Las identificaciones de las pantallas de página adicionales que cree no están visibles en la interfaz de usuario de Drupal 6, pero puede encontrarlas haciendo una exportación en su vista y mirando el código resultante.
Cada pantalla se crea con una llamada a
$view->new_display()
donde el tercer parámetro es el id (ver views_db_object :: new_display ).fuente