Magento összefoglaló a 2014.01.28-ai PHP Meetup (Budapest) keretében. A Magento az eBay tulajdonában lévő robosztus eCommerce platform. A prezentációban áttekintést kapsz a rendszer alapjairól.
3. Mi az a Magento
“The most flexible enterprise-class eCommerce platform
to power your business” (http://magento.com/)
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
11. 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
13. 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
14. 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
31. 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')
);
}
}
32. 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);
}
40. 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>
46. 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>
-->
48. 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>