¿Cómo mostrar las páginas hermanas excepto la página actual en drupal 7?
drupal-7 drupal-views (2)
Agregue un nid de filtro contextual en ambas páginas, seleccione de forma predeterminada el id. De contenido de la url y, a continuación, descienda la opción de verificación de exclusión de la sección de adelanto.
Supongamos que tengo páginas principales A1 y B1. A1 tiene páginas secundarias A1.1, A1.2, A1.3 y B1 tiene páginas secundarias B1.1, B1.2.
Cuando esté en la página A1.1, podré mostrar A1.2 y A1.3. Lo mismo para A1.2, podré ver A1.1 y A1.3.
Si estoy en la página B1.1, veré B1.2 y viceversa.
Nota: cada página tiene una imagen y un título. Quiero obtener una solución usando vistas.
Este hilo puede estar enlazado a este enlace si necesitamos las páginas secundarias: ¿Cómo listar todas las páginas secundarias de la página principal actual en drupal 7?
Logré hacerlo creando una vista con el siguiente código php en el filtro contextual
$sibbling = array();
$current = db_query("select menu_name, mlid from {menu_links} where link_path = :node", array('':node'' => $_GET[''q'']));
$current_info = array();
foreach ($current as $value) {
$current_info[] = $value;
}
if($current_info) {
$result = db_query("select mlid, plid, link_path, link_title from {menu_links} where link_path != :node and plid = ( select plid FROM {menu_links} WHERE link_path =:node)", array('':node'' => $_GET[''q'']));
foreach ($result as $row) {
$sibbling[] = $row;
}
}
$nids = array();
foreach ($sibbling as $value){
if( substr( $value->link_path, 0, 5 ) == ''node/'' ){
$nids[] = substr( $value->link_path, 5 );
}
}
return implode(''+'',$nids);
Y finalmente en las opciones más, tenemos que marcar "Permitir valores múltiples"
Guardar y listo ;-)