Jump to content

blocktopmenu botón activo en categorias CMS


Recommended Posts

Hola, he estado buscando en el foro pero no he conseguido solucionar este tema.

 

en el menu principal he creado diferentes menus:

un menu que lleva a los articulos y otros que llevan al CMS

cuando pincho encima del boton que lleva a los articulos el botón queda activo con el color que hemos puesto, pero los menus que llevan al CMS no quedan activos.

como puedo solucionar esto?

gracias

Link to comment
Share on other sites

Hola, he estado buscando en el foro pero no he conseguido solucionar este tema.

 

en el menu principal he creado diferentes menus:

un menu que lleva a los articulos y otros que llevan al CMS

cuando pincho encima del boton que lleva a los articulos el botón queda activo con el color que hemos puesto, pero los menus que llevan al CMS no quedan activos.

como puedo solucionar esto?

gracias

SI lo que quieres es que cuando estes en la categoria CMS, el boton quede marcado.

 

Fichero:

 

modules/blocktopmenu/blocktopmenu.php
Busca esto:

 

case 'CMS_CAT':
					$category = new CMSCategory((int)$id, (int)$id_lang);
					if (count($category))
					{
						$this->_menu .= '<li><a href="'.Tools::HtmlEntitiesUTF8($category->getLink()).'">'.$category->name.'</a>';
						$this->getCMSMenuItems($category->id);
						$this->_menu .= '</li>'.PHP_EOL;
					}
					break;
 

Y dejalo asi:

 

	case 'CMS_CAT':
					$activaCategoria = ($this->page_name == 'cms' && (Tools::getValue('id_cms_category') == $id)) ? ' class="activaOpcion"' : '';
					$category = new CMSCategory((int)$id, (int)$id_lang);
					if (count($category))
					{
						$this->_menu .= '<li'.$activaCategoria.'><a href="'.Tools::HtmlEntitiesUTF8($category->getLink()).'">'.$category->name.'</a>';
						$this->getCMSMenuItems($category->id);
						$this->_menu .= '</li>'.PHP_EOL;
					}
					break;
---

 

Despues en tu fichero, agrega esto:

 

.sf-menu > li.activaOpcion > a{
background-color: codigo_de_fondo;
color: codigo_de_color !important;
  text-shadow: none;

}
en

 

modules/blocktopmenu/css/superfish-modified.css
Recuerda desinstalar y volver a instalar el modulo, y hacer un flush all con este modulo: http://www.prestashop.com/forums/topic/238282-modulo-flush-caches-compile-ps15/
Link to comment
Share on other sites

SI lo que quieres es que cuando estes en la categoria CMS, el boton quede marcado.

 

Fichero:

 

modules/blocktopmenu/blocktopmenu.php
Busca esto:

 

case 'CMS_CAT':
					$category = new CMSCategory((int)$id, (int)$id_lang);
					if (count($category))
					{
						$this->_menu .= '<li><a href="'.Tools::HtmlEntitiesUTF8($category->getLink()).'">'.$category->name.'</a>';
						$this->getCMSMenuItems($category->id);
						$this->_menu .= '</li>'.PHP_EOL;
					}
					break;
 

Y dejalo asi:

 

	case 'CMS_CAT':
					$activaCategoria = ($this->page_name == 'cms' && (Tools::getValue('id_cms_category') == $id)) ? ' class="activaOpcion"' : '';
					$category = new CMSCategory((int)$id, (int)$id_lang);
					if (count($category))
					{
						$this->_menu .= '<li'.$activaCategoria.'><a href="'.Tools::HtmlEntitiesUTF8($category->getLink()).'">'.$category->name.'</a>';
						$this->getCMSMenuItems($category->id);
						$this->_menu .= '</li>'.PHP_EOL;
					}
					break;
---

 

Despues en tu fichero, agrega esto:

 

.sf-menu > li.activaOpcion > a{
background-color: codigo_de_fondo;
color: codigo_de_color !important;
  text-shadow: none;

}
en

 

modules/blocktopmenu/css/superfish-modified.css
Recuerda desinstalar y volver a instalar el modulo, y hacer un flush all con este modulo: http://www.prestashop.com/forums/topic/238282-modulo-flush-caches-compile-ps15/

 

