Jak programowo renderować widok z filtrami kontekstowymi w Drupal 8?
W Drupal 7 zazwyczaj używam następującego kodu.
$view = views_get_view('test_view'); //test_view is the view machine name
$view->set_display("block"); //block is the view display name
$view->set_arguments($tid); //$tid is the argument to pass
$view->pre_execute();
$view->execute();
$content = $view->render();
Czy jest jakiś alternatywny sposób na osiągnięcie tego w Drupal 8?
Odpowiedzi:
Opierając się na kodzie używanym przez
views_get_view_result()
, użyłbym następującego kodu, jako kodu równoważnego kodowi pokazanemu w pytaniu.źródło
:D
drupal_render()
. Wystarczy zwrócić tablicę do renderowania, co może zrobić nawet klasa kontrolera.drupal_render($content)
go przekazałem faktycznie dało mi renderowane wyjście na wyjściu json ... czy coś mi brakuje? czy jest miejsce na zrozumienie tego, co właśnie wyjaśniłeś?drupal_render()
, będzie przestarzałe.źródło
Aby uzyskać rzeczywiste wyjście JSON ekranu eksportu REST, możesz zrobić coś takiego:
źródło