Bienvenidos a un nuevo curso. Ahora estoy en el ciclo de grado superior: Desarrollo de aplicaciones multiplataforma. Y voy a ser parte del experimento de la formación dual. Estaré haciendo practicas durante un año, y a la vez finalizando la formación.

Deseadme suerte.

jueves, 7 de julio de 2016

Módulos de PrestaShop I

0

En las prácticas me han asignado trabajar con los módulos de PrestaShop. 
Os voy a dejar los ejemplos que me estoy haciendo para conseguir soltura, antes de crear el mio propio, que me han solicitado. 
Por cierto, nuevas reglas: buscar en ingles la información.
Aquí tenéis el linkAhi tambien podeis encontrar información sobre PrestaShop. 
Lenguajes que usaremos hoy XML y PHP. 
Programas usados: XAMPP, JetBrains y notepad++.
Básicamente hoy hemos creado un modulo que te cambia el nombre del modulo.
Yo trabajo sobre una tienda ya creada previamente, la aplicación es gratuita, podéis crearos la vuestra.
1.- Nos dirigimos a C:\xampp\htdocs\tienda\modules
2.-Ahí añadimos nuestro esqueleto del modulo, que os podéis descargar aquí.
3.- Creación del XML


4.- Nuestro módulo php
Importante que el documento php y la carpeta y la clase del modulo se llamen igual

 <?php

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

class blogModulePrestashop extends Module
{
/**
* ModulePrestashop constructor.
*/
public function __construct()
{
$this->name = 'blogmoduleprestashop';
$this->tab = 'others';
$this->version = '1.0';
$this->author = 'Navis';
$this->need_instance = 0;
$this->ps_versions_compilancy = array('min' => '1.5', 'max' => '1.6');
$this->bootstrap = true;

parent::__construct();

$this->displayName = $this->l('Módulo vacío por Navis para Prestashop');
$this->description = $this->l('');
$this->confirmUninstall = $this->l('Are you sure you want to uninstall?');

if (!Configuration::get('MYMODULE_NAME'))
$this->warning = $this->l('No name provided.');

/*$this->start();*/
}

/**
* ModulePrestashop installation.
*/
public function install()
{
if (!parent::install())
return false;
return true;
}

/**
* ModulePrestashop uninstallation.
*/
public function uninstall()
{
if (!parent::uninstall())
return false;
return true;
}

/**
* ModulePrestashop Content example web.
*/
public function getContent()
{
$output = null;

if (Tools::isSubmit('submit'.$this->name))
{
$my_module_name = strval(Tools::getValue('MYMODULE_NAME'));
if (!$my_module_name
|| empty($my_module_name)
|| !Validate::isGenericName($my_module_name))
$output .= $this->displayError($this->l('Invalid Configuration value'));
else
{
Configuration::updateValue('MYMODULE_NAME', $my_module_name);
$output .= $this->displayConfirmation($this->l('Settings updated'));
}
}
return $output.$this->displayForm();
}

/**
* ModulePrestashop displayForm example web.
*/
public function displayForm()
{
// Get default language
$default_lang = (int)Configuration::get('PS_LANG_DEFAULT');

// Init Fields form array
$fields_form[0]['form'] = array(
'legend' => array(
'title' => $this->l('Settings'),
),
'input' => array(
array(
'type' => 'text',
'label' => $this->l('Configuration value'),
'name' => 'MYMODULE_NAME',
'size' => 20,
'required' => true
)
),
'submit' => array(
'title' => $this->l('Save'),
'class' => 'btn btn-default pull-right'
)
);

$helper = new HelperForm();

// Module, token and currentIndex
$helper->module = $this;
$helper->name_controller = $this->name;
$helper->token = Tools::getAdminTokenLite('AdminModules');
$helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name;

// Language
$helper->default_form_language = $default_lang;
$helper->allow_employee_form_lang = $default_lang;

// Title and toolbar
$helper->title = $this->displayName;
$helper->show_toolbar = true;        // false -> remove toolbar
$helper->toolbar_scroll = true;      // yes - > Toolbar is always visible on the top of the screen.
$helper->submit_action = 'submit'.$this->name;
$helper->toolbar_btn = array(
'save' =>
array(
'desc' => $this->l('Save'),
'href' => AdminController::$currentIndex.'&configure='.$this->name.'&save'.$this->name.
'&token='.Tools::getAdminTokenLite('AdminModules'),
),
'back' => array(
'href' => AdminController::$currentIndex.'&token='.Tools::getAdminTokenLite('AdminModules'),
'desc' => $this->l('Back to list')
)
);

// Load current value
$helper->fields_value['MYMODULE_NAME'] = Configuration::get('MYMODULE_NAME');

return $helper->generateForm($fields_form);
}
}


