Creé un bloque de vista, cuyo nombre de máquina es "noticias".
¿Cómo lo visualizo usando module_invoke()
y el nombre de la máquina de la vista?
Uso views_embed_view()
:
echo views_embed_view('view_machine_name', 'block_1');
Puede encontrar el nombre para mostrar haciendo clic en la pestaña y verifique su nombre en la barra de direcciones de su navegador: #views-tab-block_1
le da block_1
.
{{ drupal_view('view_machine_name', 'block_1') }}
Si desea pasar un parámetro a la vista, use:
Por ejemplo:
o:
fuente
La respuesta de tostinni es la correcta en la mayoría de los casos. Sin embargo, si desea incluir el título Ver, es un poco más feo.
De la
views_embed_view()
documentación:Por ejemplo:
Actualizado : @rojosnow señaló que los documentos señalan que debe obtener la vista previa antes de llamar,
get_title()
así que he cambiado esas dos líneas.fuente
Esto funcionó para mí:
// y lo llamé en html así //
fuente
Tenga en cuenta que, para mí, se llama al bloque predeterminado (sin nombre) en
block
lugar deblock_1
:fuente
También aprovechando la respuesta de tostinni:
Si no desea que se muestre ningún HTML si la vista no tiene resultados. Además, agregue un título, pero solo si hay resultados.
fuente
Puede representar su bloque en lugar de representar las vistas con el siguiente código.
fuente
Desde mi propia experiencia, puede transformar una ruta a un título o contenido de vista con una función como la siguiente.
Para representar la vista, use en
$view->render()
lugar de$view->get_title()
.Seguro, hasta que llamé correctamente
$view->execute()
, nada funcionó bien. Obtendría cadenas vacías (tal vez nulas) como valores de retorno.fuente