Vendredi 22 janvier 2010
-
Damien Brugne
Terminons notre semaine de découverte du code Magento en abordant une fonctionnalité bien pratique : les prix tiers (« tiers prices » en V.O.).

Les prix tiers sont des prix « conditionnés ». Un produit a au minimum un prix -fixe- et éventuellement un prix spécial pour une durée déterminée ou non. Les prix tiers permettent de définir des prix spécifiques à une quantité achetée et / ou à un groupe d’acheteur.
Ce qui permet -par exemple- de proposer un catalogue dédié aux professionnels avec des prix minorés ou d’inciter à l’achat avec une politique de prix dégressifs sur la quantité.
Continue reading “Comment manipuler les prix tiers d’un produit Magento”
Posted in Snippets
| Tagged magento, php, tier price
|
Jeudi 21 janvier 2010
-
Damien Brugne
Suite de notre découverte du modèle objet Magento. Après la création d’une catégorie et la manipulation des collections d’entités Mangento voyons comment créer un produit simple … by code of course.

Lors de la création des catégories nous avions utilisé un array PHP et la méthode setData() pour renseigner les attributs. Cette fois-ci nous allons utiliser les assesseurs de notre objet.
Dans le code proposé ci-dessous tout les attributs par défaut d’un produit Magento ne seront pas renseignés. Les attributs non renseignés aurons les mêmes valeurs par défaut que si le produit avait été créé par le frontend. Entre autre la génération automatique de l’URL-key à partir du nom est implicite si elle n’est pas précisée à la création.
Continue reading “Comment créer un produit Magento par code”
Posted in Snippets
| Tagged collection, magento, php, produit
|
Mercredi 20 janvier 2010
-
Damien Brugne
Nous avons vu hier comment créer une catégorie par code dans Magento.
Je vous propose aujourd’hui de voir comment récupérer une ou plusieurs catégories, comment les parcourir puis d’implémenter une méthode permettant de vérifier si une catégorie existe ou non d’après son attribut “name”.

Cet article va nous permettre de découvrir la manipulation des collections d’objets Magento. Les notions ci-dessous ne s’appliquent pas seuleusement qu’aux catégories Magento mais également à toutes les entités EAV (Entité - Attribut - Valeur) comme les produits, les attributs, les clients, les commandes …
Continue reading “Récupérer une ou plusieurs catégories par code dans Magento”
Posted in Snippets
| Tagged catégorie, collection, eav, magento, php
|
Mardi 19 janvier 2010
-
Damien Brugne
Voici la suite de notre découverte de l’API Magento. Aujourd’hui je vous propose de créer -par code- une catégorie Magento.

Le concept des catégories est fondamentale de l’architecture Magento. Les catégories permettent d’organiser les produits de manière arborescente afin par exemple de structurer l’expérience visiteur sur le frontend.
Comme la création manuelle de -beaucoup de- catégories via l’interface d’administration peut s’avérer fastidieuse, il peut s’avérer trés pratique de créer les catégories par batch. Le code proposé ci-dessous aborde donc la manipulation d’une partie du modèle des catégories. Libre à vous ensuite de l’implémenter dans votre propre logique en fonction de vos besoins spécifiques.
Continue reading “Comment créer une catégorie Magento par code”
Posted in Snippets
| Tagged catégorie, magento, php
|
Vendredi 15 janvier 2010
-
Damien Brugne
“Damien, au lieu de Twitter écris des posts sur Australopitech … Damien fais un billet sur Australopitech … Damien tu ne montre pas l’exemple …“, gnia, gnia, gnia.
Et bien soit, je vous propose donc de commettre une série de posts sur Magento et son API.
Pour commencer par le commencement, voyons comment créer un batch Magento qui servira à nos futurs articles sur l’API Magento …

Continue reading “Comment créer un batch Magento”
Posted in Snippets
| Tagged batch, cli, magento, php
|
Vendredi 27 novembre 2009
-
Poupou

La solution e-commerce PHP de la société Varien et la “PHP Company” viennent de s’associer pour fournir un pack comprenant un environnement PHP “Zend Server Community Edition” et la version community de Magento.
On peut imaginer que cela va contribuer à améliorer les 2 solution : fonctionnalités natives e-commerce au sein du Zend Framework, et optimisation de Magento.

Pour en savoir plus :
Posted in Développement web
| Tagged e-commerce, magento, zend
|
Vendredi 16 octobre 2009
-
Abdelhak
Comment afficher la quantité de stock disponible d’un produit :
$_product = Mage::getModel('catalog/product')->load(PRODUCT_ID);
echo Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty();
et voici comment mettre a jour les stocks (dans un batch par exemple) :
$_product = Mage::getModel('catalog/product')->load(PRODUCT_ID);
Mage::getModel('cataloginventory/stock_item')
->loadByProduct($_product)
->setData('qty', 666)
->save();
et parfois tous ces “save()” sur le produit ne fonctionnent pas ; premier reflex (dans le cas d’un store unique bien sûr) :
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); // a mettre avant le save...
Posted in Snippets
| Tagged magento, stock
|
Jeudi 24 septembre 2009
-
Mohamed
Depuis que les experts SEO sont apparus sur terre, les développeurs que nous sommes, sont beaucoup moins tranquilles. Il n’est pas rare de voir arriver le monsieur SEO, les yeux écarquillés et l’air stressés :
- “il y’a du contenu dupliqué qui remonte sur Google…faut le supprimer!”
- “Quoi? tu veux supprimer Google?”
- [...]
- “Oui bon c’est pas drôle, je reconnais.”
Continue reading “Magento et les urls canoniques”
Posted in Développement web
| Tagged magento, seo
|
Vendredi 4 septembre 2009
-
Mohamed
Je suis tombé récemment sur une problématique assez intéressante, à savoir n’utiliser que la partie administration sur un site sous Magento.
L’objectif est que lorsque l’on arrive sur le site par l’url http://monsite.com, on accède directement à l’administration.
J’ai découvert que l’administration était considérée au sein de Magento comme un site à part entière (voir ici pour comprendre la structure multi-site, multi-boutique et multi-vue de Magento). Il suffit donc de démarrer ce site dans le fichier index.php:
//lancement du site admin
Mage::run('admin');
Il y’a tout de même un léger problème si vous avez besoin d’utiliser les web services de Magento car l’url http://monsite.com/api/soap/?wsdl devient de fait inaccessible. Pour y remédier il suffit de dupliquer le fichier index.php, de le renommer en api.php par exemple et de lancer le site par défaut :
//lancement du site par défaut
Mage::run();
L’api sera accessible à cette nouvelle url : http://monsite.com/api.php/api/soap/?wsdl. Si vous ne voulez pas faire apparaitre le fichier api.php dans l’url, une simple règle de réécriture dans le .htaccess fera l’affaire.
Posted in Développement web
| Tagged e-commerce, magento, php
|
Vendredi 10 juillet 2009
-
Abdelhak
un snippet pour montrer comment sélectionner les produits d’un attribute set donné.
pas besoin de connaitre son id, on fera avec le nom :
//trouver l'id a partir du nom :
$set_id = Mage::getModel('eav/entity_attribute_set')
->getCollection()
->addFilter('attribute_set_name', 'AttrbuteSetName')
->getLastItem()
->getId();
//selectionner les produits :
$products = Mage::getModel('catalog/product')
->getCollection()
->addFieldToFilter('attribute_set_id', $set_id)
->getItems();
et là, on a un tableau de produits appartenant au groupe “AttrbuteSetName”.
Posted in Snippets
| Tagged attributeset, magento, php
|