Les models
L'interaction avec la base de données
Les models sont les seules classes qui accèdent à la base de données.
La convention de nommage est la même que pour les blocks et les helpers.
Par exemple, le code suivant
<?php Mage::getModel('catalog/product') ?>
Fait appel à la classe Mage_Catalog_Model_Product, son but est de récupérer les informations d'un produit issues de la base de données.
Les méthodes à connaitre
-
load: permet de charger un objet directement par son ID.<?php $product = Mage::getModel('catalog/product')->load(1) ?> -
save: sauvegarde un objet -
delete: supprime un objet - les méthodes magiques
set*etget*: elles vont faire appel à l'attribut correspondant. Par exemple,
<?php echo $product->getName(); // affiche l'attribut `name` de l'objet $product ?>
<?php echo $product->getSpecialPrice(); // affiche l'attribut `special_price` de l'objet $product ?>
<?php echo $product->getEan13(); // affiche l'attribut `ean13` de l'objet $product ?>
Attention à bien nommer vos attributs, surtout si leur code comporte des chiffres ! Dans le dernier exemple ci-dessus, si l'on avait nommé notre attribut
ean_13, il aurait été impossible de le récupérer via la méthode magique !
Il aurait fallu faire
<?php echo $product->getData('ean_13'); ?>
Formation Magento Developpeur
Magento 1.X