SlideShare una empresa de Scribd logo
1 de 122
Descargar para leer sin conexión
Magento Best Practices
Angel Villa
ashiak@on4u.es
@ashiak
Olmo González
olmox@on4u.es
@olmox
Mikel Ruiz
mikel@on4u.es
@mkruiz
Alberto Goya
agoya@on4u.es
@aGoya
www.on4u.es
Why Magento?
Día 1: Magento Admin
Día 2: Magento Design
Día 3: Magento Development
¿Descansos?
©nicmcphee at Flickr
Magento Admin
Día 1:
http://www.on4u.es/docs/doc/ManualMagento.pdf
Manual de Magento
Let's go!
Checklist (I)
✔
Instalación
✔
Permisos
✔
GIT
✔
Compilación
✔
Gestión de divisas
✔
Emails transaccionales
✔
Permisos
✔
Magento Connect
✔
Caches e índices
Checklist (II)
✔
Gestionar tiendas.
✔
Configuración [scope]
✔
Conf>Web: urls y usar CDN. Certificados SSL.
✔
Conf>Diseño>Encabezado-> Robots.txt
✔
Conf>Catálogo>SEO
✔
Configuración de divisas, precios (global o website)
✔
Conf->WYSIWYG
✔
Conf->Catálogo (tablas flat)
✔
Buscador y Términos de búsqueda
✔
Inventario
Checklist (III)
✔
Clientes-> Scope, impuestos, asignaciones a grupos
✔
Clientes->Carrito persistente
✔
Ventas->Impuestos, FPT
✔
Checkout->Métodos de envío
✔
Checkout->Métodos de pago
✔
Avanzado->Desarrollador
✔
Estados de pedidos
✔
Conjunto de atributos
✔
Categorías
✔
Poner el CRON de Magento
Recursos útiles
Guía de uso de GIT con Magento
https://www.sonassi.com/knowledge-base/our-magento-git-guide-and-work-flow/
Mejorar buscador
http://magento.stackexchange.com/questions/1137/search-type-like-full-text-or-combined
http://www.magentocommerce.com/magento-connect/catalog-search-refinement-free.html
Robots.txt para Magento
http://turnkeye.com/blog/optimize-robots-txt-for-magento/
Workflow de pedidos
http://go.magento.com/support/kb/entry/name/order-workflow
Cron en Magento
http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/how_to_setup_a_cron_job
Caso práctico
Distribuciones Exclusivas de Vinos de La Rioja, S.A (a.k.a. DEVILAR)
está orientada al mercado Europeo, por lo que tendrá 2 tiendas:
España en castellano y Reino Unido en inglés.
Algún producto sólo se puede vender en UK.
La de UK en libras con tasa de cambio fija (1GBP = 1,2349 EUR)
Los clientes con CIF válido entran al grupo de Clientes VIP.
Clientes VIP con precios especiales en algunos producto.
Para el producto Oferton de día, si te gastas más de 120€,
dicho producto tiene un 80% de descuento.
Filtros por: precio, graduación, municipio, añada.
Buscador busca en nombre, descripción y municipio.
El catálogo se muestra con IVA del 21% incluido.
El email de creación de pedido para usuarios registrados y no
registrados es el mismo y pone sólo “PEDIDO REGISTRADO”.
Crear sitemap.xml para es y uk.
Envío gratis para España con pedidos de >100€ y el resto 10€ de gastos.
Optimizar rendimiento para puesta en producción.
Aceptar Condiciones de compra al hacer el pedido y cumplir con EU Cookie.
Magento Design
Día 2:
La vista
MVC?
Prácticamente sí, pero no.
CONSECUENCIAS
1. Bloques y plantillas
2. Un bloque Una plantilla→
3. Objeto $this
app/design/frontend/base/default/template/page/1column.phtml
Anidamiento de bloques
Aquí falta algo...
1. ¿Cómo le digo qué bloques quiero utilizar?
2. ¿Cómo especifico un bloque hijo?
Layout (XML)
Comprendiendo el Layout XML
- Etiquetas XML
- Añaden/modifican/eliminan relaciones entre bloques
- Relacionan bloques estructurales con bloques de contenido
- Controlar funciones y añadir contenido HTML
- En app/design/frontend/[package]/[theme]/layout
- Un archivo XML de Layout por cada módulo Magento
Handles(manejadores)
- Elementos de primer nivel del nodo <layout>
- Cada uno representa un actualización del layout
- [nombre_modulo][nombre_controller][nombre_accion]
Ejemplo
contacs.xml
Elementos del Layout
Reference
- Referenciar un bloque ya definido.
- Debe coincidir con el atributo name del bloque
Block
- Define un nuevo bloque
- Obligatorios los campos name y type
- <block type="page/html" template="example/view.phtml">
Elementos del Layout
Remove
Action
- Define una acción a ejecutar
- Puede ser colocado dentro de reference o block
Update
- Carga un handle dentro de otro. Actualiza un bloque con el
contenido de otro.
Ejemplo
customer.xml
local.xml
HERENCIA
Proceso de
renderizado
- Se instancian los bloques.
- Solo los bloques de tipo output son añadidos al response.
- Page.xml.
- Bloque raíz (root)
- Los bloques hijos se renderizan con la llamada getChildHtml()
- Proceso recursivo
Bloques
Tipos de bloques
1. Bloques estructurales
2. Bloques dinámicos
3. Bloques dinámicos con datos personalizados
4. Bloques estáticos
Tipos de bloques
1. Bloques estructurales
2. Bloques dinámicos
3. Bloques dinámicos con datos personalizados
4. Bloques estáticos
Bloques estructurales
- Encapsulan los bloques de contenido organizando
visualmente los bloques.
- Se pueden crear bloques estructurales personalizados
- Todos los bloques hijos de uno estructural se muestran automáticamente
sin tener que usar el método getChildHtml() para cada uno de ellos.
(Ejemplo: newreference.phtml)
Bloques dinámicos (phtml)
- Bloques Magento ( categoría, carrito, usuario,...)
- Representan el contenido y las funcionalidades
1. Vía layout XML (Ejemplo: review_form)
2. Desde el CMS
3. Desde la plantilla
–
Bloques dinámicos personalizados
1. Vía layout XML
- Bloques personalizados
- Creamos un bloque y una plantilla asociada a este
personalizada.
2. Desde el CMS (Ejemplo: bestsellers)
Bloques estáticos (CMS Blocks)
- Se crean desde el admin. CMS Bloques estáticos→
- Útil para que los clientes.
1. Vía layout XML
2. Desde el CMS
3. Desde la plantilla
Tipos de bloque (Layout XML)
1. page/html
2. page/html_head
3. page/html_header
4. page/html_wrapper
5. page/html_breadcrumbs
6. page/html_footer
7. page/template_links
8. page/switch
9. core/messages
10. core/text_list
11. core/proofiler
12. page/html_noticies
¿Y tú que eres?
Yo soy explorador de Magento
Rutas en plantilla
Sistema -> Configuración -> Developer -> Depurar
Frontend de Magento
Paquetes y temas
Paquete
1. Colección de temas relacionados.
2. En Magento por defecto es “base”.
Tema
1. Varios por paquete.
2. Determina el contenido visual de nuestra tienda.
3. Solo puede pertenecer a un paquete.
Tema
App/design
Archivos que controlan como se representan las plantillas.
Skin
Archivos que controlan el aspecto visual del tema (css, javascript).
App/design
Layout
Contiene los archivos básicos XML que definen la estructura de bloque para
diferentes páginas.
Template
Archivos que contienen el PHP y el XHTML necesario para la representación
visual.
Locale
Contiene los CSV de traducción organizados por lenguaje.
Tema por defecto
Todos los paquetes tiene el tema por defecto “default”.
Directorios
Creando un nuevo tema
1. /app/design/frontend/new_package/new_theme/
2. /app/design/frontend/new_package/new_theme/layout
3. /app/design/frontend/new_package/new_theme/template
4. /skin/frontend/new_package/new_theme/
5. /skin/frontend/new_package/new_theme/css/
6. /skin/frontend/new_package/new_theme/images/
Archivos
1. /app/design/frontend/new_package/new_theme/layout/local.xml
2. /skin/frontend/new_package/new_theme/css/local.css
A practicar
(crear nuestro tema)
Admin CMS
Páginas (CMS Pages)
Bloques estáticos (Static blocks)
Aplicaciones (Widgets)
Tareas comunes
en Magento
- Añadir/quitar archivos/librerías
- Añadir/quitar enlaces a bloques
En plantilla
- Cambiar parámetros de los bloques
- Diferentes acciones para logueados/no-logueados
- Añadir imágenes
En plantilla
- Diseño personalizable por categoría
Navegación por capas : Display settings Is Anchor→ → yes
Incluir texto estático o imágenes.
- Navegación por capas
Ocultar/Mostrar atributos.
Atributos filtrables con/sin resultados
- Página de producto
Layout de la página de producto
Galería de imágenes
En el administrador
Snippets
Url de la página
<?php echo $this->getUrl('mypage'); ?>
Url de la imagen
<?php echo $this->getSkinUrl('images/button.gif'); ?>
Url del producto
<?php echo $this->getProductData()->getProductUrl(); ?>
Nombre del producto
<?php echo $this->htmlEscape($this->getProductData()->getName()); ?>
Mostrar todos los productos de una categoría
$categories = $_product->getCategoryIds();
foreach($categories as $k => $_category_id):
$_category = Mage::getModel('catalog/category')->load($_category_id);
<a href="<?php echo $_category->getUrl() ?>"><?php echo $_category->getName() ?>
<?php endforeach; ?>
Comprobar si un usuario esta logueado
$logged_in = Mage::getSingleton('customer/session')->isLoggedIn();
Cargar producto según su SKU
$_product = Mage::getModel('catalog/product')->loadByAttribute('sku', $product_sku);
Cargar producto según su ID
$_product = Mage::getModel('catalog/product')->load($product_id);
Cargar categoría según su ID
$_category = Mage::getModel('catalog/category')->load($category_id);
Obtener categoría actual
$_category = Mage::getModel('catalog/layer')->getCurrentCategory();
Obtener literal (para traducciones)
$text = $this->__('Content');
La práctica
1- Añadir enlace de Twitter en el apartado “Company” del pie.
2- Crear página “Condiciones de compra” y añadirla en los enlaces de la cabecera “Mi
Cuenta”.
3- Añadir un bloque estructural encima del pie donde aparezca un eslogan
4- Añadir un imagen (Enpresa Digitala) y que sea un enlace que lleve a su web en la
columna de la izquierda de la vista de categoría
5- Añadir una imagen/slider en nuestra “home”.
6- Modificar el valor “nofollow” al Meta tag robots
Recursos útiles
Oficial Magento designer guide
http://www.magentocommerce.com/resources/magento-user-guide
Magento: The right way
http://magentotherightway.com/
Magento Cheat Sheet
http://www.richdynamix.com/mcheat/
Magento Development
Día 3:
¿Herramientas?
Herencia
Local Community Core→ →
Crear un módulo
app/code/local/On4u/Holamundo/etc/config.xml
app/etc/modules/On4u_Holamundo.xml
Registro de Helpers, Bloques y Modelos (I)
app/code/local/On4u/Holamundo/etc/config.xml
Registro de Helpers, Bloques y Modelos (II)
app/code/local/On4u/Holamundo/Helper/Data.php
Lo mismo para:
app/code/local/On4u/Holamundo/Block
app/code/local/On4u/Holamundo/Model
La nomenclatura sigue la convención:
<Vendor namespace>_<Modulename>_<Objecttype>_<Classname>
Y para cargarlos:
Mage::getModel(“holamundo/ejemplo”);
Mage::helper(“holamundo/data”);
Crear página
app/code/local/On4u/Holamundo/etc/config.xml
app/code/local/On4u/Holamundo/controllers/IndexController.php
http://mi-magento.com/holamundo/index/hola/
app/code/local/On4u/Holamundo/etc/config.xml
~/layout/holamundo.xml
~/controllers/IndexController.php
Cargar layout
app/code/local/On4u/Holamundo/etc/config.xml
Traducciones
Creamos el fichero app/locale/xx_XX/On4u_Holamundo.csv con las traducciones:
“Literal”, “Traducción”
Y para utilizarlo:
echo $this­>__(“Literal a traducir”);
app/design/frontend/mitema/default/template/holamundo/newproducts.html
app/design/frontend/mitema/default/layout/holamundo.xml
app/code/local/On4u/Holamundo/Block/Newproducts.php
Bloques
app/code/local/On4u/Holamundo/etc/config.xml
app/code/local/On4u/Holamundo/Model/Catalog/Product.php
Reescribir una clase del core
+350 tablas
2 tipos de entidades (flat y EAV)
Convención de nombres
Algunas tablas
de core
Tablas FLAT
Conectar con BD de Magento
Conectar con otra BD externa
Trabajando con SQL Querys
Trabajando con Colecciones (Mejor opción)
Las entidades flat
La tabla de la base de datos
El objeto Model (lógica negocio)
El objeto Resource Model (conecta con BD p.e. save())
El objeto Resource Collection
Tablas EAV
Tipos de entidades:
catalog_category
catalog_product
creditmemo
customer
customer_address
invoice
order
shipment
Tipos de atributos:
Datetime
Decimal
Int
Varchar
Text
Tablas EAV para productos
Tablas Flat para entidades EAV
Ventajas:
Rendimiento
Desventajas:
Sincronización entre tablas (Magento Index)
Crece el tamaño del a base de datos
app/code/local/On4u/Holamundo/etc/config.xml
Scripts de
instalación
(core_resource)
app/code/local/On4u/Holamundo/sql/holamundo_setup/install­0.0.1.php
Crear tablas flat desde el modelo
app/code/local/On4u/Holamundo/etc/config.xml
Crear tablas flat desde el modelo (II)
Crear tablas flat desde el modelo (III)
Crear tablas flat desde el modelo (IV)
Crear tablas flat desde el modelo (V)
app/code/local/On4u/Holamundo/Model/Resource/Subscription/Collection.php
app/code/local/On4u/Holamundo/Model/Resource/Subscription.php
app/code/local/On4u/Holamundo/Model/Subscription.php
Crear tablas flat desde el modelo (V)
app/code/local/On4u/Holamundo/controllers/IndexControllers.php
Colecciones
app/code/local/On4u/Holamundo/controllers/IndexControllers.php
Filtros
­>addAttributeToFilter('entity_id', array ('in' => array(1, 7, 11)))
­>addAttributeToFilter('name', array ('like' => '%Oxford%'))
Mostrar la Query
$productCollection­>load();
Echo $productCollection­>getSelect()­>__toString();
Modificar datos
$productCollection­>setDataToAll('price', 20);  (al hacer save())
Backend
app/code/local/On4u/Holamundo/etc/config.xml
app/code/local/On4u/Holamundo/controllers/Adminhtml/Holamundo/IndexController.php
http://mimagento.com/index.php/admin/holamundo_index
Backend Menu
Backend ACL
Mage::getSingleton('admin/session')­>isAllowed('all')
Configuración del
sistema
Mage::getStoreConfig('<path>')
app/code/local/On4u/Holamundo/controllers/Adminhtml/Holamundo/SubscriptionController.php
Datagrid
app/code/local/On4u/Holamundo/Block/Adminhtml/Subscription.php
Datagrid (II)
app/code/local/On4u/Holamundo/Block/Adminhtml/Subscription/Grid.php
Datagrid (III)
Datagrid (IV)
Clientes
app/code/local/On4u/Holamundo/sql/holamundo_setup/upgrade­0.0.2­0.0.3.php
Source models
Eventos (crear)
app/code/local/On4u/Holamundo/controllers/IndexController.php
Eventos (observer)
app/code/local/On4u/Holamundo/etc/config.xml
app/code/local/On4u/Holamundo/Model/Observer.php
Eventos (observer)
app/code/local/On4u/Holamundo/etc/config.xml
app/code/local/On4u/Holamundo/Model/Observer.php
Cronjobs
app/code/local/On4u/Holamundo/etc/config.xml
app/code/local/On4u/Holamundo/Model/Observer.php
Para qué sirve un API
Interconectar sistemas para que se
entiendan entre ellos (internet of things)
Aplicaciones distribuidas.
El servidor ofrece unos servicios y el cliente
envía peticiones.
Interfaz abstracta reusable
Marshalling / Unmarshalling
REST vs SOAP
● SOAP
– Pros
● Fácil de automatizar
(sobre todo Java y cía)
● Wsdl
– Contras
● Implementaciones
anti-interoperabilidad
● Demasiado verboso
● REST
– Pros:
● Ubicuo
● Estándar
● Caching
● Statleeess (escalabilidad)
● JSON o XML o lo que sea.
– Contras
● Herramientas
● Autodocumentación /
Autogeneracion
● Verbos limitados
REST vs SOAP
Seguridad
● Oauth
● Basic
● Tokens (!= sesiones, pero la misma idea)
● Por oscuridad (NO USAR)
API+
● Acceso granular (recuperar sólo lo necesario) y filtrado
● Tipos bien definidos
●
“Desnormalizar” (reducir nº de peticiones)
● Multiformato
● Documentación y buenos errores *
● Versionado
● Disponibilidad y velocidad *
*Qué bueno es que haya niños Magentos para echarles la culpa.
API REST Magento
● http(s)://magentohost/api/rest
● Clientes, productos, inventario, pedidos(lectura)
● OAuth1.0a
● Métodos: GET, POST, PUT, DELETE
● Filtros: page, order, dir, limit, etc.
● ACL (admin, customer, guest) + roles +attributes
● JSON + XML
Elementos del API REST
● Módulo: Mage_Api2
– API SOAP v1 → API SOAP v2 (1.3) != API REST
– No se trata de extenderlo sino de usarlo
● Request Interpreters y response renderers
– URL query, json y xml
● Auth Adapters
– Oauth
● User Types
– Guest, customer, admin
● Route
– entity / collection
● Request → Dispatcher → Response
Elementos del API REST
● ACL:
– Global y filter
– Deciden qué roles acceden a qué atributos. Se usa
también como “filtro” para eliminar campos.
● Validator
– Comprueba que los parámetros de entrada sean
correctos.
● Resource
– Implementa la lógica de cada recurso
Extendiendo un recurso
● La implementación está en cada módulo
– Model/Api2/
● {Resourcename}.php
● {Resourcename}/
– Rest.php
– Rest/{Admin|Guest|Customer}/
● V{n}.php
– P.ej “CatalogInventory/Model/Api2/Stock”
● Item.php
● Item/Rest.php
● Item/Rest/Admin/V1.php
● Item/Validator/Item.php
api2.xml
● El pegamento que une todas las partes
● En /etc de cada módulo
– Resources (modelos)
– Atributos y roles (ACL)
– Rutas
– Validators
– Versiones disponibles
Config (api2.xml)
app/code/core/Mage/CatalogInventory/etc/api2.xml
Resource (Stock/Item.php)
app/code/core/Mage/CatalogInventory/Model/Api2/Stock/Item.php
app/code/core/Mage/CatalogInventory/Model/Api2/Stock/Item/Rest.php
GET _retrieve→
POST _create→
PUT _update→
DELETE _delete→
app/code/.../CatalogInventory/Model/Api2/Stock/Item/Rest/Admin/V1.php
Recursos útiles
Guía de uso de GIT con Magento
https://www.sonassi.com/knowledge-base/our-magento-git-guide-and-work-flow/
Scripts para administrar Magento desde consola
https://github.com/classyllama/Wiz
Herramienta para reparar la Base de datos de Magento
http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/db-repair-tool
Trabajar con colecciones
http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/using_collections_in_magento
Caso práctico
●
Hola Mundo por pantalla
●
Hola Mundo en un bloque con traducciones
●
Crear bloque de nuevos productos
●
Reescribir model de Product para poner CURSO delante del nombre
●
Instalador que cree un atributo a producto
●
Actualización que cree tabla de suscriptores
●
Colección que muestre los productos que tiene una 'A'
●
Acceso en menú de backend
●
ACL de permisos
●
Gestión de configuración
●
Actualización que cree atributo a cliente
Gracias ;)
www.on4u.es

Más contenido relacionado

La actualidad más candente

UDA-Componentes RUP. Feedback (v2.1.0 deprecado)
UDA-Componentes RUP. Feedback (v2.1.0 deprecado)UDA-Componentes RUP. Feedback (v2.1.0 deprecado)
UDA-Componentes RUP. Feedback (v2.1.0 deprecado)Ander Martinez
 
Introduccion a HTML - XHTML clase 04
Introduccion a HTML - XHTML clase 04Introduccion a HTML - XHTML clase 04
Introduccion a HTML - XHTML clase 04Héctor Estigarribia
 
Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1Esteban Saavedra
 
Introducción a WordPress en WordCamp Bilbao (luciamarin.es)
Introducción a WordPress en WordCamp Bilbao (luciamarin.es)Introducción a WordPress en WordCamp Bilbao (luciamarin.es)
Introducción a WordPress en WordCamp Bilbao (luciamarin.es)Lucía Marín
 
Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Sorey García
 
Grails: Framework para el desarrollo de aplicaciones Web No 4
Grails: Framework para el desarrollo de aplicaciones Web No 4Grails: Framework para el desarrollo de aplicaciones Web No 4
Grails: Framework para el desarrollo de aplicaciones Web No 4Esteban Saavedra
 
Introducción a HTML5 y CSS3 - ArtMedia 2011
Introducción a HTML5 y CSS3 - ArtMedia 2011Introducción a HTML5 y CSS3 - ArtMedia 2011
Introducción a HTML5 y CSS3 - ArtMedia 2011Hernan Beati
 
Presentación2
Presentación2Presentación2
Presentación2creto-96
 
Dreamweaver generalidades
Dreamweaver generalidadesDreamweaver generalidades
Dreamweaver generalidadesLuzrodrig
 

La actualidad más candente (16)

Semana 4 Estructura y componentes SPA
Semana 4  Estructura y componentes SPASemana 4  Estructura y componentes SPA
Semana 4 Estructura y componentes SPA
 
Especialista Web J8
Especialista Web J8Especialista Web J8
Especialista Web J8
 
Colegió nacional nicolás esguerra
Colegió nacional nicolás esguerraColegió nacional nicolás esguerra
Colegió nacional nicolás esguerra
 
HTML5 Nuevas Etiquetas Semanticas
HTML5 Nuevas Etiquetas SemanticasHTML5 Nuevas Etiquetas Semanticas
HTML5 Nuevas Etiquetas Semanticas
 
Semana 2 Configuración entorno de desarrollo
Semana 2   Configuración entorno de desarrolloSemana 2   Configuración entorno de desarrollo
Semana 2 Configuración entorno de desarrollo
 
UDA-Componentes RUP. Feedback (v2.1.0 deprecado)
UDA-Componentes RUP. Feedback (v2.1.0 deprecado)UDA-Componentes RUP. Feedback (v2.1.0 deprecado)
UDA-Componentes RUP. Feedback (v2.1.0 deprecado)
 
Introduccion a HTML - XHTML clase 04
Introduccion a HTML - XHTML clase 04Introduccion a HTML - XHTML clase 04
Introduccion a HTML - XHTML clase 04
 
Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1
 
Frames
FramesFrames
Frames
 
Introducción a WordPress en WordCamp Bilbao (luciamarin.es)
Introducción a WordPress en WordCamp Bilbao (luciamarin.es)Introducción a WordPress en WordCamp Bilbao (luciamarin.es)
Introducción a WordPress en WordCamp Bilbao (luciamarin.es)
 
Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)
 
Grails: Framework para el desarrollo de aplicaciones Web No 4
Grails: Framework para el desarrollo de aplicaciones Web No 4Grails: Framework para el desarrollo de aplicaciones Web No 4
Grails: Framework para el desarrollo de aplicaciones Web No 4
 
Introducción a HTML5 y CSS3 - ArtMedia 2011
Introducción a HTML5 y CSS3 - ArtMedia 2011Introducción a HTML5 y CSS3 - ArtMedia 2011
Introducción a HTML5 y CSS3 - ArtMedia 2011
 
Presentación2
Presentación2Presentación2
Presentación2
 
Dreamweaver generalidades
Dreamweaver generalidadesDreamweaver generalidades
Dreamweaver generalidades
 
Bootstrap, un framework CSS
Bootstrap, un framework CSSBootstrap, un framework CSS
Bootstrap, un framework CSS
 

Destacado

One page shops with Magento & Angular Js - Vinai Kopp
One page shops with Magento & Angular Js - Vinai KoppOne page shops with Magento & Angular Js - Vinai Kopp
One page shops with Magento & Angular Js - Vinai KoppMeet Magento Spain
 
Mr.ma choonwai(1m4u) financial resources for civil society
Mr.ma choonwai(1m4u) financial resources for civil societyMr.ma choonwai(1m4u) financial resources for civil society
Mr.ma choonwai(1m4u) financial resources for civil societyHasan Shabbir
 
OWD2011 - 4 - In de wolken met de DLWO - Beat Niderost
OWD2011 - 4 - In de wolken met de DLWO - Beat NiderostOWD2011 - 4 - In de wolken met de DLWO - Beat Niderost
OWD2011 - 4 - In de wolken met de DLWO - Beat NiderostSURF Events
 
We blieve in jesus
We blieve in jesusWe blieve in jesus
We blieve in jesusArab Muslim
 
AERPAS Presentation in CIvOps 2014 event
AERPAS Presentation in CIvOps 2014 eventAERPAS Presentation in CIvOps 2014 event
AERPAS Presentation in CIvOps 2014 eventLaura Samsó, MSc
 
