drupal drupal-7 drupal-views drupal-contextual-filters

¿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 ;-)