Date post: | 29-Nov-2014 |
Category: |
Technology |
Upload: | jarne-w-beutnagel |
View: | 1,180 times |
Download: | 0 times |
EAAA ITDays October 2012 Jarne W. Beutnagel
www.beutnagel.dk/itdays2012/
Introduction to the Magento eCommerce Platform
PURPOSE Give a general introduction to Magento
“Introduce the system on the conceptual level and practical level
regarding administration and development”
1. What is Magento? 2. Core Concepts 3. Technical Overview
Overview
WHAT IS MAGENTO? Killer features and pitiful drawbacks
Powerful Open Source (read FREE) eCommerce System
The World’s Fastest Growing eCommerce System
Owned by eBay
Started in the osCommerce development community
Comes in three versions: Community, Enterprise & Go
Try it out online
Enterprise: http://www.magentocommerce.com/demo Community: http://demo.magentocommerce.com/
Multi store
Powerful price rules
SEO friendly
Flexible theming
Expandable through plugins
Huge Community
Killer Features
High server requirements (especially RAM)
Can be difficult, at times illogical
Weak Content Management
Requires custom development
Upgrading is not automatic
Downsides
DEMONSTRATION Because looking at slides is boring
CATEGORIES Organizing products
Custom Design It is possible to apply a different design for a given time period
Is Anchor Allows for layered navigation with attribute filtering
Warning: URLS Automatic 301 redirects are set up for categories Each unique URL is limited for one time usage Can’t change and then change back
ATTRIBUTES Controlling product information
Attribute sets Defines which information is available for a product
PRODUCT TYPES The difference between them
1) Standalone Products
Simple Products A physical product with a single SKU
Virtual Products A non-physical product, e.g. warranty or service
Downloable Products A digital product that will be made available for download after purchase
2) Product Collections
Grouped Products A collection of simple products sold in a group
Configurable Products A single product that have configurable options, where each option represent a simple product
Bundle Products Lets the customer build their own collection, selecting between simple products (e.g. gift basket)
SCOPE The hierarchy and reach of settings
Different Levels Websites, Stores, Store Views Global/Default
Websites Consists of one or more stores that can share customer data Operates at the Business level
Stores Contains the product catalogue and categories Operates at the Webshop level
Store Views Contains the localization of a webshop, with translations and localized content Operates at the localized level
Global / Default This is the top level that is shared between all websites Operates at the installation level
EMAILS Requires setup in several different places
How to setup Admin Add email addresses Files Download language package Editor Load template files Admin Select templates
TECHNICAL OVERVIEW Developing for Magento
LAMP (recommended, but not required)
PHP 5+ OOP • Zend Framework • PEAR • Apache Solr PHP Client
JS • Prototype, script.aculo.us & jQuery • TinyMCE
The Specs
Model
Controller View
MVC
Model Business Logic
Functionality
Data control
View Presentation Logic
Themes
Layouts
Templates
Skins
Known as “Blocks”
Controllers Event Observers
Routing
PLUGINS/MODULES Extending the functionality
• Manual • Magento connect
Installation
Upload files to serve Clear cache Log out of admin / log in again
Manual
magentocommerce.com/magento-connect/ example: http://www.magentocommerce.com/magento-connect/catalogsearch/result/?q=matrix+rates&pl=0
Magento connect
Consist of • Configuration • Blocks (ala views) • Models • Controllers • Database schema
Modules
File Structure Understanding where to find what
/app/code/ Functionality
/app/code/core/ Core functionality developed by the Magento team DO NOT TOUCH!
/app/code/community/ Functionality developed by the open source community DO NOT TOUCH!
/app/code/local/ Local development files and installed modules Place your files here
/app/design/ Presentation
/app/design/frontend/ Root folder for all presentation files for the client side
/app/design/frontend/base/ All the basic hooks into the core functionality that are required by a theme
/app/design/frontend/default/ Default themes – blank, default, iphone & modern
/app/design/frontend/yourtheme/ Create a new folder for your own them and start building on top of the existing files
The Design Fallback If Magento can’t find a file in your them, it falls back to the base folder in the following order 1. custom_package/custom_theme/ 2. custom_package/default/ 3. base/default/
/locale/ Localization
/locale/language_id/ Within this folder are the translation files in csv format and a folder for email templates
THE CACHE General concept of performance optimazation
Cache storage Save the result of a calculation and serving it to the following clients A calculation only happens once
Example: A user requests a page from the server and Magento calculates everything to display this page. This result is then saved so that the next user will get the saved (cached) version instead of having Magento calculate it again.
Experiencing problems? Then flush!
THE INDEX Keeping the database optimized
Why Index? The Magento database is HUGE!
Database
Why Index? The Magento database is HUGE! Data is spread out between different tables
Why Index? The Magento database is HUGE! Data is spread out between different tables This leads to slow performance when gathering data from many tables
The Solution? Create extra tables in the database where the data is store together Serves as an abstraction, giving fast data response Only needs to be updated when something changes Only the area of change needs update
Experiencing problems? Reindex solves 90% of them!
Translation Possible to do from file or on the fly
Translation can be done by either: Adding a translation file (best) Translate Inline (easy)
Any Questions?
Thank you www.beutnagel.dk/itdays2012/