ScarePoint Saturday - The 7 SharePoint Success Factors
ScarePoint Saturday - The 7 SharePoint Success FactorsScarePoint Saturday - The 7 SharePoint Success Factors
ScarePoint Saturday - The 7 SharePoint Success FactorsRichard Harbridge
 
Creating Your Own Web Site Idea Generator
Creating Your Own Web Site Idea GeneratorCreating Your Own Web Site Idea Generator
Creating Your Own Web Site Idea GeneratorDavid Gammel
 
Cosmoproject s.r.l. GB
Cosmoproject s.r.l. GBCosmoproject s.r.l. GB
Cosmoproject s.r.l. GBAnna Guarneri
 
Y tu que darías por una sonrisa
Y tu que darías por una sonrisaY tu que darías por una sonrisa
Y tu que darías por una sonrisaSofia190109
 
LTMS 14-15 opening day
LTMS 14-15 opening dayLTMS 14-15 opening day
LTMS 14-15 opening dayBobby Sr.
 
Conceptos termodinamicos
Conceptos termodinamicosConceptos termodinamicos
Conceptos termodinamicosArnold Alfonso
 
Informe del Consejo Nacional AMPI 2010
Informe del Consejo Nacional AMPI 2010 Informe del Consejo Nacional AMPI 2010
Informe del Consejo Nacional AMPI 2010 AMPI Nacional
 
Sap apo dp life cycle-planning
Sap apo dp life cycle-planningSap apo dp life cycle-planning
Sap apo dp life cycle-planningMohan Rao
 
Propuesta de @F_CreandoSalud frente a reforma de Isapres
Propuesta de @F_CreandoSalud frente a reforma de IsapresPropuesta de @F_CreandoSalud frente a reforma de Isapres
Propuesta de @F_CreandoSalud frente a reforma de IsapresMatías Goyenechea
 
200611 Developing Java web applications
200611 Developing Java web applications 200611 Developing Java web applications
200611 Developing Java web applications Javier Gonzalez-Sanchez
 
La Martina Future of Retail concept
La Martina Future of Retail conceptLa Martina Future of Retail concept
La Martina Future of Retail conceptMattia Rovini
 
Ovoproductos y productos de huevo
Ovoproductos y productos de huevoOvoproductos y productos de huevo
Ovoproductos y productos de huevoUsapeec
 

Destacado (20)

One page shops with Magento & Angular Js - Vinai Kopp
One page shops with Magento & Angular Js - Vinai KoppOne page shops with Magento & Angular Js - Vinai Kopp
One page shops with Magento & Angular Js - Vinai Kopp
 
Mr.ma choonwai(1m4u) financial resources for civil society
Mr.ma choonwai(1m4u) financial resources for civil societyMr.ma choonwai(1m4u) financial resources for civil society
Mr.ma choonwai(1m4u) financial resources for civil society
 
OWD2011 - 4 - In de wolken met de DLWO - Beat Niderost
OWD2011 - 4 - In de wolken met de DLWO - Beat NiderostOWD2011 - 4 - In de wolken met de DLWO - Beat Niderost
OWD2011 - 4 - In de wolken met de DLWO - Beat Niderost
 
We blieve in jesus
We blieve in jesusWe blieve in jesus
We blieve in jesus
 
AERPAS Presentation in CIvOps 2014 event
AERPAS Presentation in CIvOps 2014 eventAERPAS Presentation in CIvOps 2014 event
AERPAS Presentation in CIvOps 2014 event
 
ScarePoint Saturday - The 7 SharePoint Success Factors
ScarePoint Saturday - The 7 SharePoint Success FactorsScarePoint Saturday - The 7 SharePoint Success Factors
ScarePoint Saturday - The 7 SharePoint Success Factors
 
Creating Your Own Web Site Idea Generator
Creating Your Own Web Site Idea GeneratorCreating Your Own Web Site Idea Generator
Creating Your Own Web Site Idea Generator
 
Cosmoproject s.r.l. GB
Cosmoproject s.r.l. GBCosmoproject s.r.l. GB
Cosmoproject s.r.l. GB
 
Se juega como se entrena - Juan Carlos Cubeiro
Se juega como se entrena - Juan Carlos CubeiroSe juega como se entrena - Juan Carlos Cubeiro
Se juega como se entrena - Juan Carlos Cubeiro
 
Y tu que darías por una sonrisa
Y tu que darías por una sonrisaY tu que darías por una sonrisa
Y tu que darías por una sonrisa
 
LTMS 14-15 opening day
LTMS 14-15 opening dayLTMS 14-15 opening day
LTMS 14-15 opening day
 
Dossier2011
Dossier2011Dossier2011
Dossier2011
 
