Jump to content

[Solucionado]Controller para el footer


royoruiz

Recommended Posts

Buenas,

 

A ver, tengo la siguiente situación.

 

En el footer de mi tienda, he agregado unos enlaces, que con fancybox sacan paginas del cms. Para esto he tocado:

- AdminPreferencesController.php, para añadir las opciones de seleccion de los enlaces en la administracion.

'PS_LEATHER_ID' => array(
 'title' => $this->l('Genuine leather'),
 'desc' => $this->l('Choose the Genuine leather from CMS page'),
 'validation' => 'isInt',
 'type' => 'select',
 'list' => $cms_tab,
 'identifier' => 'id',
 'cast' => 'intval'
),

- IndexController.php, para añadir la transformacion de las opciones guardadas en la administracion en variables (enlaces a las paginas) de salia hacia el front.

$cms = new CMS(Configuration::get('PS_LEATHER_ID'), $this->context->language->id);
 $link_leather = $this->context->link->getCMSLink($cms, $cms->link_rewrite, true);
 if (!strpos($link_leather, '?'))
  $link_leather .= '?content_only=1';
 else
  $link_leather .= '&content_only=1';

 $this->context->smarty->assign(array(
'HOOK_HOME'=> Hook::exec('displayHome'),
'link_leather' => $link_leather,
'link_handmade' => $link_handmade,
'link_shipping' => $link_shipping
 ));

- Footer.tpl para añadir los enlaces y el fancybox.

<div id="overtus_pieles" class="overtus_pieles_class"><a href="{$link_leather}" class="iframe"><img class="overtus_footer_img" src="/themes/theme537/img/icono1b.png" width="24" height="24"></a> <a href="{$link_leather}" class="iframe"> {l s='Genuine leather'}</a><script type="text/javascript">$('a.iframe').fancybox();</script></div>

Esto queda muy bien pero claro, solo me lo hace bien en el index, en productos, categorias y el resto de sitios no sale bien, pq las variables de IndexController.php no se crean puesto que no carga ese controller.

 

Alguna idea de como solucionarlo (un módulo no es una opción).

 

He buscado un controller comun pero no lo he encontrado. Layout.tpl es donde se genera la forma de la pagina pero no indica nada mas. Luego esta footer.php pero creo que ahi solo busca el controller de cada pagina no uno comun, ademas es a extinguir.

 

Gracias!!!

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

  • 4 weeks later...

Vale, chatungos, os dejo la respuesta.

 

No había pensado con estrucutra de clases y por eso no lo veia.

 

En el fondo, todas las clases del front nacen de la clase (están extendidas) FrontController.php. Por tanto, si en dicha clase, añadimos las variables comunes a todo el front, serán accesibles tanto desde el IndexController, como el CartController etc...

 

Estoy probandolo, y parece que va bien!

 

Ale os dejo esto aquí, por si a alguien le interesa. Me autoedito y pongo solucionado ;)

Link to comment
Share on other sites

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