Como duplicar un m贸dulo en Prestashop

A聽veces, cuando est谩s haciendo una p谩gina en Prestashop, necesitas clonar un m贸dulo ya existente. Quiz谩s porque necesitas que su funcionalidad se repita en varios sitios, quiz谩s porque necesitas que en ciertas ocasiones el mensaje o la funcionalidad sea algo diferente. A lo mejor, como nos ha pasado a nosotros, quieres tener otro m茅todo de pago como pago en tienda y puedes hacerlo clonando y variando el de pago por transferencia. Os explicamos c贸mo.

ps_logo_share

Los pasos son:

  • Copia la carpeta del m贸dulo en modules a otra carpeta con otro nombre. Por ejemplo copia modulo1 a modulo2
  • Cambia el nombre de todos los ficheros dentro de la carpeta modulo2 que se refer铆an al anterior. Por ejemplo
    modulo1.php y modulo1.tpl a modulo2.php y modulo2.tpl.
  • Cambiar la clase en el fichero .php,聽class modulo2聽extends Module
  • Cambiar en el fichero .php, el nombre del m贸dulo en esta l铆nea del .php:聽$this->name = ‘modulo2’;
  • Cambiar, en el fichero .php, el nombre de los par谩metros en las l铆neas que pone:聽Configuration::updateValue(‘modulo_2_NBR’, 8);
  • Cambia los valores donde aparece el m贸dulo antiguo en l铆neas como (depende del m贸dulo):
    if (isset($config[‘BANK_WIRE3_OWNER’])), if (isset($config[‘BANK_WIRE3_DETAILS’]))聽聽Esto hazlo en todas las funciones del fichero .php (install etc). Si no va a depender del m贸dulo antiguo.
    Cambia todo nombre referenciando al antiguo m贸dulo en el fichero .php.
    Es importante porque as铆 cuando lo instales podr谩 crear en la base de datos los campos necesarios e independientes del otro m贸dulo.
  • Al final del .php donde pone d贸nde llama al siguiente fichero tpl cambiar el nombre:聽return $this->display(__FILE__, ‘modulo2.tpl’, $this->getCacheId());
  • En el fichero config.xml cambia las referencias al m贸dulo antiguo:
    <?xml version="1.0" encoding="UTF-8" ?>
    <module>
     <name>modulo2</name>
        <displayName>modulo2</displayName>
        <version>0.1</version>
        <description>Lo que quieras poner</description>
        <tab>advertising_marketing</tab>
        <is_configurable>1</is_configurable>
        <need_instance>0</need_instance>
    </module>
  • Si coge valores en los hooks de otro sitio cambia el id de los valores a uno de tu invenci贸n. Por ejemplo:
    $products = $category->getProducts(intval($params['cookie']->id_lang), 1, ($nb ? $nb : 10));

    a

    $products = $category->getProducts(intval($params['cookie']->id_lang), 123, ($nb ? $nb : 10));
  • Inst谩lalo desde el backend y mira si hay errores. 聽Si no los hay cambia la funcionalidad que necesites.
    Dependiendo de la complejidad del m贸dulo este proceso de duplicarlo ser谩 m谩s o 聽menos complicado. Empezad con uno sencillito para entenderlo.

 

 

3 comentarios en 芦Como duplicar un m贸dulo en Prestashop禄

    • Igual, pero el m贸dulo de Paypal es un m贸dulo que se actualiza y cambia mucho la programaci贸n. No es muy recomendable.

      Responder

Deja un comentario

Resumen de nuestra Pol铆tica de Privacidad

  • Responsable:聽SmythSys IT Consulting SLNE.
  • Finalidad:聽Gestionar y moderar los comentarios.
  • Legitimaci贸n:聽Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios:聽Tus datos se alojan en los servidores de OVH.
  • Derechos:聽Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la direcci贸n del responsable (en nuestra pol铆tica de privacidad).

Time limit is exhausted. Please reload CAPTCHA.