Conceptos termodinamicos
Conceptos termodinamicosConceptos termodinamicos
Conceptos termodinamicos
 
Informe del Consejo Nacional AMPI 2010
Informe del Consejo Nacional AMPI 2010 Informe del Consejo Nacional AMPI 2010
Informe del Consejo Nacional AMPI 2010
 
Folleto Modernist Cuisine
Folleto Modernist CuisineFolleto Modernist Cuisine
Folleto Modernist Cuisine
 
Sap apo dp life cycle-planning
Sap apo dp life cycle-planningSap apo dp life cycle-planning
Sap apo dp life cycle-planning
 
Propuesta de @F_CreandoSalud frente a reforma de Isapres
Propuesta de @F_CreandoSalud frente a reforma de IsapresPropuesta de @F_CreandoSalud frente a reforma de Isapres
Propuesta de @F_CreandoSalud frente a reforma de Isapres
 
200611 Developing Java web applications
200611 Developing Java web applications 200611 Developing Java web applications
200611 Developing Java web applications
 
La Martina Future of Retail concept
La Martina Future of Retail conceptLa Martina Future of Retail concept
La Martina Future of Retail concept
 
Ovoproductos y productos de huevo
Ovoproductos y productos de huevoOvoproductos y productos de huevo
Ovoproductos y productos de huevo
 

Similar a Magento Best Practices

JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!SergioIglesiasNET
 
Diseño en la web
Diseño en la webDiseño en la web
Diseño en la webMiguel Gea
 
Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Atenea tech
 
J!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoJ!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoSergioIglesiasNET
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPHP Vigo
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelosdokeosla
 
Presentación extensiones interesantes joomla
Presentación extensiones interesantes joomlaPresentación extensiones interesantes joomla
Presentación extensiones interesantes joomlaMadBlake
 
Crea tu plantilla de blogger
Crea tu plantilla de bloggerCrea tu plantilla de blogger
Crea tu plantilla de bloggerAntonio Gamez
 
MM15AR - Magento 2: Basado en una historia real
MM15AR - Magento 2: Basado en una historia realMM15AR - Magento 2: Basado en una historia real
MM15AR - Magento 2: Basado en una historia realFacundo Capua
 
#JoomlaIO - Desarrollo de Plantillas para Joomla!
#JoomlaIO - Desarrollo de Plantillas para Joomla!#JoomlaIO - Desarrollo de Plantillas para Joomla!
#JoomlaIO - Desarrollo de Plantillas para Joomla!SergioIglesiasNET
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010Omar Rios
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephpbetabeers
 
Cómo configurar el seo de tu drupal
Cómo configurar el seo de tu drupal  Cómo configurar el seo de tu drupal
Cómo configurar el seo de tu drupal Hiberus Tecnologia
 
Wordcamp España Online - Menos plugins y más optimización SEO
Wordcamp España Online - Menos plugins y más optimización SEOWordcamp España Online - Menos plugins y más optimización SEO
Wordcamp España Online - Menos plugins y más optimización SEODavid Ayala Gil
 
Directorio betabeers - symfony madrid
Directorio betabeers - symfony madridDirectorio betabeers - symfony madrid
Directorio betabeers - symfony madridbetabeers
 

Similar a Magento Best Practices (20)

JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
JoomlaDay Sevilla 2015 - Desarrollo de plantillas Joomla!
 
Diseño en la web
Diseño en la webDiseño en la web
Diseño en la web
 
Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012
 
J!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas AvanzadoJ!D Barcelona 2009 - Taller Plantillas Avanzado
J!D Barcelona 2009 - Taller Plantillas Avanzado
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigo
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelos
 
Presentación extensiones interesantes joomla
Presentación extensiones interesantes joomlaPresentación extensiones interesantes joomla
Presentación extensiones interesantes joomla
 
Crea tu plantilla de blogger
Crea tu plantilla de bloggerCrea tu plantilla de blogger
Crea tu plantilla de blogger
 
MM15AR - Magento 2: Basado en una historia real
MM15AR - Magento 2: Basado en una historia realMM15AR - Magento 2: Basado en una historia real
MM15AR - Magento 2: Basado en una historia real
 
#JoomlaIO - Desarrollo de Plantillas para Joomla!
#JoomlaIO - Desarrollo de Plantillas para Joomla!#JoomlaIO - Desarrollo de Plantillas para Joomla!
#JoomlaIO - Desarrollo de Plantillas para Joomla!
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
 
Diseño web
Diseño webDiseño web
Diseño web
 
HTML5 Web Components
HTML5 Web ComponentsHTML5 Web Components
HTML5 Web Components
 
Diseño web
Diseño webDiseño web
Diseño web
 
JqueryMobile
JqueryMobile JqueryMobile
JqueryMobile
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Cómo configurar el seo de tu drupal
Cómo configurar el seo de tu drupal  Cómo configurar el seo de tu drupal
Cómo configurar el seo de tu drupal
 
Wordcamp España Online - Menos plugins y más optimización SEO
Wordcamp España Online - Menos plugins y más optimización SEOWordcamp España Online - Menos plugins y más optimización SEO
Wordcamp España Online - Menos plugins y más optimización SEO
 
