The Installer – Part II

Dans l’article The Installer – Part I nous avons vu comment mettre en place The Installer sur votre poste de travail. Voyons maintenant comment l’utiliser pour déployer rapidement le squelette d’une extension Magento.

Variables git

Avant tout, une chose reste à faire pour finaliser la configuration. Déclarer des varibles git. En effet, The Installer s’appuie sur des variables git pour la génération de la documentation, nous partons donc du principe que votre projet est versionné avec git. Si ce n’est pas le cas, à la racine de votre projet lancez cette commande:

#initialisation de git
git init

Une fois votre dépôt initialisé vous pouvez déclarer vos variables (cela sera à renouveler pour chaque nouveau projet) :

git config jbh-installer.company-name "The Company"
git config jbh-installer.company-name-short "company"
git config jbh-installer.user-name "John Doe"
git config jbh-installer.user-email "john.doe@example.org"
git config jbh-installer.company-url "http://example.org"

Lancer The Installer

Vous pouvez maintenant lancer The Installer en veillant bien à être à la racine de votre projet Magento:

#commande permettant de lancer l Installer
Installer

Info: La commande help vous permet de lister toutes les commandes.

Construction du squelette de l’extension

Création du Module

Nous allons maintenant construire le squelette d’une extension Magento. Cette extension aura pour package Mjoey, nom Example et sera dans la partie local du code. La commande mod permet de définir tout cela ainsi:

mod Mjoey Example local
Using: Mjoey_Example in local
Mjoey_Example> 

Voici l’arborescence que l’on obtient:

app/code/local/Mjoey
└── Example
    └── etc
        └── config.xml

app/etc/modules/
└── Mjoey_Example.xml

Création d’un Helper

Une extension magento n’est rien sans son Helper :) :

#la commande h creera votre helper Data.php
Mjoey_Example> h
Class? (enter for Data)
> #ne definissez pas de nom de classe
Methods?
> #vous pouvez si vous le desirez definir une/des methode(s)

Voici le Helper Data.php obtenu en 2 secondes chrono ;)

<?php
/**
 * This file is part of Mjoey_Example for Magento.
 *
 * @license All rights reserved
 * @author Michael Joseph <contact@michael-joseph.me>
 * @category Mjoey
 * @package Mjoey_Example
 * @copyright Copyright (c) 2013 Michael Joseph (http://michael-joseph.me)
 */

/**
 * Data Helper
 * @package Mjoey_Example
 */
class Mjoey_Example_Helper_Data extends Mage_Core_Helper_Abstract
{

//  Tag NEW_CONST

//  Tag NEW_VAR

//  Tag NEW_METHOD

}

Création d’un Block

Vous désirez un Block ? No problem!

Mjoey_Example> b myblock
Methods?
>  #vous pouvez si vous le desirez definir une/des methode(s)

Création d’une Entity

Une entité dans une extension ne se crée pas simplement, il faut déclarer et créer les resources, les models et ce n’est rien de le dire :P :

Mjoey_Example> ent myentity my_entity_table #le premier argument sera le nom de l entite et le second le nom de la table
Mjoey_Example> setup #met en place automatiquement le setup et cree le fichier mysql4-install-0.1.0.php

Voila ce à quoi ressemble l’arborescence de la partie code de votre extension:

app/code/local/Mjoey
└── Example
    ├── Block
    │   └── Myblock.php
    ├── etc
    │   └── config.xml
    ├── Helper
    │   └── Data.php
    ├── Model
    │   ├── Myentity.php
    │   └── Mysql4
    │       ├── Myentity
    │       │   └── Collection.php
    │       └── Myentity.php
    └── sql
        └── mjoey_example_setup
            └── mysql4-install-0.1.0.php

Pour conclure

The Installer est capable de bien plus, comme de créer le grid de back office de votre entité. Je vous invite à visiter le tutoriel de l’auteur Jacques Bodin-Hullin à ce sujet: Créer un grid en admin.

Cet outil est destiné aux développeurs ayant des connaissances avancées de Magento, il vous permettra de consacrer plus de temps sur le contenu que sur la forme de votre code.

Merci Jack ;)

Tweet about this on Twitter0Share on Facebook0Share on Google+0

Michael

Originally trained as a sound engineer, I reinvented myself in computer development. In 2010, I got my professional degree as a developer in computer science and I I've started studying Magento framework. I quickly developed my skills in that area at Brand Online Commerce web agency. Today, I work at Soon Agency on Magento ecommerce websites.

Vous aimerez également...

2 Responses

  1. Jacques dit :

    Merci Michael pour cet article.

    Ça fait plaisir de voir que cet outil sert un peu et qu’il apparaît intéressant aux yeux des autres développeurs.
    Il n’est pas parfait et je suis toujours ouverts aux retours qu’on m’y fait !

  2. Michaël Joseph dit :

    Au plaisir :) C’est un super outil qui fait gagner en productivité, au départ ça me faisait un peu peur mais au final c’est très puissant et rigoureux. J’adhère!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>