No se si querías esto, u otra cosa.

 

Esto que te he dicho, te sirve para esto, que te adjunto en la siguiente imagen:

 

cmsinfo.png

Link to comment
Share on other sites

Hola Nadie,

he de decir que no me ha funcionado. he seguido los pasos y a parte de no funcionar se me ha borrado toda la configuración que tenía del modulo. los enlaces y submenus. y se me ha movido el menu a otra posicion.

 

en este codigo he añadido el color

sf-menu > li.activaOpcion > a{
background-color: codigo_de_fondo;
color: codigo_de_color !important;
text-shadow: none;

}

pero nada.

 

Por lo que entiendo el flush all es para borrar la cache, pero estoy trabajando manteniendo los archivos originales y la cache apagada.

 

he vuelto a poner los archivos que tenia y colocado el menú como estaba.

 

sigo sin resolver el tema.

Link to comment
Share on other sites

Lo de borrarse la configuracion del modulo es logico si se desinstala y vuelve a instalarse el modulo.

 

¿Seguro que te refieres a las Categoria CMS u a otra cosa?

 

No es lo mismo Contenido CMS que Categoria CMS

 

Por lo que entiendo el flush all es para borrar la cache, pero estoy trabajando manteniendo los archivos originales y la cache apagada.

Cache Smarty y compile smarty.

Link to comment
Share on other sites

mira, te pongo una imagen para que lo veas.

Son 3 posiciones del menú.

la primera "alquiler" es la que lleva a los articulos de la tienda. (está funciona y se queda verde cuando estoy dentro.)

la segunda "aviso legal" lleva a esa página que está en el CMS (no se queda activo)

la tercera, "paquetes", lleva a una categoria con dos páginas dentro del CMS (no se queda activo)

http://subefotos.com/ver/?381bc7191cc3da2a800f4f068b5c8e9bo.gif

saludos,

Link to comment
Share on other sites

Lo que te he comentado, te tendría que funcionar para el caso de "Paquetes", al ser una categoría CMS, siempre y cuando lo hayas metido como Categoria CMS, dentro de la configuracion del modulo de Menu Horizontal Superior y no como un enlace manual. (Al menos, en en el ejemplo de la plantilla por defecto, funcionaba para ese caso)

 

¿Supongo que no tengo acceso a visualizar la web? ¿no?

Link to comment
Share on other sites

Mi ejemplo solo lo he probado en Prestashop 1.5.6, con la plantilla por defecto y el modulo menu horizontal superior que lleva Prestashop, y el ejemplo que te he mostrado es solo un ejemplo aplicable al enlace de la categoria CMS, no a los contenidos CMS, ya que por el titulo del tema, entendí que te referias a las categorias CMS.

 

¿Puedo ver la dirección de su web, con los cambios realizados?

 

Saludos,

Link to comment
Share on other sites

En tu plantilla, lo del css que has agregado en:

/themes/theme732/css/modules/blocktopmenu/css/superfish-modified.css

Depende:

.sf-menu > li.activaOpcion > a

Seria.
 

.desktop #menu-custom  > li.activaOpcion > a

Pero vamos, quiero saber si tras hacer los cambios del php que te dije, te aparece marcada la clase "activaOpcion" en el li. (Puedes verlo desde firebug)

 

Siento no poder serte de mas ayuda, ya que me voy del foro para siempre, como comente aquí: http://www.prestashop.com/forums/topic/282730-comunicado-de-despedida-de-la-comunidad-por-parte-del-usuario-nadie/?view=findpost&p=1422288 y posiblemente este sea uno de mis ultimos mensajes.

 

Un saludo y disculpa las molestias ocasionadas.

  • Like 1
Link to comment
Share on other sites

bueno a medias!! :o ahora veo que solo funciona si hay subcategorias dentro, pero si abro directamente desde el menu la pagina cms no! solo con categorias dentro.

por ejemplo:

si el menu tiene 3 categorias con 3 articulos dentro. al pinchar el menu se queda activo muestra las categorias.

pero si pincho, navengado en el menu, encima del articulo no sale activo..

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...