Jump to content

Mover, trasladar módulo JGalleryView2 a un link de CMS en el topmenú


MSS77

Recommended Posts

Hola

 

He instalado el módulo gratuito de JGalleryView2, muy bueno!

Este aparece en la página inicial de mi tienda

Pero como lo hago para que esté integrado solo en un link CMS que tengo en el top menu?

por ejemplo $cms->id == 7

 

He estado hojeando que hay que hacer un nuevo Hook y modificar el jgalleryview2php y el jgalleryview2.tpl, pero la verdad es que me pierdo durante el proceso.

Tengo que tocar también el blocktopmenu ?? y el blockcms ??

 

¿ Alguién me puede explicar como ?

 

Gracias

Link to comment
Share on other sites

Estaba mirando, y mi gran duda es:

Este modulo de imagenes se muestra en el home de inicio

Para que se vea solo clicando desde un CMS es necesario crear un hook nuevo ?. Quiero decir que yo lo quiero enseñar en la columna central como ya lo hace, pero solo al clicar primero el boton.

No hay forma de redirigir la página de CMS para que abra la galería en el centro ?

gracias!

Estoy ofuscado y se me acaban la ideas

Link to comment
Share on other sites

Para que no te aparezca en la página inicial, tendrás que ir a Modulos->Posiciones y eliminarlo del hook que supongo que será HomePagecontent.

Para añadir un link al menú tienes la opción dentro de la misma configuración del módulo. Lo que tendrás que buscar es la dirección que tienes que poner para que cargue el módulo, eso ya tendrás que investigar como hace el módulo para cargarlo.

Link to comment
Share on other sites

Ya prové de llamarlo desde un link en el menú.

Llamo al php pero me dice que no encuentra la classe que se declara en el módulo.

Quizá tengo que llamar a otro archivo ? normalmente es un php ? u otro...

Link to comment
Share on other sites

Por si solo no creo que te permita cargar el módulo, tendrás que crearte un php que haga la misma funcionalidad...

Como te digo desconozco el módulo porque no lo he usado, pero imagino que tendrás que cargar el tpl desde tu fichero php y en caso de necesitar datos que mostrar, cargar los datos. Todo eso seguramente lo tienes en el propio módulo, solo lo tienes que extrapolar a tu situación y adaptarlo para recuperar supongo, las imágenes que quieres mostrar y cargar el tpl

Link to comment
Share on other sites

Y como se hace eso ? cargar tpl desde php?

Veo que en los otros modulos, por ejemplo el del CMS tienes en el cms.php

 

 

 

require(dirname(__FILE__).'/config/config.inc.php');

Tools::displayFileAsDeprecated();

 

Tools::redirect('index.php?controller=cms'.($_REQUEST ? '&'.http_build_query($_REQUEST, '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently');

 

Entiendo que llama al CmsController.php no ?! o que hace ?

Y después desde allí, comprueba que todos esté ok y llama al tpl ??!?

 

En el modulo que tengo no veo ningun php que llame a un controller...

La verdad voy perdido con esto...

Link to comment
Share on other sites

Desconozco los conocimientos que tienes de programación php...pero si no sabes te será quizás complicado realizar lo que quieres.

 

Si te fijas en la documentación de prestashop, un módulo tiene que tener al menos un logo, creo recordar que a partir de la versión 1.5 necesitas uno png y otro jpg y además una clase php con el mismo nombre del módulo. A partir de ahí, cada módulo puede tener lo que necesite para funcionar.

 

El código que indicas del CMS no es del módulo, es porque el CMS es una funcionalidad nativa que proporciona prestashop. En principio no vas o no deberías ver ningún controller dentro de un módulo porque los controller van en su directorio correspondiente.

 

Espera a ver si alguien ha realizado esto mismo y te puede ayudar. Supongo que se podrá crear sin necesidad de crear controllers que ya es meterte en mucha harina.

Link to comment
Share on other sites

Ok.

 

Lo que me desconcierta es saber como/donde se dice exactamente, por ejemplo, que el formulario de contacto (contact-form) se va a mostrar en el centro al clicar su pestaña de 'Contacta'.

 

Saber el proceso que hace me facilitaría creo el poder clonar el mismo procedimiento. Ver que hace el php (donde), el tpl, el controller (si hay), etc...

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

Saber el proceso que hace me facilitaría creo el poder clonar el mismo procedimiento. Ver que hace el php (donde), el tpl, el controller (si hay), etc...

Como te comenté antes, esta información de tu módulo la tienes en el propio módulo. Como te decía antes, tienes que tener un .php con el mismo nombre del módulo. Ahí tienes que tener un método que se llame hookNombreHook en el que se muestra. Ahí podrás ver la información que necesita para cargar el módulo y el tpl que carga que también estará dentro del módulo.

Link to comment
Share on other sites

Si lo tengo localizado en el php del modulo. Hay dos funciones una, hookHeader que carga el tpl del mismo nombre donde hay los javascripts.

y otro hookHome donde carga la galería, el tpl, entiendo en el homepage de inicio

¿ Aquí no hay forma de decirle que ok, ponlo allí, pero solo si clico el boton en cuestión del topmenu ??

mi php es limitado y tampoco acabo de entender del todo que hace la función

 

 

function hookHeader($params)

{

return $this->display(__FILE__, 'header.tpl');

}

 

function hookHome($params)

{

if ($xml = $this->_xml)

{

global $cookie, $smarty;

$smarty->assign(array(

'xml' => $xml,

'title' => 'title_'.$cookie->id_lang,

'text' => 'text_'.$cookie->id_lang

));

return $this->display(__FILE__, $this->name.'.tpl');

}

return false;

}

Link to comment
Share on other sites

Los hook no funcionan así, es un ancla y se carga en él, el módulo anclado. Los hook llevan por detrás una lógica de negocio que no es simplemente una llamada con un cick.

 

Si me lo permites, veo 3 opciones:

  • Que te tomes un tiempo para conocer prestashop(Guia desarrollador) y programación php para poder hacerlo.
  • Que esperes a que alguien que halla realizado este cambio te pase la información(O de otro módulo parecido).
  • Que pidas un presupuesto en la sección correspondiente del foro para que alguien te lo haga.

Link to comment
Share on other sites

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