Jump to content

[SOLUCIONADO] Como añadir módulo a página CMS


Recommended Posts

Hola.

Antes de nada, mi versión de Prestashop: v1.5

 

Pues eso, que le he dado mil vueltas, he seguido plugins, creado hooks... he hecho 1000 historias para hacer algo que en teoria es relativamente sencillo pero no soy capaz de lograrlo.

 

Lo que quiero es crear una página CMS (Preferencias -> CMS) y poder añadirle un módulo a esa página (en concreto el módulo Nivo Slider) para que salga solo en esa página creada por mi, amén de otro sitio donde quiera ponerlo usando los hooks.

 

Si alguien me ilumina le estaré muy agradecido!

 

Saludos

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

Hola.

Antes de nada, mi versión de Prestashop: v1.5

 

Pues eso, que le he dado mil vueltas, he seguido plugins, creado hooks... he hecho 1000 historias para hacer algo que en teoria es relativamente sencillo pero no soy capaz de lograrlo.

 

Lo que quiero es crear una página CMS (Preferencias -> CMS) y poder añadirle un módulo a esa página (en concreto el módulo Nivo Slider) para que salga solo en esa página creada por mi, amén de otro sitio donde quiera ponerlo usando los hooks.

 

Si alguien me ilumina le estaré muy agradecido!

 

Saludos

 

¿Lo que quieres es mostrar el slider solo en esa determinada pagina?

Link to comment
Share on other sites

Instala simplemente el slider que comentas y despues vas a la pestaña a Modulos/Posiciones, pulsar en el "lapiz" y hay puedes decir en que sitios no quieres que se vea el slider.

 

Tambien puedes hacer una condicional en el tpl del modulo, tipo:

 

 

{$if $smarty.get.id_cms == id_cms} {/if}

 

Link to comment
Share on other sites

Hola, gracia spor responder!

 

Quiero mostrarlo solo en una determinada página (además es que solo irá en una). Con lo cual no lo puedo excluir tal y como me recomiendas (Modulos/Posiciones, pulsar en el "lapiz" y hay puedes decir en que sitios no quieres que se vea el slider.) porque entonces no lo veo en ninguna página del cms. Si utilizo Smarty no se por qué extraña razón, no me pinta nada, salvo una página en blanco y me da un error 500:

 

 

{$if $smarty.get.id_cms == 6}

pinta slider

{/if}

 

Ya me he creado un hook e intentar enlazarlo a ese hook pero nada, tampoco.

 

La verdad que no se ya que más intentar...

Link to comment
Share on other sites

Hola, gracia spor responder!

 

Quiero mostrarlo solo en una determinada página (además es que solo irá en una). Con lo cual no lo puedo excluir tal y como me recomiendas (Modulos/Posiciones, pulsar en el "lapiz" y hay puedes decir en que sitios no quieres que se vea el slider.) porque entonces no lo veo en ninguna página del cms. Si utilizo Smarty no se por qué extraña razón, no me pinta nada, salvo una página en blanco y me da un error 500:

 

 

{$if $smarty.get.id_cms == 6}

pinta slider

{/if}

 

Ya me he creado un hook e intentar enlazarlo a ese hook pero nada, tampoco.

 

La verdad que no se ya que más intentar...

 

Hola si dices que has creado un hook nuevo, date cuenta que tienes que decirle al fichero cms.tpl que existe ese hook, y tambien debes editar el fichero del modulo y indicarle que ese hook existe.

  • Like 1
Link to comment
Share on other sites

No, tampoco, me he creado mi hook (Galeria, y le he asignado la galeria en el administrador), he cambiado en el archivo del módulo (blockslider) el archivo, blockslider.php para que pueda tomar ese hook:

 

En verde todo lo que he añadido.

 

DEL ARCHIVO PPAL DEL MÓDULO:

 

public function install()

{

if (!parent::install()

OR $this->registerHook('rightColumn') == false

OR $this->registerHook('displayHome') == false

OR $this->registerHook('header') == false

OR $this->registerHook('Galeria') == false

OR !Configuration::updateValue('SLIDER_EFFECT', 'fade')

OR !Configuration::updateValue('SLIDER_CONTROL', 1)

OR !Configuration::updateValue('SLIDER_WIDTH', 960)

OR !Configuration::updateValue('SLIDER_HEIGHT', 400)

) return false;

return true;

}

 

 

y también he añadido:

 

 

public function hookGaleria($params)

{

$this->smarty->assign(array(

'effect' => Configuration::get('SLIDER_EFFECT'),

'controls' => Configuration::get('SLIDER_CONTROL'),

'slider_width' => Configuration::get('SLIDER_WIDTH'),

'slider_height' => Configuration::get('SLIDER_HEIGHT')

));

return $this->hookRightColumn($params);

}

 

 

Luego en mi plantilla, la que estoy usando se llama alysum, he cambiado cms.tpl para llamar a ese hook que ya está ok y existe:

 

 

{$cms->content}

{if $cms->id == 7}

{$HOOK_GALERIA}

{/if}

 

Y nada, no me lo pinta. El cindicional de Smarty es correcto, pues me pinta cualquier texto por ej, pero el hook no lo reconoce, pero tampoco me da ningún error.

 

Lo que no entiendo es que si cargo el {$HOOK_GALERIA} en el archivo de mi plantilla header.tpl, tal que así:

 

 

{$HOOK_TOP}

{$HOOK_GALERIA}

 

justo despues del hook top, si me lo pilla en todas las secciones pero no en CMS que es justo donde quiero...

 

 

Me estoy volviendo loco...

Link to comment
Share on other sites

Hola si dices que has creado un hook nuevo, date cuenta que tienes que decirle al fichero cms.tpl que existe ese hook, y tambien debes editar el fichero del modulo y indicarle que ese hook existe.

 

 

Ok, lo tengo, ahora me queda volverme a pegar con el css, ya que me sale desplazado pero bueno, me voy a dedicar a plantar batatas que es mas tranquilo, me faltaba incluirlo en el controlador de cms para que me lo reconociera, así que editando controllers/front/CmsControler.php ya está:

 

 

$this->context->smarty->assign(array(

'cms' => $this->cms,

'HOOK_GALERIA' => Module::hookExec('Galeria'), /

'content_only' => (int)(Tools::getValue('content_only')),

'path' => $path

));

 

Gracias!

 

Para otros, me sirvió mirar este hilo: http://www.prestasho...-into-cms-page/

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

Ok, lo tengo, ahora me queda volverme a pegar con el css, ya que me sale desplazado pero bueno, me voy a dedicar a plantar batatas que es mas tranquilo, me faltaba incluirlo en el controlador de cms para que me lo reconociera, así que editando controllers/front/CmsControler.php ya está:

 

 

$this->context->smarty->assign(array(

'cms' => $this->cms,

'HOOK_GALERIA' => Module::hookExec('Galeria'), /

'content_only' => (int)(Tools::getValue('content_only')),

'path' => $path

));

 

Gracias!

 

Para otros, me sirvió mirar este hilo: http://www.prestasho...-into-cms-page/

 

Pues si que hay mensajes nuevos en el post que creastes ))

 

Me alegro de que hayas podido resolver la incidencia !

 

Si das el tema como solucionado, edita el titulo del tema, editando el primer mensaje, pulsando en editar, y después en "Usar editor completo", añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro.

Link to comment
Share on other sites

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