Jump to content

Insertar código PHP en head.tpl


Boira

Recommended Posts

Buenas tardes a todos,

estoy tratando de integrar GetResponse con Prestashop para poder usar todas las funcionalidad de Automatización del primero.
Hay un módulo de GetResponse para Prestashop que instalándol, incluye muchas funcionalidades pero para usar la función "Ecommerce - URL Visitada" hay que insertar el siguiente código en el head.
 

<?php echo " <script type='text/javascript'>gaSetUserId('".$email."');</script>"; ?>

Por lo que he podido leer, este código solamente puede insertarse creando un módulo. Así lo he hecho, lo instalo sin problemas, pero cuando voy a mi página, me sale el siguiente mensaje "No se ha encontrado ninguna plantilla para el módulo getresponse2"

¿Cómo puedo indicarle la ruta a mi archivo head.tpl?

Tampoco estoy seguro de estar cogiendo correctamente la variable $email.

Aquí el código:

<?php
if (!defined('_PS_VERSION_'))
{
  exit;
}

class getresponse2 extends Module
{
  public function __construct()
  {
    $this->name = 'getresponse2';
    $this->tab = 'others';
    $this->version = '1.0.0';
    $this->author = 'Álvaro Portela';
    $this->need_instance = 0;
    $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_);
    $this->bootstrap = true;

    parent::__construct();

    $this->displayName = $this->l('GetResponse2');
    $this->description = $this->l('inserta código para GetResponse Ecommerce');

    $this->confirmUninstall = $this->l('¿Quieres desinstalar el módulo?');

    if (!Configuration::get('MYMODULE_NAME'))
      $this->warning = $this->l('No name provided');
  }
    public function install()  
     {  
      if (parent::install() == false OR !$this->registerHook('header'))   
     return false;  
      return true;  
     }
    
    public function hookHeader($email)
     {
      global $smarty;
      // Variables o código PHP que queramos insertar
        echo " <script type='text/javascript'>gaSetUserId('".$email."');</script>";
       //echo " gaSetUserId('".$userEmail."');"; 
        $smarty->assign('email', $email);
      return $this->display(__FILE__, 'head.tpl');
     }
}

Muchas gracias por vuestra ayuda

Link to comment
Share on other sites

WTF???? 😵😵😵

Amigo mio te recominedo eches un ojo

https://devdocs.prestashop.com/

Prueba esto a ver si te funciona

getresponse2.php

class getresponse2 extends Module
{
  public function __construct()
  {
    $this->name = 'getresponse2';
    $this->tab = 'others';
    $this->version = '1.0.0';
    $this->author = 'Álvaro Portela';
    $this->need_instance = 0;
    $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_);
    $this->bootstrap = true;

    parent::__construct();

    $this->displayName = $this->l('GetResponse2');
    $this->description = $this->l('inserta código para GetResponse Ecommerce');

    $this->confirmUninstall = $this->l('¿Quieres desinstalar el módulo?');

  }
    public function install()  
     {  
      if (parent::install() == false OR !$this->registerHook('header'))   
     return false;  
      return true;  
     }
    
    public function hookHeader($params)
     {
		if ($this->context->customer->email) {
			$this->context->smarty->assign('email', $this->context->customer->email);
      		return $this->display(__FILE__, 'head.tpl');
		}
     }
}

head.tpl

<script type='text/javascript'>gaSetUserId('{$email}');</script>

 

Lo que no me queda claro es d dnd pillas la funcion gaSetuserId ya q en el modulo no haces referecnia a ningun js o recurso externo.

Suerte

Edited by burrots
edit text (see edit history)
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...