Como renderizo programaticamente uma exibição com filtros contextuais no Drupal 8?
No Drupal 7, geralmente uso o seguinte código.
$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();
Existe alguma maneira alternativa de conseguir isso no Drupal 8?
Respostas:
Baseando-se no código usado por
views_get_view_result()
, eu usaria o código a seguir, como código equivalente ao que você mostra na pergunta.fonte
:D
drupal_render()
. É o suficiente para você retornar uma matriz renderizável, que até uma classe de controlador pode fazer.drupal_render($content)
it realmente me deu a saída renderizada na saída json ... estou faltando alguma coisa? existe algum lugar para entender o que você acabou de explicar?drupal_render()
, será preterido.fonte
Para obter a saída JSON real da exibição REST Export, você pode fazer algo assim:
fonte