Navegación ampliada por defecto
-
16-10-2019 - |
Pregunta
Utilizo el profesional del menú de navegación de la barra lateral para Magento por Codnitive y estoy tratando de expandirlo de forma predeterminada. En particular, necesito una solución para que solo el primer elemento de lista se expandiera de forma predeterminada. Aquí está el código:
<script type="text/javascript" language="javascript">
//<![CDATA[
Codnitive = {
expandMenu: function(parent)
{
var mode = parent.getElementsByTagName("ul")[0].getAttribute("expanded");
(mode == 1) ? Codnitive.collapse(parent) : Codnitive.expand(parent);
},
expand: function(parent)
{
parent.getElementsByTagName("ul")[0].style.display = "block";
parent.getElementsByTagName("span")[0].style.backgroundPosition = "right center";
parent.getElementsByTagName("ul")[0].setAttribute("expanded", "1");
},
collapse: function(parent)
{
parent.getElementsByTagName("ul")[0].style.display = "none";
parent.getElementsByTagName("span")[0].style.backgroundPosition = "left center";
parent.getElementsByTagName("ul")[0].setAttribute("expanded", "0");
}
};
//]]>
</script>
En otro foro había la sugerencia de usar:
Codnitive.expand(document.getElementById('the-menu-parent-element-id'));
¿Dónde debo escribir exactamente este código para que funcione? Lo siento, pero no estoy familiarizado con JS.
Solución 2
Debe agregar esta condición en la línea 280:
if ($category->getId() == '35') {
$expanded = 1;
}
De esta manera, la categoría con ID 35 se ampliará de forma predeterminada. Todavía hay otro pequeño problema: el signo "más" permanece, pero debería ser "menos" para colapsar la categoría.
Otros consejos
Prefiero editar la navegación de Codnitive.php en App/Code/Community/Codnitive/Sidenav/Block/
en la línea 289 debería haber
if ($height == 0) {
$extraStyle = ' display:none;';
}
Si elimina la pantalla: ninguno debe ser visible. También puede agregar una condición utilizando la variable de nivel $.
Solo eche un vistazo al código, es bastante sencillo en mi opinión.