25
Mágikus Magento Bevezetés a Magento világába Ács János

Mágikus Magento - Bevezetés a Magento világába

Embed Size (px)

Citation preview

Page 1: Mágikus Magento - Bevezetés a Magento világába

Mágikus MagentoBevezetés a Magento világába

Ács János

Page 2: Mágikus Magento - Bevezetés a Magento világába

class Me

{

public $myName = “Ács János”;

public $myJob = “Software engineer @ Inviqa”;

public $myTwitter = @acsjani;

public $myMail = [email protected];

public function getProjectsIveWorkedOn()

{

return array(

'acnestudios.com',

'dreams.co.uk',

'smythson.com'

);

}

}

Page 3: Mágikus Magento - Bevezetés a Magento világába

Mi is az a Magento?

● Open Source

● eCommerce platform

● Zend framework (PHP) alapú

● Készítette: Varien (most Magento Inc)

● OOP, MVC, EAV

● Enterprice és Community edition

Page 4: Mágikus Magento - Bevezetés a Magento világába

Enterprise vs Community

● Commercial license● Magento Support● Private sales● Több store● Store staging / merging● Gift card● Store credit (reward)● Store szintű ACL● Admin log● SOLR integráció● 14 420 USD / év

● OSL v3.0

● Magento forums

● Alap funkciók

● 0 USD / év

Page 5: Mágikus Magento - Bevezetés a Magento világába

Na de fejlesztői szempontból?● MVC pici változtatásokkal, hozzáadott elemekkel

● EAV adatstruktúra a termékekhez és bármihez

● Event Listener pattern

● A modelleknél a Factory, Singleton, Registry,

Iterator, Object pool, Prototype, Lazy loading,

Service locator patterneket implementálták

● Konfiguráció alapú architektúra

● Működő és tesztelt order flow, termék modell,

cms és még sok más

Page 6: Mágikus Magento - Bevezetés a Magento világába

MVC (Model View Contoller) bővítések

● Layout configuráció - Minden 'action'-höz xml tartozik amely leírja, mit kell megjeleníteni

● Blokkok (Block) - Ezek a model és a view közé ékelődött megjelenítést segítő elemek. Egy oldal mindig blokkokból épül fel, ezek a layout xmlben definiálhatók

● Rewrite rendszer - A Magento minden default osztálya kiterjeszthető és a rewrite segítségével sajátra cserélhető. A rewrite-ot az adott modul saját config xmljében definiálhatjuk.

Page 7: Mágikus Magento - Bevezetés a Magento világába

EAV● Entity (entitás)

● Egy Magento adat elemet reprezentál, termékek (product), rendelések (order), kategóriák (category), felhasználók (customer)

● Attribute (attribútum)

● Egy entitás saját paramétereit reprezentálja, pl termék esetén: név, sku, méret, stb.

● Value (érték)

● Egy attribútum értékei, lehet integer, float, varchar, text, date

Page 8: Mágikus Magento - Bevezetés a Magento világába
Page 9: Mágikus Magento - Bevezetés a Magento világába
Page 10: Mágikus Magento - Bevezetés a Magento világába

Magento alap modulok

Saját modulok helye

Modul névtérModul neve

Config xml fileok helye

Db migrációs upgrade szkriptek helye

View helper osztályok

Model osztályok

BlokkokKontrollerek

Page 11: Mágikus Magento - Bevezetés a Magento világába

File szerkezet

● Kötött, minden előre meghatározott helyre kerül

● Osztály elnevezési konvenció

Szegedtech_Catalog_Model_Product_Type_Configurable

app/code/local/Szegedtech/Catalog/Model/Product/Type/Configurable.php

$configrableProduct =Mage::getModel('szegedtech_catalog/product_type_configurable');

Page 12: Mágikus Magento - Bevezetés a Magento világába

Mage modelMage_Core_Model_Abstract vagy Varien_Object classok valamelyikét terjeszti ki, ha szükséges

Legtöbbször tartozik hozzá egy Resource model is, amely az adatbázissal valo kommunikációt végzi.

Létezését definiálni kell a config.xml -ben

Page 13: Mágikus Magento - Bevezetés a Magento világába

Mage model config xml

Page 14: Mágikus Magento - Bevezetés a Magento világába

Mage model

Page 15: Mágikus Magento - Bevezetés a Magento világába

Event listeners

Page 16: Mágikus Magento - Bevezetés a Magento világába

Event dispatch

Page 17: Mágikus Magento - Bevezetés a Magento világába

…/Model/Observer.php

.../etc/config.xml

Page 18: Mágikus Magento - Bevezetés a Magento világába

Checkout és Order Flow

Page 19: Mágikus Magento - Bevezetés a Magento világába

Mit csinálunk mi pontosan?

A mi dolgunk a Magento testreszabása a kliens egyedi igénye szerint.

Ez magában foglalja a teljes skin készítést, az alapértelmezett funkciók módosítását, új modulok implementálását, third party modulok telepítését és módosítását, új

fizetési módok integrálását, stb...

Page 20: Mágikus Magento - Bevezetés a Magento világába

Enterprise szintű webfejlesztés

Scrum metodológia (napi standup, sprintek, story pontok, retrospective)

Unit teszt készítése minden módosításhoz (https://github.com/inviqa/Mage-Test)

100% code coverage a cél :)

Continuous Integration alkalmazása a fejlesztés alatt napi buildekkel

Mess detector, Code sniffer alkalmazása

SOLID principle

Page 21: Mágikus Magento - Bevezetés a Magento világába
Page 22: Mágikus Magento - Bevezetés a Magento világába

Inviqa launch in Szeged

2013. március 7. (csütörtök) 18:00

IH (www.ihrendezvenykozpont.hu)

Előadások- The Magento Way, modul fejlesztés és demo (Molnár Zsolt)

- Continuous Integration, miért és hogyan? (Nagy Norbert)

- Get to know Inviqa better (Yair Spitzer)

kaja, sör, stb.

tinyurl.com/inviqaszeged

Page 23: Mágikus Magento - Bevezetés a Magento világába

?

Page 24: Mágikus Magento - Bevezetés a Magento világába

We are hiring!

http://inviqa.com/careers

Page 25: Mágikus Magento - Bevezetés a Magento világába

Köszönöm a figyelmet :)