Jump to content

Menu horizontal top


Ron morales

Recommended Posts

necesito que cuando tenga seleccionado un tab me salga la classe activo e estado provando en blocktopmenu.php pero no me funciona bien alguien sabe como hacerlo?

case 'LNK':
   $selected = ($link->getPageLink == $link ) ? ' class="sfHover"' : '';
 $link = MenuTopLinks::get((int)$id, (int)$id_lang, (int)$id_shop);
 if (count($link))
 {
  if (!isset($link[0]['label']) || ($link[0]['label'] == ''))
  {
   $default_language = Configuration::get('PS_LANG_DEFAULT');
   $link = MenuTopLinks::get($link[0]['id_linksmenutop'], $default_language, (int)Shop::getContextShopID());
  }
  $this->_menu .= '<li'.$selected.' ><a href="'.$link[0]['link'].'"'.(($link[0]['new_window']) ? ' target="_blank"': '').'>'.$link[0]['label'].'</a></li>'.PHP_EOL;
 }
 break;

Link to comment
Share on other sites

En este foro no hay mucho movimiento estaría bien un poco de ayuda, en el de oscommerce enseguida contestaba la gente , os dejo el codigo de como lo e echo yo por si a alguien le hace falta que será que si .

lo que yo e echo a sido dejar el modulo vacio internamente y insertarlo a mano así se me selecciona el botón que yo quiero

saludos! blocktopmenu.tpl

{if $MENU == ''}
</div>
<!-- Menu barra -->
<div class="sf-contener clearfix">
 <ul class="sf-menu clearfix">
  {$MENU}
  {if $MENU_SEARCH}
<li class="sf-search noBack" id="search_block_top" style="float:right">
 <form id="searchbox" action="{$link->getPageLink('search')}" method="get">
  <p >
   <input type="hidden" name="controller" value="search" />
   <input type="hidden" value="position" name="orderby"/>
   <input type="hidden" value="desc" name="orderway"/>
   <input type="text" name="search_query" value="{if isset($smarty.get.search_query)}{$smarty.get.search_query|escape:'htmlall':'UTF-8'}{/if}" />
  </p>
 </form>
</li>{/if}
		<li {if $page_name == 'index'} class="sfHoverForce"{/if}><a title="{$shop_name|escape:'htmlall':'UTF-8'}" href="{$link->getPageLink('index.php')}">{l s='Inicio' mod='blocktopmenu'}</a></li>
		<li {if $page_name == 'new-products'} class="sfHoverForce"{/if}><a href="new-products.php" title="{l s='Nuevos Productos'}">{l s='Novedades'}</a></li>

<li {if $page_name == 'prices-drop'} class="sfHoverForce"{/if}><a href="{$link->getPageLink('prices-drop.php')}" title="{l s='Ofertas' mod='blocktopmenu'}">{l s='Ofertas' mod='blocktopmenu'}</a></li>
<li {if $page_name == 'contact'} class="sfHoverForce"{/if}><a title="{l s='Contacto' mod='blocktopmenu'}" href="{$link->getPageLink('contact-form.php')}">{l s='Contacto' mod='blocktopmenu'} </a></li>


 {if $logged}
 <!--------- nombre del usuario-------------------------------------------------
 <li><a href="{$link->getPageLink('my-account', true)}" class="account"><span>{$cookie->customer_firstname} {$cookie->customer_lastname}</span></a></li>
 --------------------------------------------------------------------------->

  <li ><a href="{$link->getPageLink('index', true, NULL, "mylogout")}" title="{l s='Salir' mod='blockuserinfo'}" >{l s='Salir' mod='blocktopmenu'}</a></li>

		<li {if $page_name=='my-account'}class="sfHoverForce"{/if} >
<a href="{$base_dir_ssl}my-account.php" title="{l s='Mi cuenta' mod='blockpermanentlinks'}">{l s='Mi cuenta' mod='blocktopmenu'}
</a></li>
 {else}
  <li {if $page_name == 'authentication'}class="sfHoverForce"{/if}><a title="{l s='Iniciar sesión' mod='blocktopmenu'}" href="{$link->getPageLink('my-account', true)}" >{l s='Iniciar sesión' mod='blockuserinfo'}</a></li>
 {/if}


<!--<li {if $page_name == 'new-products'} class="sfHoverForce"{/if}><a href="#" title="{l s='Categorías'}">{l s='Categorías'}</a></li>-->

<!--<li {if $page_name == 'about-us'} class="sfHoverForce"{/if}><a href="{$link->getPageLink('cms.php?id_cms=14')}">{l s='About Us' mod='blocktopmenu'}</a></li>-->

<!--<li {if {$smarty.server.REQUEST_URI} == '/content/14-about-us'} class="sfHoverForce"{/if}><a href="{$link->getPageLink('cms.php?id_cms=14')}">{l s='About Us' mod='blocktopmenu'}</a></li>-->
 </ul>


 <div class="sf-right"> </div>
<!--/ Menu barra -->
{/if}

Edited by Ron morales (see edit history)
Link to comment
Share on other sites

ya tengo poca paciencia scuse me, el tema que me pasas que es solo para un link? yo lo que necesitaba es para poner enlaces en la barra top, 5 o 6 y que cuando clique se me enlace lo e echo con lo de arriba, para que me funcione lo que me pasas tendría que identificar cada link, creo que así solo funcionaría una página, al o mejor duplicando los case por el numero de paginas?

Link to comment
Share on other sites

  • 5 months later...

Tengo exactamente el mismo problema, la solución que plantea statictic

$selected = ($this->page_name == 'XXX') ? ' class="sfHover"' : '';
$selected = ($this->page_name == 'YYY') ? ' class="sfHover"' : '';
$selected = ($this->page_name == 'ZZZ') ? ' class="sfHover"' : '';

Solo funciona con un enlace, por ejemplo en mi caso quisiera que en ese menu se muestre los enlaces que lleven a la página que muestra productos nuevos y productos en descuento, si yo solo añado el enlace a la pagina principal que en el SEO se llama index la solución de statictic funciona, pero si añado por ejemplo en el mismo menu el enlace a promociones y nuevos productos cuando hago click en Inicio (index) los tres enlaces se activan, pero si hago click en promociones o nuevos productos muestra la información que se deberia de mostrar pero el enlace no tiene el efecto de 'active'

 

Activando INICIO sale comos e muestra la imagen, (el primer inicio es el que viene por defecto con la instalación de prestashop es por eso que no se pinta.) El segundo inicio es un enlace que he creado a la pagina principal pero tambien se pinta el link que lleva a productos con descuento (muy extraño)

yguerrro.png

A continuación la imagen cuando se activa la pagina de productos con despuesto, no se pinta como se muestra en la imagen pero si te muestra la información de la pagina de productos con descuento.

yguerro.png

 

Para el primer caso puse page_name == 'index' y para el segundo caso page_name == 'promociones' ademas he probado con 'descuentos', 'prices-drop', 'promocion' y no logro que se pinte cuando se active.

Espero que alguien logre resolver este problema.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...