Próbuję pobrać niektóre widoki za pomocą modułu services_views . Niestety, ciągle otrzymuję odpowiedź: „404: Nie znaleziono: Wyświetlenie w widoku moja_nazwa_widoku nie zostało znalezione”.
Korzystam z widoków 3 i zdefiniowałem do testowania widoku z identyfikatorem wyświetlania „strony”. (domyślny identyfikator wyświetlania nie jest już „domyślny”)
Wiem, że muszę przekazać argument display_id, ale po prostu nie mogę go uruchomić.
Oto połączenia, których próbuję użyć:
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"
W definicji zasobu dla usługi jest oczywiste, że parametr display_id należy przekazać jako 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',
),...
Czy jest ktoś, kto zdołał sprawić, by to zadziałało?
Dziękuję Ci.
Odpowiedzi:
Na stronie wydania Drupal.org dla tego modułu ktoś sugeruje, co następuje w przypadku wersji 7.x.
Próbowałem uruchomić to w wersji 6.x, ale jeszcze się nie udało.
źródło
Jeśli masz zainstalowany Firefox lub Firebug, możesz spojrzeć na źródło HTML, aby uzyskać display_id. Zobacz ten zrzut ekranu (i proszę zignoruj mój argument strony!):
źródło
Napotkałem ten sam problem z service_views, aby przekazać argumenty do widoku wywoływanego przez żądanie usług i rozwiązałem go, stosując łatkę w module bez tego, że nie zadziała.
Oto łatka różnicowa z mojego projektu
Nie pamiętam linku do łaty, ale może to pomóc zobaczyć problemy z widokami usług
Jeśli utworzyłeś wyświetlacz usługi dla tego widoku, zobaczyłbyś go jako zasób, który on sam.
Mam nadzieję, że to pomaga
źródło
Szanse są chcesz
display_id=page_1
.display_id
Parametr musi być wewnętrzny id wyświetlacza. AFAIK domyślny wyświetlacz zawsze ma identyfikator „default”.Identyfikatory wszelkich dodatkowych wyświetlanych stron nie są widoczne w interfejsie użytkownika Drupal 6, ale możesz je znaleźć, eksportując widok i patrząc na wynikowy kod.
Każdy ekran jest tworzony za pomocą wywołania, w
$view->new_display()
którym trzecim parametrem jest identyfikator (patrz views_db_object :: new_display ).źródło