5.- Accedemos a nuestro zona de administración de nuestro PrestaShop



6.- Instalamos
Es posible, que al ser desconocidos, nos aparezca un mensaje 


7.- Ya esta preparado para su uso: 



Continuará... 

0 comentarios:

Publicar un comentario

Etiquetas actuales

BD (67) DEF (64) PROG (64) SQL (44) Java (29) PRACTICAS (20) php (18) DI (16) PRESTASHOP (16) PROGRAMACIÓN WEB (16) HTML (13) SGE (12) ERP (9) CONSULTAS (8) css (8) Linux (5) XML (5) Android (4) PDM (4) C (3) NetBeans (3) PSP (3) SMARTY (3) comandos (3) HOOK (2) POST (2) XSD (2) cURL (2) JS (1) MEDIA-QUERYS (1) PDO (1) RESPONSIVE (1) TPL (1) TRADUCCIÓN (1) app_inventor (1)

Todas las etiquetas

EJER (78) BD (67) DEF (64) PROG (64) SQL (44) c# (40) Programación (39) Ficheros (36) Java (29) bases de datos (21) PRACTICAS (20) lenguajes de marcas (19) AD (18) Entorno de desarrollo (18) php (18) PROCEDIMIENTOS (17) DI (16) FORM (16) PRESTASHOP (16) PROGRAMACIÓN WEB (16) lenguaje C (16) E/R (14) HTML (13) SGE (12) Sistemas informáticos (10) ERP (9) CONSULTAS (8) TRANSACCIONES (8) TRIGGER (8) VISUAL BASIC (8) css (8) FUNCIONES (7) html5 (6) Ada (5) EXAMEN (5) Linux (5) XML (5) estructuras (5) Android (4) DISEÑO (4) INTERFAZ (4) LOG (4) OpenBravo (4) PDM (4) ACTUALIZAR (3) C (3) DIAGRAMA (3) Directorios (3) NEW (3) NOR (3) NetBeans (3) OLD (3) PSP (3) SMARTY (3) comandos (3) css3 (3) AISLAMIENTOS (2) C++ (2) CONTROLERRORES (2) ELIMINAR (2) HOOK (2) INSERTAR (2) INST (2) MULTITABLA (2) POST (2) RECURSIVIDAD (2) SUBCONSULTAS (2) VISTAS (2) XSD (2) cURL (2) punteros (2) AJENA (1) BLOQUEOS (1) Byte (1) CREACION (1) CRM (1) Configuración (1) Controles (1) Datos (1) GOTFOCUS (1) IMAGENES (1) INDICES (1) JS (1) Lenght (1) MEDIA-QUERYS (1) Mingw (1) MonoDeveloped (1) OPTIMISTA (1) PDO (1) PESIMISTA (1) RESPONSIVE (1) SPEAK (1) Scanner (1) Serializacion (1) Streams (1) System (1) TPL (1) TRADUCCIÓN (1) USUARIOS (1) UseSystemPasswordChar (1) app_inventor (1) char (1) examenes (1) libreoffice (1) make (1) redes (1)