Jump to content

Override en modulo prestashop 1.6


ikku

Recommended Posts

Hola,

 

Estoy intentando hacer un override segun pone en esta guía:

 

http://www.mundoprestashop.es/blogs/4-como-hacer-override-en-prestashop.html

 

Lo que quiero es modificar el modulo blocksocial, para ello me creo una clase de la forma

<?php
class blocksocial extends blocksocialCore

{
	public function hookDisplayNav($params){
        return $this->hookDisplayFooter();
    }


}

?>

Y la guardo en /override/classes con el nombre de blocksocial.php compilo y no me deja usar ese hook, si lo cambio directamente en la clase si.

 

¿Que estoy haciendo mal?

 

Gracias

Link to comment
Share on other sites

  • 4 weeks later...

 

El php del módulo no lo puedes sobreescribir en /themes/plantilla/modules/nombre_modulo/ (Es algo que ya esta comprobado y explicado en la misma documentación, ademas de comentado por Prestashop)

 

Lo que yo hago es duplicar el módulo, para que si se actualiza el original no se pierda el php del módulo.

 

Lo que si puedes meter en:

 /themes/plantilla/css/modules/comosellameelmodulo/
 /themes/plantilla/js/modules/comosellameelmodulo/

 /themes/plantilla/modules/comosellameelmodulo/

 /themes/plantilla/modules/mails/comosellameelmodulo/

son los js, css, tpls, ficheros de idiomas que luego se sobreescriben de los modulos, mails de módulos,

 

Pero el php (clase del modulo) no lo puedes meter ahí, no te va a funcionar, ni antes ni ahora.

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

El php del módulo no lo puedes sobreescribir en /themes/plantilla/modules/nombre_modulo/ (Es algo que ya esta comprobado y explicado en la misma documentación, ademas de comentado por Prestashop)

 

Lo que yo hago es duplicar el módulo, para que si se actualiza el original no se pierda el php del módulo.

 

Lo que si puedes meter en:

 /themes/plantilla/css/modules/comosellameelmodulo/
 /themes/plantilla/js/modules/comosellameelmodulo/

 /themes/plantilla/modules/comosellameelmodulo/

 /themes/plantilla/modules/mails/comosellameelmodulo/

son los js, css, tpls, ficheros de idiomas que luego se sobreescriben de los modulos, mails de módulos,

 

Pero el php (clase del modulo) no lo puedes meter ahí, no te va a funcionar, ni antes ni ahora.

 

Al final creo que te he liado mas de la cuenta.

 

Lo que digo (y te han comentado algunas personas arriba)

 

Es que el fichero:

/modules/homefeatured/homefeatured.php

Si lo copias en

 

/themes/planilla/modules/homefeatured/

Sera como sino copiaras nada, porque no servira.

 

Hablo actualmente y de los módulos por defecto de Prestashop, otros módulos desarrollado por terceros ya es otro mundo y de eso ya no te puedo hablar.

 

Ahora, si esto lo solucionara prestashop o no, pues eso ya se vera, pero esperemos que saque alguna solución interesante para este asunto.

 

Yo lo que hago siguiendo varias guías que vi, es duplicar el módulo, usar el duplicado y no el original, asi no actualizo el original, y si necesito actualizarlo, veo antes los cambios realizados en github (version developmentde prestashop) para aplicarlos.

Link to comment
Share on other sites

  • 3 months later...

Y para renombrar una carpeta?

 

Asi:

 

if(!parent::install() OR 

!rename(_PS_ROOT_DIR_.'/js/tiny_mce',_PS_ROOT_DIR_.'/js/tiny_mce_old') OR 
!copy(_PS_MODULE_DIR_."/tinymcefull/js/tiny_mce",_PS_ROOT_DIR_.'/js/tiny_mce'))
return false;
if(file_exists(_PS_ROOT_DIR_.'/cache/class_index.php'))
unlink(_PS_ROOT_DIR_.'/cache/class_index.php');
return true;
    [spam-filter]
Link to comment
Share on other sites

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