Jump to content

Mi módulo no se muestra en el hook


rDuque

Recommended Posts

Hola, muy buenas.

Llevo tiempo dándo vueltas a qué le ocurre a mi módulo, que no consigo mostrarlo en el front office a pesar de que está bien instalado y aparece en la lista de módulos.

Lo he reducido a lo más simple que se puede y aun así no funciona.

Sabéis que puede estar pasando?

php:

<?php

if(!defined('_PS_VERSION_'))
{
	exit;
}

class rdAddToCartButton extends Module {

	public function __construct(){
		$this->name = 'rdAddToCartButton';
		$this->tab = 'front_office_features';
		$this->version = '1.0.0';
		$this->author = 'rDuque';
		$this->bootstrap = true;
		$this->ps_version_compliancy = array('min' => '1.7.0', 'max' => _PS_VERSION_);
		$this->need_instance = 1;

		parent::__construct();

		$this->displayName = $this->l('Insertar botón add to cart');
		$this->description = $this->l('Inserta botones de añadir al carrito, sustituye a Megacanones.');	

		$this->confirmUninstall = $this->l('¿Seguro que quieres desinstalar AddToCartButton?'); 
	}

	public function install(){
		if (Shop::isFeatureActive()) Shop::setContext(Shop::CONTEXT_ALL);

		return(parent::install() &&
			$this->registerHook('displayRdAddToCartButton')
    );
	}

	public function uninstall(){
		if (!parent::uninstall() || !Configuration::deleteByName('displayRdAddToCartButton'))
        return false;
    return true;
	}

	//HOOKS
	public function hookDisplayRdAddToCartButton($params){
		return $this->display(__FILE__, 'displayRdAddToCartButton.tpl');
	}

}

?>

 

tpl:

<p>holaaaa</p>

 

Gracias de antemano, saludos.

Link to comment
Share on other sites

11 minutes ago, ventura said:

Al ser un nuevo hook, entiendo que los estas añadiendo en la plantillla según las recomendaciones de la documentacion

https://devdocs.prestashop-project.org/8/modules/concepts/hooks/

 

Si.

Uso hookmanager para cerar hooks y tengo asignado mi módulo al hook. Desde el punto de vista de la instalación y la asignación del hook, todo parece ir bien, ahora bien, voy a la tienda y cuando trato de verlo, no hay manera, no se muestra.

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

El modulo se crea de manera automática al añadirlo desde la función, registerHook. No es necesario utilizar módulos auxiliares para la creación

Asegurate de que el .tpl esta en la ruta

nuevo_modulo/views/templates/hook/displayRdAddToCartButton.tpl

Si la plantilla, o módulo donde se quiere implementar la vista no incluye el hook sera necesario añadirlo mediante la llamada al hook, ejemplo

{hook h='displayRdAddToCartButton'}

 

Link to comment
Share on other sites

Hola de nuevo, Ventura.

Gracias.

Si, correcto. El template está en su sitio, dentro de views, templates, hook. Y con el nombre correcto. Y, of course, tengo la llamada al hook tal cual donde deseo que aparezca: {hook h='displayRdAddToCartButton'}.

Algo se me escapa y no se que es...

Link to comment
Share on other sites

Hola de nuevo!

He conseguido hacerlo funcionar después de la nosecuanta vez que lo desinstalo y lo instalo.

Mi teoría:

Cuando haces cambios en el código del módulo o bien algo queda cacheado o no le gusta. Es como si hubiera que cerrar la versión del módulo y desinstalarlo y volverlo a instalar, porque tampoco me funcionó simplemente actualizandolo ni reinicializandolo.

Un saludo, gracias!

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...