Magento 2 Módulo Low Stock Notifier
Magento 2Módulo Low Stock Notifier
BioDesarrollador Web en SolucionexSymfony 1 y 2JavascriptCSS LESS SASSDrupal / WordpressMagento 1 y 2
Magento 2
Magento 2ComposerInyección de dependenciasLESSjQueryConsola de comandosPSRWidgetsResponsivePHP 5.5
Módulo Low Stock Notify
◼Posibles mejoras:
◼Comando, indicar el límite mediante entrada
◼Configuración del módulo marcar el límite del aviso.
Estructura módulo
app/code/vendor_name/module_name
Ficheros de definición del módulo
Definición y registro del módulo ◼app/code/Solucionex/LowStockNotify/etc/module.xml
◼app/code/Solucionex/LowStockNotify/registration.php
Configuración en la administración
◼Solucionex/Lowstocknotifier/adminhtml/system.xml
◼Enlace a referencia de elementos para administración
ACL Control de acceso
Configuración en la administración◼Validación de elementos
Asignar valores por defecto◼Solucionex/Lowstocknotifier/etc/config.xml
◼Valores por defecto para el módulo de configuracion
Plantilla para correo◼Lowstocknotifier/etc/config/emails_templates.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Email:etc/email_templates.xsd">
<template id="solucionex_lowstocknotifier_email_template_sendto" label="Low Stock Notifier - Send to
email" file="store_owner_to_store_owner.html" type="html" module="Solucionex_Lowstocknotifier"
area="frontend"/>
</config> id es el valor por defecto establecido para el campo sendto en el fichero config.xml
label indicará nombre que aparecerá en el área de administración Marketing => Communications => Email Templates.
area indica si se trata de frontend o back (adminhtml)
Activación del módulo◼Activamos el módulo
php bin/magento setup:upgrade
Nombre del módulo
Estado
Errores y depuración◼var/log/*
◼report/*
ACL (Access control list)◼En el fichero system.xml definimos un recurso,
que era el acl.
◼En el acl definimos el árbol donde se encuentra nuestro item de menú y su titulo en dicho árbol.
ACL (Access control list)
◼System => Permissions => User roles => Role resources
Console command◼Creamos el fichero di.xml donde definimos las
dependencias para el inyector. En la ruta /etc/di.xml
◼http://symfony.com/doc/current/components/console/introduction.html
Console command
Console command
DRY
Console command
DRY
Console command
php bin/magento
Console command
Console command
◼Mejoras:
◼Parámetro de entrada con límite de stock.◼Parámetro de entrada ignorando categorías…◼Stock por Store vía parámetro de entrada.◼Notificación por correo.
◼Recursos comandos:
◼http://symfony.com/doc/current/components/console/introduction.html
Creación del cronjob de magento◼php bin/magento cron:run
◼*/1 * * * * <path-to-binary> -c <ini-file-path> <your Magento install dir>/bin/magento cron:run [>> <log-file>&]*/1 * * * * <path-to-binary> -c <ini-file-path> <your Magento install dir>/update/cron.php [>> <log-file>&]*/1 * * * * <path-to-binary> -c <ini-file-path> <your Magento install dir>/bin/magento setup:cron:run [>> <log-file>&]
◼Creación del fichero etc/crontab.xml
Nombre único Frecuencia Clase y método
Grupo
Creación del cronjob de magento
Creación del cronjob de magento
view/frontend Variables para la plantilla
Captura de valores de configuración
Escribimos en el fichero de depuración el resultado
Creación del cronjob de magento
Creación del cronjob de magento
Recursos cronjobs
◼http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-cron.html
Traducciones◼Crear carpeta i18n con los csv con el patrón tipo
us_US.csv, es_ES.csv◼Formato de ejemplo:◼Sku,Código
Name,NombreCategory,CategoríaQty,Cantidad"Low Stock Notifier","Notificador stock bajo""Email Template Options","Opciones plantilla de correo""Store Owner to Store Owner Template","Plantilla de propietario de la tienda a propietario de la tienda"◼Obtener traducciones utilizadas en nuestro módulo:◼php bin/magento i18n:collect-phrases
app/code/<Vendor name>/<Module name>
Recurso de interés◼http://inchoo.net/category/magento-2/
◼http://alanstorm.com/category/magento-2
◼https://www.packtpub.com/