« Dans le monde des tutoriaux, le Hello World est roi »
Autant le dire tout de suite, il y a environs 500² manières de faire un Hello World avec Magento, il n’y a pas LA bonne façon de le faire, tout dépend exactement de ce que vous souhaitez faire précisément.
Pour ce tutoriel, qui est le premier d’une petite liste de tutoriaux, nous allons créer un module Magento pour effectuer notre hello world. Cela impliquera donc :
- La création d’un module qui nous suivra tout au long de ces tutoriaux
- La création d’un controller simple
- La création d’un layout
- La création d’un phtml
Comme vous l’aurez compris, nous allons aborder une petite partie des bases de Magento.
Note : pour ce tutoriel, nous travaillerons dans local pour le code backend et dans base pour le design frontend.
Il faut d’abord commencer par créer le fichier config.xml, qui contiendra les configurations du module.
Dans un cas général, il faut mettre, sous local, l’arborescence type app/code/local/<Namespace>/<ModuleName>/etc (ici, app/code/local/Adfab/Tuto/etc).
<?xml version="1.0"?> <config> <modules> <Adfab_Tuto> <version>0.0.1</version> </Adfab_Tuto> </modules> <frontend> <routers> <tuto> <use>standard</use> <args> <module>Adfab_Tuto</module> <frontName>tuto</frontName> </args> </tuto> </routers> <layout> <updates> <adfab_tuto> <file>adfab_tuto.xml</file> </adfab_tuto> </updates> </layout> </frontend> </config>
Ce fichier donne les informations suivantes :
- Le module est en version 0.0.1
- Le router front se nomme « tuto »
- Le layout de customisation est adfab_tuto.xml.
Pour ce tutoriel, nous n’aurons besoin de rien d’autre dans ce fichier.
Il faut ensuite indiquer à Magento la présence d’un nouveau module. Pour cela, il faut créer le fichier app/etc/modules/<Namespace>_<ModuleName>.xml (ici, app/etc/modules/Adfab_Tuto.xml)
<?xml version="1.0"?> <config> <modules> <Adfab_Tuto> <active>true</active> <codePool>local</codePool> </Adfab_Tuto> </modules> </config>
Ce fichier donne les informations suivantes :
- Le module Adfab_Tuto est activé
- Il se trouve dans local (si votre module est dans community, il faut mettre community)
Votre module est maintenant opérationnel, même s’il ne fait rien.
Nous allons maintenant créer notre controller, il se trouvera dans app/code/local/Adfab/Tuto/controllers et je l’ai nommé HelloController.php
<?php class Adfab_Tuto_HelloController extends Mage_Core_Controller_Front_Action { public function worldAction(){ $this->loadLayout(); $this->renderLayout(); } }
Le controller contient l’action world, celle-ci charge le layout et le fourni à la vue.
Comme indiqué dans mon fichier config.xml, le fichier layout doit se nommer adfab_tuto.xml et il se trouve dans app\design\frontend\base\default\layout
<?xml version="1.0"?> <layout version="0.0.1"> <tuto_hello_world> <reference name="root"> <action method="setTemplate"><template>page/1column.phtml</template></action> </reference> <reference name="content"> <block type="core/template" name="hello.world" template="adfab/tuto/helloworld.phtml" /> </reference> </tuto_hello_world> </layout>
Il ne nous reste plus qu’à créer notre fichier helloworld.phtml dans app\design\frontend\base\default\template\adfab\tuto
<p>! Hello World !</p>
Il est temps d’aller voir le résultat à l’adresse suivante http://monsite/<frontName>/<controllerName>/<actionName> (ici, tuto.local/tuto/hello/world)
Pour la partie deux des tutoriaux magento, nous aborderons les notions de :
- Helper
- Block
- Config (Back-Office)
- Mysql install/update