Herramientas de usuario

Herramientas del sitio


prestashop:crearmodulo

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
prestashop:crearmodulo [2015/03/20 18:33] albertoprestashop:crearmodulo [2021/05/05 10:04] (actual) – borrado alberto
Línea 1: Línea 1:
-====== Crear un módulo ====== 
-===== Introducción ===== 
-A continuación se explicará la forma de crear un módulo instalable para prestashop. No se entrará en detalles técnicos, ni en funcionalidades, sino que se expondrá el código mínimo para la creación del módulo.  
-La funcionalidad del mismo dependerá de la labor del programador. 
-Como fuente se ha usado la [[http://doc.prestashop.com/display/PS16/Creating+a+first+module#Creatingafirstmodule-Creatingafirstmodule|página de desarrollo oficial de prestashop]]. 
-Las normas de edición de código para prestashop pueden verse en la [[http://doc.prestashop.com/display/PS16/Coding+Standards|página de convenciones para prestashop]]. 
  
-===== Sistema de archivos ===== 
-El módulo debe contenerse en una carpeta (directorio) con el nombre del módulo. Esta carpeta debe estar en el directorio: ../directorio_raiz_de_prestashop/modulos/ 
-En la carpeta del módulo deben encontrarse los archivos y directorios necesarios para el funcionamiento del módulo. 
-Como mínimo es necesario disponer de los siguientes archivos: 
-  - **nombre_del_modulo.php:** Archivo principal de funcionamiento del módulo 
-  - **config.xml:** Archivo de configuración de caché. Si no existe, la crea prestashop de forma automática. 
-  - **logo.png:** Icono del módulo. Debe tener un tamaño de 32x32 píxeles. 
- 
-Puede verse una tabla con un sistema de archivos y directorios más completo en la [[http://doc.prestashop.com/display/PS16/Creating+a+first+module#Creatingafirstmodule-FilestructureforaPrestaShopmodule|sección de estructura de un módulo para prestashop]]. 
- 
-A continuación se explicará el mínimo código necesario que debe existir en el archivo principal del módulo nombre_del_modulo.php 
- 
-===== Definición del módulo ===== 
-En primer lugar hay que comprobar que existe una instalación de prestashop. Para ello lee la "constante de Prestashop" que es su número de versión. 
-Si no existe el módulo no continúa la carga.Previene que visitantes maliciosos carguen este archivo directamente. 
-Para ello: 
-<code php> 
-if (!defined('_PS_VERSION_')) 
- exit; 
-</code> 
- 
-En segundo lugar hay que definir el módulo. Debemos crear la clase que instanciará al módulo como un objeto PHP. Además debe de heredar de la clase "padre" de prestashop //Module// para poder disponer de las características básicas de cualquier módulo de prestashop: 
-<code php> 
-class MiModulo extends Module 
-{ 
- // Cuerpo del módulo 
-} 
-</code> 
- 
-===== Estructura interna del módulo ===== 
-El módulo tiene que tener al menos tres funciones básicas: 
-  * Constructor 
-  * Función de instalación 
-  * Función de desinstalación 
- 
-<code php> 
-class MiModulo extends Module 
-{ 
- public function __construct() 
- { 
- // Contenido de la función //constructor// que instanciará el objeto que será el módulo 
- } 
- public function install() 
- { 
- // Contenido de la función de instalación del módulo. Hace uso de la función de instalación de la clase //Module// 
- } 
- public function uninstall() 
- { 
- // Contenido de la función de desinstalación del módulo. Hace uso de la función de desinstalación de la clase //Module// 
- } 
- 
-} 
-</code> 
- 
-==== Constructor ==== 
-Para ampliar la información se puede recurrir a la [[http://doc.prestashop.com/display/PS16/Creating+a+first+module#Creatingafirstmodule-Theconstructormethod|página de desarrollo de prestashop]], de donde se extrajo esta información. 
-En el constructor se especifican los parámetros de la clase //Module//, además de lo que sea necesario para el correcto funcionamiento del módulo. 
-<code php> 
-$this->name = 'mymodule';    // Sirve como identificador. Debe tener el mismo nombre que el directorio del módulo  
-$this->tab = 'front_office_features';    // Sección de prestashop en que aparecerá el módulo. 
-$this->version = '1.0';   // Versión del módulo 
-$this->author = 'Firstname Lastname';    // Autor del módulo 
-$this->need_instance = 0;    // Si necesita mostrar un mensaje de warning en la página de módulos 
-$this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_);    // Indica las versiones de Prestashop con las que es compatible el módulo 
-$this->bootstrap = true;    // Indica si los archivos de plantilla han sido construidos con bootstrap tools 
-</code> 
- 
-Las posibles secciones en las que puede aparecer el módulo pueden verse en la tabla de la [[http://doc.prestashop.com/display/PS16/Creating+a+first+module#Creatingafirstmodule-Theconstructormethod|página de desarrollo de prestashop]]. 
- 
-Ahora debemos llamar a la clase constructor del método padre: 
-<code php> 
-parent::__construct(); 
-</code> 
- 
-Lo siguiente definir literales a mostrar en diferentes partes del módulo: 
-<code php> 
-$this->displayName = $this->l('My module');    // Nombre del módulo que se mostrará en el backoffice 
-$this->description = $this->l('Description of my module.');    //Descripción del módulo que será mostrada en el backoffice  
-  
-$this->confirmUninstall = $this->l('Are you sure you want to uninstall?');    // Mensaje que se muestra cuando se va a desinstalar el módulo 
-  
-if (!Configuration::get('MYMODULE_NAME'))   
-    $this->warning = $this->l('No name provided.');    // Se produce un warning si el módulo no tiene el valor MYMODULE_NAME establecido en la base de datos 
-</code> 
- 
-==== Instalador === 
-Para ampliar información, ver la [[http://doc.prestashop.com/display/PS16/Creating+a+first+module#Creatingafirstmodule-Theinstall()method|página de desarrollo de prestashop]]. 
-Esta función hereda todo lo necesario de la clase padre. 
-Es en esta función donde deberemos realizar operaciones necesarias al instalar el módulo, como por ejemplo: chequear determinadas características de la tienda, crear tablas SQL, copiar archivos, crear variables de configuración, etc. 
- 
-<code php> 
-// Función mínima de instalación 
-public function install() 
-{ 
- if (!parent::install()) 
- return false; 
- return true; 
-} 
-</code> 
- 
-==== Desinstalador ==== 
-Para ampliar información ver la [[http://doc.prestashop.com/display/PS16/Creating+a+first+module#Creatingafirstmodule-Theuninstall()method|página de desarrollo de prestashop]]. 
-Esta función hereda todo lo necesario de la clase padre. 
-Es en esta función donde deberemos realizar operaciones necesarias al desinstalar el módulo, para dejar el sistema limpio: borrar tablas SQL, borrar variables de configuración, etc.. 
- 
-<code php> 
-// Función mínima de desinstalación 
-public function uninstall() 
-{ 
- if (!parent ::uninstall()) 
- return false; 
- return true; 
-} 
-</code> 
- 
-===== Objeto //Configuration ===== 
- 
-===== Objeto //Shop// ===== 
prestashop/crearmodulo.1426872839.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki