Ich versuche, einige Ansichten mit dem Modul services_views abzurufen . Leider erhalte ich immer wieder die Antwort: "404: Nicht gefunden: Anzeige in Ansicht my_view_name konnte nicht gefunden werden".
Ich verwende Ansichten 3 und habe zum Testen eine Ansicht mit einer 'Seiten'-Anzeige-ID definiert. (Standardanzeige-ID ist keine "Standard" mehr)
Ich weiß, dass ich das Argument display_id übergeben muss, aber es kann einfach nicht funktionieren.
Hier sind die Anrufe, die ich verwenden möchte:
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"
In der Ressourcendefinition für den Service ist klar, dass display_id als Argument übergeben werden muss.
'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',
),...
Gibt es jemanden, der es geschafft hat, diese Arbeit zu machen?
Vielen Dank.
Antworten:
Auf einer Drupal.org- Problemseite für dieses Modul schlägt jemand Folgendes für die 7.x-Version vor.
Ich habe versucht, dies auf 6.x zum Laufen zu bringen, aber es ist mir noch nicht gelungen.
quelle
Wenn Sie Firefox oder Firebug installiert haben, können Sie in der HTML-Quelle die display_id abrufen. Sehen Sie sich diesen Screenshot an (und ignorieren Sie bitte mein Seitenargument!):
quelle
Ich hatte das gleiche Problem mit services_views, um Argumente an eine Ansicht zu übergeben, die von services request aufgerufen wurde, und ich habe es gelöst, indem ich einen Patch im Modul angewendet habe, ohne dass dies nicht funktioniert.
Hier ist ein Diff-Patch aus meinem Projekt
Ich erinnere mich nicht an den Link zum Patch, aber das kann helfen, Probleme mit den Ansichten der Dienste anzuzeigen
Wenn Sie eine Serviceanzeige für die Ansicht erstellt haben, wird diese als Ressource selbst angezeigt.
Ich hoffe, das hilft
quelle
Die Chancen stehen gut, dass Sie wollen
display_id=page_1
. Derdisplay_id
Parameter muss die interne ID der Anzeige sein. AFAIK Die Standardanzeige hat immer die ID 'Standard'.Die IDs aller zusätzlichen Seitenanzeigen, die Sie erstellen, sind in der Drupal 6-Benutzeroberfläche nicht sichtbar. Sie können sie jedoch herausfinden, indem Sie Ihre Ansicht exportieren und den resultierenden Code anzeigen.
Jede Anzeige wird mit einem Aufruf erstellt,
$view->new_display()
bei dem der dritte Parameter die ID ist (siehe views_db_object :: new_display ).quelle