Abdelhak

Magento - Jouer avec les stocks

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...

Magento - Sélectionner tous les produits d’un AttributeSet

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”.

Magento - Comment ajouter un AttributeSet

Un premier snippet pour montrer comment ajouter un nouvel AttributeSet (groupe d’attributs) automatiquement :
  

//on vérifie qu'il n'existe pas déjà :
$attributeSetId = Mage::getModel('eav/entity_attribute_set')
	->getCollection()
	->addFilter('attribute_set_name', 'LeNomDeMonAttributeSet')
	->getLastItem()
	->getId();
 
//si pas trouvé, on l'ajoute :
if(!$attributeSetId) {    
	$attributeSetId = Mage::getModel('eav/entity_attribute_set')
		->setEntityTypeId(Mage::getModel('eav/entity')->setType('catalog_product')->getTypeId())
		->setAttributeSetName('LeNomDeMonAttributeSet')
		->save()
		->initFromSkeleton(4) // le 4 c'est pour l'attributeSet Default.
		->save()
		->getId();
}

initFromSkeleton(4) permet de le créer à partir du “template” de l’attributeSet par défaut, on peut mettre autre chose, du moment où c’est un id d’attributeSet valide.

Un firewall pour WordPress

un firewall pour wordpress Voici un plugin bien particulier, c’est un firewall censé contrer les attaques de hackers. WordPress est de loin le moteur de blog le plus populaire et le plus utilisé sur la toile, et comme toutes les applications web, il est victime de son succès, ainsi les hackers s’intéressent à lui de plus en plus, et le risque de voir son blog hacké grandit de jour en jour, et c’est là que ce plugin intervient :

Son fonctionnement est basé sur l’analyse des requêtes en direction de votre blog et la détection de celles qui vous veulent du mal, ainsi les requêtes suspectes (liste des attaques bloquées par ce plugin) sont bloquées, et une notification vous est envoyée par email, un bon moyen de mesurer sa popularité chez les hackers :-) .

Il propose la possibilité de renseigner une whitelist d’adresses IP (la votre par exemple pour les tests), ainsi que d’autres options bien pratiques…

Pour le télécharger c’est par ici.

Open Laszlo, ou comment faire du flash sans être flasheur

Open Laszlo

Open Laszlo est une plateforme de développement Open Source qui permet de générer des applications en Flash et/ou DHTML sans connaître ces 2 langages.
Cette technologie permet la création d’applications riches et interactives en flash (ou DHMTL) à l’aide de JAVA, le résultat est tout simplement bluffant, on ne verrait presque pas la différence entre 2 compilations de la même application, l’une en flash, l’autre en DHTML.

Le principe est très simple : vous installez ce qu’il faut, autrement dit : le JDK de chez Sun (pour faire tourner le JAVA), ensuite l’application Open Laszlo, qui va installer un tomcat configuré pour OL, et qui va tourner sous Apache en écoutant sur le port 8080.

Pour des applications dynamiques, OL sait lire l’XML, ce dernier peut être généré par n’importe quelle technologie, cool, ça va marcher avec PHP :-), eh bien oui, dans notre cas, on pourrait très bien imaginer nos XML créés avec PHP et visualisés de la plus belle des manières avec OL.

La communauté est encore jeune (mais pas trop non plus) surtout la francophone qui se met en place petit à petit…

Et pour finir une démonstration de la puissance de l’outil, allez faire un tour sur le site de la FNAC et ajoutez un laptop à votre panier, ce qui suit est du Open Laszlo, c’est magique non ?!

Bonne découverte.