SlideShare uma empresa Scribd logo
1 de 57
Baixar para ler offline
Magento

Kromesch Sándor
2014.01.28.
Áttekintés
Mi az a Magento

“The most flexible enterprise-class eCommerce platform
to power your business” (http://magento.com/)
Mi az a Magento

Minden negyedik online
üzlet a Megentot választja

5 million + Downloads

$25 billió+ dollár értékű
tranzakció minden évben

eBay tulajdona
Featurek
MARKETING PROMÓCIÓK ÉS ESZKÖZÖK
● Rugalmas kuponrendszer (árazási szabályok) felhasználói csoport-, időperiódus-, termék-, és
kategóriakorlátozásokkal.
● Katalógus promóciók - kedvezmény szabályok beállítása termékekre, kategóriákra
● Kosár promóciók - kedvezmény szabályok beállítása a kosár tartalma alapján
KERESŐ OPTIMALIZÁLÁS (SEO)
● Google Site map generálás
● Beszédes URL-ek - teljes kontroll
● Állítható meta adatok termékenként és kategóriánként
KATALÓGUS MENEDZSMENT
● Tömeges importálás/exportálás/frissítés
● Összecsomagolt, virtuális és letölthető termékek
● Vásárló által perszonalizált termékek (monogram stb.)
FELHASZNÁLÓI HOZZÁFÉRÉS
● Újrarendelés indítása
● Kívánságlista megjegyzésekkel
● Áttekintő riport a hozzáféréshez
● Megrendelések állapota és korábbi megrendelések listája
Featurek
STATISZTIKÁK ÉS RIPORTOK
● Összefoglaló riport az adminisztrációs felület nyitóoldalán
● Legtöbbet látogatott és leggyakrabban vásárolt terméklisták
● Vásárlói toplisták a megrendelések száma és a költések alapján
HÍRLEVÉL
● Egyedi megjelenésű levelek
● Időzített kiküldés
● Tömeges kiküldés
TERMÉK OLDAL
● Termékenként több kép
● Felhasználói vélemények
● Hasonló termékek
SZÁLLÍTÁS
● Szállítás több címre egy megrendelés keretében
● Többszöri kiszállítás egy megrendelés keretében
● Ingyenes szállítás, Sávos szállítási díjak
Featurek
RENDELÉS MENEDZSMENT
● Rendelések indítása, módosítása és törlése az adminisztrációs felületről
● Újrarendelések indítása az adminisztrációs felületről
● Email értesítések a rendelésekről
OLDAL MENEDZSMENT
● 100%-ig testre szabható megjelenés template-ek segítségével
● Tartalom menedzsment a belső oldalakra
● Web Service API, amelynek segítségével könnyen összeköthető külső rendszerekkel
KATALÓGUS OLDAL
● Párhuzamos kategóriák kezelése (egy termék több kategóriában is lehet)
● Termék összehasonlítás
● Hasonló termékek
VÁSÁRLÁSI FOLYAMAT
● Belépés nélküli vásárlás indítása
● Cím megadása a korábban megadott címekből
● Egy oldalas vásárlás
Featurek
FIZETÉS
● Több fizetési mód támogatása
● Vásárlás utánvéttel
● Bankkártyás fizetési modul integrálásának lehetősége
● Nemzetközi online fizetési rendszerek támogatása
Története
●

Varien kezdi fejleszteni Bento néven 2007 elején, mert nem elégedett az
osCommerce-el

●

2007 Augusztus az első publikus béta

●

2010 eBay 49%

●

2011 Június eBay 100%

●

2013 November a világ websitejainak 0,9% Magento (W3Techs becslés)

●

A top eCommerce site-ok több mint 20% használja
Elérhető változatok

1. Community edition
○ Free
2. Enterprise edition
○ Fizetős
3. Magento GO
○ SaaS
Elérhető változatok
Community

Enterprise

GO

Ár

Free

15.550$ - 49.990$ /
év

15$-125$ hónap

Célcsoport

Fejlesztők
> 50M$,
> 50.000 Uniq. Vis.
/hó

Mid-large business
< 15M$ online,
< 25.000 Uniq. Vis. /
hó

Small business
SKU < 10.000

Support

Nincs

Van

A csomagtól
függ

B2C

Van

Van

Van

B2B

Nincs / 3rd party
plugin

Van

Korlátozott
Őkoszisztéma

●

Magento Connect
○ Piactér (http://www.magentocommerce.com/magento-connect/)
○ Free és fizetős pluginek, themek

●

Themeforest - templatek
○ http://themeforest.net/category/ecommerce/magento

●

Egyedi plugin gyártók
○ http://aheadworks.com/
Követelmények (hivatalos)
OS:
● Linux x86, x86-64
Web Server:
● Apache 1.3.x
● Apache 2.0.x
● Apache 2.2.x
● Nginx (Magento 1.7 Community és 1.12 Enterprise)
Támogatott böngészők:
● Microsoft Internet Explorer 7+
● Mozilla Firefox 3.5+
● Apple Safari 5+ csak MAC
● Google Chrome 7+
● Adobe Flash plugin kell
MySQL:
● EE 1.13.0.0+: MySQL 5.0.2+
● EE 1.12.0.2-: MySQL 4.1.20+
● CE (minden verzió): MySQL 4.1.20+
SSL:
● Ha HTTPS használunk, akkor, SSL certificate-nek validnak kell lennie. Self-signed SSL
certificates nem támogatott
Követelmények (hivatalos)
PHP 5.2.13 - 5.3.24
Kötelező extensionök:
○ PDO_MySQL
○ simplexml
○ mcrypt
○ hash
○ GD
○ DOM
○ iconv
○ curl
○ SOAP (Ha Webservice API használatban van)
● Safe_mode off
● Memory_limit nem kisebb, mint 256Mb (ajánlott 512Mb)
Redis NoSQL (opcionális CE 1.8+, EE 1.13+)
● redis-server 2.6.9+
● phpredis 2.2.2+
Server - hosting - setup:
● Időzített feladatokhoz (crontab) + PHP 5
● .htaccess file override képesség
Felépítése
Alap felépítés
Könyvtárszerkezet
/app - itt van a kód
/ skin / {area} / {package} / {theme} / - design package assets-einek helye (css, img ..)
/ lib - libraryk mint a Zend és a Varien
/ js - JavaScript-ek (extjs, scriptaculous, prototype, tiny_mce)
/ media - feltöltött fileok (termé képek …)
/ var - ideiglenes fileok (cache, log, temp, session …)
/ includes - config.php
/ app / etc - globális konfiguráció
/ app / code - modulok helye (kontrollerek, modellek)
/ app / code / core - alap modulok
/ app / code / community - comunity (Magento Connect modulok)
/ app / code / local - egyedi modulok
/ app / code / core / Mage - Magento alap névtere
Könyvtárszerkezet
/ app / code / core / Mage / {Module} - modul gyölkérkönyvtár
/ app / code / core / Mage / {Module} / etc - modul konfiguráció
/ app / code / core / Mage / {Module} / controllers - modul kontrollerek
/ app / code / core / Mage / {Module} / Block - modul blokkok
/ app / code / core / Mage / {Module} / Model - modul modellek
/ app / code / core / Mage / {Module} / Model / Resource - modul erőforrás modellek
/ app / code / core / Mage / {Module} / sql - sql scriptek a modul install, upgrade-khez
/ app / code / core / Mage / {Module} / sql / {resource} / - erőforrás model specifikus upgrade-k
/ app / code / core / Mage / {Module} / sql / {resource} / {type}-{action}-{versions}.(sql|php) erőforrás update file-ok
Konfiguráció

●

XML alapú

●

Minden modulnak saját van

●

Ebben lehet mindent megadni
○

Saját modellek

○

Overrideok

○

Layoutok

○

Templatek
Alap modul config.xml

<config>
<modules>
<Magentotutorial_Configviewer>
<version>0.1.0</version>
</Magentotutorial_Configviewer>
</modules>
<global><!--...--> </global>
<admin><!--...--> </admin>
<adminhtml><!--...--> </adminhtml>
</config>
Events konfiguráció
<events>
<catalog_product_get_final_price>
<observers>
<xyz_catalog_price_observer>
<type>singleton|model|object|disabled</type>
<class>Xyz_Catalog_Model_Price_Observer</class>
<method>apply_discount_percent</method>
</xyz_catalog_price_observer>
</observers>
</catalog_product_get_final_price>
</events>

http://iansworld-nz.blogspot.hu/2013/04/magento-observer-types.html
Events implementáció
<?php
class Xyz_Catalog_Model_Price_Observer
{
public function __construct()

{

}

public function apply_discount_percent(
Varien_Event_Observer
$observer)
{
$event = $observer->getEvent();
$product = $event->getProduct();
/* Calculate discount */
return $this;
}
}
Override
<config>
<global>
<models>
<tag>
<rewrite> <tag>Your_Tag_Model_Tag</tag> </rewrite>
</tag>
<tag_resource>
<rewrite>
<tag>Your_Tag_Model_Resource_Tag</tag>
<tag_collection>Your_Tag_Model_Resource_Tag_Collection</tag_collection>
</rewrite>
</tag_resource>
</models>
</global>
</config>
EAV model
Mi is ez?
EAV model
Relációs model - User Table
EAV model
Relációs model - User Table

EAV: user_entity
table
EAV model
Relációs model - User Table

EAV: user_entity
table

user_values

EAV user_attribute
EAV model Magento
EAV model a gyakorlatban (model)
EAV model a gyakorlatban (model)
class Magentotutorial_Complexworld_Model_Resource_Eavblogpost
extends Mage_Eav_Model_Entity_Abstract
{
protected function _construct()
{
$resource = Mage::getSingleton('core/resource');
$this->setType('complexworld_eavblogpost');
$this->setConnection(
$resource->getConnection('complexworld_read'),
$resource->getConnection('complexworld_write')
);
}
}
EAV model a gyakorlatban (model)
class Magentotutorial_Complexworld_Model_Eavblogpost extends
Mage_Core_Model_Abstract {
protected function _construct()
{
$this->_init('complexworld/eavblogpost');
}
}
public function indexAction() {
$weblog2 = Mage::getModel('complexworld/eavblogpost');
$weblog2->load(1);
var_dump($weblog2);
}
Templatezés
Design package
Default package könyvtár szerkezet
Hol mi van?
Template - könyvtár szerkezet
/ app / design - is location of design packages (layouts, templates, translations)
/ app / design / frontend - frontend design
/ app / design / adminhtml - HTML admin panel design
/ app / design / {area} / {package} / {theme} - theme customizations
/ app / design / {area} / {package} / {theme} / layout - .xml files that define block structure for different
cases in website flow
/ app / design / {area} / {package} / {theme} / template - .phtml (html with php tags) templates
/ app / design / {area} / {package} / {theme} / locale - Zend_Translate compatible translation files for
package/theme
/ app / locale - locale files
Structural block
Content block
Layout leíró
<default>
<reference name="footer">
<!-- type: Module class id,
name: other block reference,
before,after: position in the structural block,
template: phtml file -->
<block type="cms/block" name="cms_footer_links" before="footer_links">
<!-The content of this block is taken from the database by its block_id.
You can manage it in admin CMS -> Static Blocks
-->
<action method="setBlockId"><block_id>footer_links</block_id></action>
</block>
</reference>
</default>
Reference
Remove
<default>
<remove name="left.permanent.callout" /> <!--the dog-->
<remove name="right.permanent.callout" /> <!--back to school-->
<remove name="catalog.compare.sidebar" /> <!--product compare-->
<remove name="paypal.partner.right.logo" /> <!--paypal logo-->
<remove name="cart_sidebar" /> <!--cart sidebar-->
<remove name="left.reports.product.viewed" /> <!--recently viewed prod-->
<remove name="right.reports.product.viewed" /> <!--recently viewed prod-->
<remove name="right.reports.product.compared" /> <!--recently compared prod-->
</default>
Layout blokkok
Modul fejlesztés
Modul fejlesztés

app
- code
- local
- YourNamespace
- LogProductUpdate
- etc
- config.xml
- etc
- modules
- YourNamespace_LogProductUpdate.xml
Konfigurálás
app/code/local/YourNamespace/HelloWorld/etc/config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- The root node for Magento module configuration -->
<config>
<!-- The module's node contains basic information about each Magento module
<modules>
<!-- This must exactly match the namespace and module's folder
names, with directory separators replaced by underscores -->
<YourNamespace_HelloWorld>
<!-- The version of our module, starting at 0.0.1 -->
<version>0.0.1</version>
</YourNamespace_HelloWorld>
</modules>
</config>

-->
Aktiválás
app/etc/modules/YourNamespace_HelloWorld.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<YourNamespace_HelloWorld>
<!-- Whether our module is active: true or false -->
<active>true</active>
<!-- Which code pool to use: core, community or local -->
<codePool>local</codePool>
</YourNamespace_HelloWorld>
</modules>
</config>
Controller konfigurálás
<global>
<!-- This node contains parameters, available on frontend -->
<frontend>
<!-- Module aliases are located in this block -->
<routers>
<!-- This node's name should be the same as our alias -->
<helloworld>
<!-- use parameter specifies which of basic routers needs to be used.
This can be "standard" for frontend or "admin" for backend -->
<use>standard</use>
<args>
<!-- This parameter specifies the full name of out module -->
<module>YourNamespace_HelloWorld</module>
<!-- This parameter sets module alias -->
<frontName>helloworld</frontName>
</args>
</helloworld>
</routers>
</frontend>
</global>
Controller class
app/code/local/YourNamespace/HelloWorld/controllers/IndexController.php
class YourNamespace_HelloWorld_IndexController extends
Mage_Core_Controller_Front_Action
{
public function indexAction()
{
/*
* Initialization of Mage_Core_Model_Layout model
*/
$this->loadLayout();
/*
* Building page according to layout confuration
*/
$this->renderLayout();
}
}
Layout
/app/design/frontend/default/default/layout/helloworld.xml
<?xml version="1.0" ?>
<!-- Root node for Magento layout configuration -->
<layout version="0.1.0">
<!--Page handle -->
<helloworld_index_index>
<!-- reference tag specifies the block where we a going to add
child block -->
<reference name="content">
<!-- Our page content block -->
<block type="core/template" name="helloworld" template="
helloworld/view.phtml"></block>
</reference>
</helloworld_index_index>
</layout>
View
/app/design/frontend/default/default/template/helloworld/view.phtml
<p>Hello World!</p>

app/etc/modules/YourNamespace_HelloWorld.xml
<frontend>
<!-- This node contains module layout configuration -->
<layout>
<updates>
<!-- module alias -->
<helloworld>
<!-- File for loading -->
<file>helloworld.xml</file>
</helloworld>
</updates>
</layout>
</frontend>
Tippek és trükkök
Tippek és trükkök 1.
Ha úgy tűnik valami nem fut le dobjuk el a cache-t vagy
kapcsoljuk ki
Tippek és trükkök 2.
Ha úgy tűnik valami nem fut le, lehet configurációs XML
hiba (syntax error)
Tippek és trükkök 3.
Ha úgy tűnik valami nem fut le, lehet hogy nincs
engedélyezve a modul
System/Configuration/Advanced/Disable Module Output
Tippek és trükkök 4
Magneto Debug tool
Köszönöm a figyelmet!

Kromesch Sándor
sandor.kromesch@erise.hu

Mais conteúdo relacionado

Semelhante a Magento

VMware vRealize Operation Manager inroduction experience at LAPKER
VMware vRealize Operation Manager inroduction experience at LAPKERVMware vRealize Operation Manager inroduction experience at LAPKER
VMware vRealize Operation Manager inroduction experience at LAPKERKiss Tibor
 
Hogyan fejlesztessünk webre II.
Hogyan fejlesztessünk webre II.Hogyan fejlesztessünk webre II.
Hogyan fejlesztessünk webre II.Imre Vitenyi
 
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokonCross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokoneRise
 
Optimalizálás kereskedelemre - Mobile Hungary 2014
Optimalizálás kereskedelemre - Mobile Hungary 2014Optimalizálás kereskedelemre - Mobile Hungary 2014
Optimalizálás kereskedelemre - Mobile Hungary 2014Máté Bublik
 
SMARTFRONT javascript meetup prez
SMARTFRONT javascript meetup prezSMARTFRONT javascript meetup prez
SMARTFRONT javascript meetup prezschramm_karoly
 
SEO - kereső optimalizáció az E-Bridges ONE STEP OPTIMIZATION csomaggal
SEO - kereső optimalizáció az E-Bridges ONE STEP OPTIMIZATION csomaggalSEO - kereső optimalizáció az E-Bridges ONE STEP OPTIMIZATION csomaggal
SEO - kereső optimalizáció az E-Bridges ONE STEP OPTIMIZATION csomaggalSoftinvent
 
Km expert workshop meta-inf - gáspár attila
Km expert workshop   meta-inf - gáspár attilaKm expert workshop   meta-inf - gáspár attila
Km expert workshop meta-inf - gáspár attilaTibor Gyulay
 
HTML5 esettanulmányok
HTML5 esettanulmányokHTML5 esettanulmányok
HTML5 esettanulmányokZoltán Dávid
 
Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (Attila Balogh-Biró
 
Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (Attila Balogh-Biró
 
CMS en túli webes megoldások
CMS en túli webes megoldásokCMS en túli webes megoldások
CMS en túli webes megoldásokTamas Rigo
 
Magento webáruházak leghasznosabb moduljai 2019-ben
Magento webáruházak leghasznosabb moduljai 2019-benMagento webáruházak leghasznosabb moduljai 2019-ben
Magento webáruházak leghasznosabb moduljai 2019-benKrisztián Száraz
 
Tóth Lajos - Személyes élmények az ITIL bevezetésével
Tóth Lajos - Személyes élmények az ITIL bevezetésévelTóth Lajos - Személyes élmények az ITIL bevezetésével
Tóth Lajos - Személyes élmények az ITIL bevezetésévelInformatikai Intézet
 
PHP Meetup: Yii használata nagyobb projektekben.
PHP Meetup: Yii használata nagyobb projektekben.PHP Meetup: Yii használata nagyobb projektekben.
PHP Meetup: Yii használata nagyobb projektekben.Szabolcs Bobor
 
Weboldalak progresszív fejlesztése
Weboldalak progresszív fejlesztéseWeboldalak progresszív fejlesztése
Weboldalak progresszív fejlesztésegyozke
 
3 Kremmer Laszlo Web Sphere PortáL FejlesztéS A Gyakorlatban
3 Kremmer Laszlo    Web Sphere PortáL FejlesztéS A Gyakorlatban3 Kremmer Laszlo    Web Sphere PortáL FejlesztéS A Gyakorlatban
3 Kremmer Laszlo Web Sphere PortáL FejlesztéS A GyakorlatbanPOLYGON Informatikai Kft.
 

Semelhante a Magento (20)

VMware vRealize Operation Manager inroduction experience at LAPKER
VMware vRealize Operation Manager inroduction experience at LAPKERVMware vRealize Operation Manager inroduction experience at LAPKER
VMware vRealize Operation Manager inroduction experience at LAPKER
 
Forum BPM
Forum BPMForum BPM
Forum BPM
 
Hogyan fejlesztessünk webre II.
Hogyan fejlesztessünk webre II.Hogyan fejlesztessünk webre II.
Hogyan fejlesztessünk webre II.
 
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokonCross Platform mobil app fejlesztés HTML5 JavaScript alapokon
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokon
 
Optimalizálás kereskedelemre - Mobile Hungary 2014
Optimalizálás kereskedelemre - Mobile Hungary 2014Optimalizálás kereskedelemre - Mobile Hungary 2014
Optimalizálás kereskedelemre - Mobile Hungary 2014
 
SimpleXpense-prezi
SimpleXpense-preziSimpleXpense-prezi
SimpleXpense-prezi
 
SMARTFRONT javascript meetup prez
SMARTFRONT javascript meetup prezSMARTFRONT javascript meetup prez
SMARTFRONT javascript meetup prez
 
SEO - kereső optimalizáció az E-Bridges ONE STEP OPTIMIZATION csomaggal
SEO - kereső optimalizáció az E-Bridges ONE STEP OPTIMIZATION csomaggalSEO - kereső optimalizáció az E-Bridges ONE STEP OPTIMIZATION csomaggal
SEO - kereső optimalizáció az E-Bridges ONE STEP OPTIMIZATION csomaggal
 
Km expert workshop meta-inf - gáspár attila
Km expert workshop   meta-inf - gáspár attilaKm expert workshop   meta-inf - gáspár attila
Km expert workshop meta-inf - gáspár attila
 
HTML5 esettanulmányok
HTML5 esettanulmányokHTML5 esettanulmányok
HTML5 esettanulmányok
 
Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (
 
Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (Enterprise java evolució, avagy java ee (
Enterprise java evolució, avagy java ee (
 
Drupal vs Joomla
Drupal vs JoomlaDrupal vs Joomla
Drupal vs Joomla
 
CMS en túli webes megoldások
CMS en túli webes megoldásokCMS en túli webes megoldások
CMS en túli webes megoldások
 
Magento webáruházak leghasznosabb moduljai 2019-ben
Magento webáruházak leghasznosabb moduljai 2019-benMagento webáruházak leghasznosabb moduljai 2019-ben
Magento webáruházak leghasznosabb moduljai 2019-ben
 
Tóth Lajos - Személyes élmények az ITIL bevezetésével
Tóth Lajos - Személyes élmények az ITIL bevezetésévelTóth Lajos - Személyes élmények az ITIL bevezetésével
Tóth Lajos - Személyes élmények az ITIL bevezetésével
 
PHP Meetup: Yii használata nagyobb projektekben.
PHP Meetup: Yii használata nagyobb projektekben.PHP Meetup: Yii használata nagyobb projektekben.
PHP Meetup: Yii használata nagyobb projektekben.
 
Weboldalak progresszív fejlesztése
Weboldalak progresszív fejlesztéseWeboldalak progresszív fejlesztése
Weboldalak progresszív fejlesztése
 
Moodle2 újdonságok
Moodle2  újdonságokMoodle2  újdonságok
Moodle2 újdonságok
 
3 Kremmer Laszlo Web Sphere PortáL FejlesztéS A Gyakorlatban
3 Kremmer Laszlo    Web Sphere PortáL FejlesztéS A Gyakorlatban3 Kremmer Laszlo    Web Sphere PortáL FejlesztéS A Gyakorlatban
3 Kremmer Laszlo Web Sphere PortáL FejlesztéS A Gyakorlatban
 

Magento