Uff, no me quería meter en este fregado, sobre todo por no liaros más de la cuenta, pero ya que preguntas lo expongo que seguro me va a servir de mucho:
Cuando ves algo como esto
.page-taxonomy-term-170 es la clase que le añade Drupal al <body> y con la clase que me permite diferenciar la página (sección) en la que me encuentro.
publico un fragmento de html del menú simplificado:
Código HTML:
Ver original<body class="page-taxonomy-term-170"> ....
<li id="menu-cortacesped"> <a href="/mi-web/cortacesped" >cortacesped
</a> <li id="menu-cortacesped-hombre-pie"> <a href="/mi-web/cortacesped/cortacesped-hombre-pie">cortacesped hombre a pie
</a> <li id="menu-cortacesped-manuales"><a href="/mi-web/cortacesped/cortacesped-manuales">cortacesped manuales
</a></li> <li id="menu-cortacesped-hombre-pie-baterias"><a href="/mi-web/cortacesped/cortacesped-hombre-pie-baterias" >Hombre a pie baterías
</a></li> <li id="menu-cortacesped-hombre-pie-gasolina"><a href="/mi-web/cortacesped/cortacesped-hombre-pie-gasolina">Hombre a pie gasolina
</a></li> <li id="menu-cortacesped-hombre-pie-por-aspiracion"><a href="/mi-web/cortacesped/cortacesped-hombre-pie-por-aspiracion">Hombre a pie por aspiración
</a></li> <li id="menu-cortacesped-hombre-sentado" > <a href="/mi-web/cortacesped/cortacesped-hombre-sentado" title="Sección maquinaria de cortacesped hombre sentado">cortacesped hombre sentado
</a> <li id="menu-cortacesped-hombre-sentado-baterias" ><a href="/mi-web/cortacesped/cortacesped-hombre-sentado-baterias">Hombre sentado baterías
</a></li> <li id="menu-cortacesped-hombre-sentado-gasolina" ><a href="/mi-web/cortacesped/cortacesped-hombre-sentado-gasolina">Hombre sentado gasolina
</a></li> <li id="menu-cortacesped-hombre-sentado-diesel"><a href="/mi-web/cortacesped/cortacesped-hombre-sentado-diesel">Hombre sentado diesel
</a></li>
......
En este caso, me encuentro en la sección contadesped-manuales (.page-taxonomy-term-170), y lo que hago en el código CSS es que al estar en esta sección, me abra el submenu donde me encuentro "menu-cortacesped-hombre-pie" y su menú padre "menu-cortacesped" (para que se vean ambos).
Fragmento del css solo de estas dos lineas:
Código CSS:
Ver original.page-taxonomy-term-212 #menu-cortacesped > ul,
.page-taxonomy-term-204 #menu-cortacesped > ul,
.page-taxonomy-term-204 #menu-cortacesped #menu-cortacesped-hombre-pie ul,
.page-taxonomy-term-170 #menu-cortacesped > ul,
.page-taxonomy-term-170 #menu-cortacesped #menu-cortacesped-hombre-pie ul,
{
display: block;
}
Como veis en el código, está tabulado por profundidad, si estoy en la sección 170 me debe de abrir la 204 y la 212 que son sus padres. Si estuviera en la 204 solo me debería de abrir la 212.
Lo mismo me estoy complicando demasiado (si algo me caracteriza es de complicarme siempre más de la cuenta), pero no se me ocurría de otra manera de hacerlo para que me funcionara.
Saludos y muchas gracias por tu atención
EDITO:
Para una mejor comprensión os reemplazo los términos de taxonomía por nombre reales( en este caso .page-taxonomy-term-170 por .pagina-cortacesped.
Código CSS:
Ver original.pagina-cortacesped #menu-cortacesped > ul,
.pagina-cortacesped-hombre-pie #menu-cortacesped > ul,
.pagina-cortacesped-hombre-pie #menu-cortacesped #menu-cortacesped-hombre-pie ul,
.pagina-cortacesped-manuales #menu-cortacesped > ul,
.pagina-cortacesped-manuales #menu-cortacesped #menu-cortacesped-hombre-pie ul,