Directorio betabeers - symfony madrid
Directorio betabeers - symfony madridDirectorio betabeers - symfony madrid
Directorio betabeers - symfony madrid
 

Más de On4U Global Services

Comercio electrónico, 8 claves. Amurrio Bidean
Comercio electrónico, 8 claves. Amurrio BideanComercio electrónico, 8 claves. Amurrio Bidean
Comercio electrónico, 8 claves. Amurrio BideanOn4U Global Services
 
Comercio Electrónico I: recursos para vender más y mejor.
Comercio Electrónico I: recursos para vender más y mejor.Comercio Electrónico I: recursos para vender más y mejor.
Comercio Electrónico I: recursos para vender más y mejor.On4U Global Services
 
Vender en Internet: 8 claves del éxito (Presentación)
Vender en Internet: 8 claves del éxito (Presentación)Vender en Internet: 8 claves del éxito (Presentación)
Vender en Internet: 8 claves del éxito (Presentación)On4U Global Services
 
Vender en Internet: 8 claves del éxito
Vender en Internet: 8 claves del éxitoVender en Internet: 8 claves del éxito
Vender en Internet: 8 claves del éxitoOn4U Global Services
 
eCommerce de 3ª Generación: las reglas del juego han cambiado
eCommerce de 3ª Generación: las reglas del juego han cambiadoeCommerce de 3ª Generación: las reglas del juego han cambiado
eCommerce de 3ª Generación: las reglas del juego han cambiadoOn4U Global Services
 
¿Eres cautivo de tu plataforma eCommerce?
¿Eres cautivo de tu plataforma eCommerce?¿Eres cautivo de tu plataforma eCommerce?
¿Eres cautivo de tu plataforma eCommerce?On4U Global Services
 
eCommerce: expandiendo horizontes - DOC
eCommerce: expandiendo horizontes - DOCeCommerce: expandiendo horizontes - DOC
eCommerce: expandiendo horizontes - DOCOn4U Global Services
 
On4U en la revista Actualidad de la Cámara de Álava
On4U en la revista Actualidad de la Cámara de ÁlavaOn4U en la revista Actualidad de la Cámara de Álava
On4U en la revista Actualidad de la Cámara de ÁlavaOn4U Global Services
 

Más de On4U Global Services (16)

Comercio electrónico, 8 claves. Amurrio Bidean
Comercio electrónico, 8 claves. Amurrio BideanComercio electrónico, 8 claves. Amurrio Bidean
Comercio electrónico, 8 claves. Amurrio Bidean
 
Euskal Valley v9
Euskal Valley v9Euskal Valley v9
Euskal Valley v9
 
Comercio Electrónico I: recursos para vender más y mejor.
Comercio Electrónico I: recursos para vender más y mejor.Comercio Electrónico I: recursos para vender más y mejor.
Comercio Electrónico I: recursos para vender más y mejor.
 
Jornada: Vender en Internet 2012
Jornada: Vender en Internet 2012Jornada: Vender en Internet 2012
Jornada: Vender en Internet 2012
 
Magento, Magento2 y X.Commerce
Magento, Magento2 y X.CommerceMagento, Magento2 y X.Commerce
Magento, Magento2 y X.Commerce
 
Yuzz
YuzzYuzz
Yuzz
 
Vender en Internet: 8 claves del éxito (Presentación)
Vender en Internet: 8 claves del éxito (Presentación)Vender en Internet: 8 claves del éxito (Presentación)
Vender en Internet: 8 claves del éxito (Presentación)
 
Manual de Magento en Español
Manual de Magento en EspañolManual de Magento en Español
Manual de Magento en Español
 
Vender en Internet: 8 claves del éxito
Vender en Internet: 8 claves del éxitoVender en Internet: 8 claves del éxito
Vender en Internet: 8 claves del éxito
 
eCommerce de 3ª Generación: las reglas del juego han cambiado
eCommerce de 3ª Generación: las reglas del juego han cambiadoeCommerce de 3ª Generación: las reglas del juego han cambiado
eCommerce de 3ª Generación: las reglas del juego han cambiado
 
Em-pren-der
Em-pren-derEm-pren-der
Em-pren-der
 
5 Historias para no dormir
5 Historias para no dormir5 Historias para no dormir
5 Historias para no dormir
 
¿Eres cautivo de tu plataforma eCommerce?
¿Eres cautivo de tu plataforma eCommerce?¿Eres cautivo de tu plataforma eCommerce?
¿Eres cautivo de tu plataforma eCommerce?
 
eCommerce: expandiendo horizontes - DOC
eCommerce: expandiendo horizontes - DOCeCommerce: expandiendo horizontes - DOC
eCommerce: expandiendo horizontes - DOC
 
On4U en la revista Actualidad de la Cámara de Álava
On4U en la revista Actualidad de la Cámara de ÁlavaOn4U en la revista Actualidad de la Cámara de Álava
On4U en la revista Actualidad de la Cámara de Álava
 
eCommerce: expandiendo horizontes
eCommerce: expandiendo horizonteseCommerce: expandiendo horizontes
eCommerce: expandiendo horizontes
 

Magento Best Practices