Cuando hay dos tipos de contenidos relacionados entre ellos, muchas veces nos gustaría que en el mismo nodo se pudiese ver también algunos datos de los relacionados.
Ésto se puede conseguir de varias formas, empezando por las vistas con argumentos y usando éstas en los paneles.. lo único que conlleva al problema de ir creando menús y paneles a medida.. Por lo que la mejor idea es la de las vistas embebidas.
Pasos para crear vistas embebidas (en este ejemplo el tipo de contentido "reunión" dependerá de "proyecto"):
<?php
// cargar los 'metadata'
global $current_view;
// define el nid del nodo como el argumento
$current_view->args[0]=$node->nid;
// selecciona la vista para la view1
$view1 = views_get_view('nombre_de_la_vista');
// Añade clase
print '<div class="clase_vista">';
// El titulo de la vista incrustada
print '<h2>' . 'Título' . '</h2>';
// envia los argumentos de la vista y pinta el resultado en el contenido
$vista = (views_build_view('embed', $view1, $current_view->args, false,
false));
if ($vista) { print $vista; }
else { print 'No hay ...'; }
print '</div>';
?>
Y ya está, y de esta forma se pueden incrustar todas las vistas que se desean en los tipos de contenidos
En los casos en los que se añadan bastantes vistas (un ejemplo reuniones, documentos, tareas..) para poder acceder rápidamente al apartado que nos interese recomendamos la utilización de anclas.
Al comienzo del documento se pondrian los enlaces:
<div class="proyectos_anclas" >
<a href="#documentos">Documentos</a>
<a href="#tareas">Tareas</a>
<a href="#reuniones">Reuniones</a>
<a href="#bonos">Bonos</a>
</div> ?> <div class="proyectos_anclas_titulos"> <a name="tareas">Tareas</a> </div> <?php
Basado en el artículo:
context-sensitive embedded views
Ejemplo:
