J'essaie de récupérer des vues avec le module services_views . Malheureusement, je reçois toujours la réponse: "404: Introuvable: L'affichage sur la vue my_view_name est introuvable".
J'utilise Views 3 et j'ai défini pour tester une vue avec un identifiant d'affichage de «page». (l'ID d'affichage par défaut n'est plus un "défaut")
Je sais que je dois passer l'argument display_id mais ne peux tout simplement pas le faire fonctionner.
Voici les appels que j'essaie d'utiliser:
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"
Dans la définition de ressource pour le service, il est clair que display_id doit être passé en argument.
'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',
),...
Y a-t-il quelqu'un qui a réussi à faire fonctionner ça?
Je vous remercie.
Réponses:
Sur une page de problème Drupal.org pour ce module, quelqu'un suggère ce qui suit pour la version 7.x.
J'ai essayé de faire fonctionner cela sur 6.x mais je n'ai pas encore réussi.
la source
Si vous avez installé Firefox ou Firebug, vous pouvez regarder la source HTML pour obtenir le display_id. Voir cette capture d'écran (et veuillez ignorer mon argument de page!):
la source
J'ai rencontré le même problème avec services_views pour passer des arguments à une vue appelée par la demande de services et je l'ai résolu en appliquant un correctif dans le module sans que cela ne fonctionne pas.
Voici un patch diff de mon projet
Je ne me souviens pas du lien vers le correctif, mais cela peut aider à voir les vues des services sur les problèmes d'arguments
Si vous créiez un affichage de service pour la vue, vous le verriez comme une ressource elle-même.
J'espère que cela pourra aider
la source
Les chances sont que vous voulez
display_id=page_1
. Ledisplay_id
paramètre doit être l' identifiant interne de l'affichage. AFAIK l'affichage par défaut a toujours l'identifiant «par défaut».Les identifiants de toute page supplémentaire que vous créez ne sont pas visibles dans l'interface utilisateur de Drupal 6, mais vous pouvez les trouver en effectuant une exportation sur votre vue et en consultant le code résultant.
Chaque affichage est créé avec un appel à l'
$view->new_display()
endroit où le troisième paramètre est l'id (voir views_db_object :: new_display ).la source