Cheat sheet php

en pièce jointe à ce post la cheat sheet en png.

vous pouvez la télécharger ici : Cheat sheet php

trouvé sur : AddedBytes.com

Tags:

[Magento] Comment ajouter un AttributeSet

Un 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

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

Tags:

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

Tags:

[Drupal] Url de la page en cours

voici comment avoir l'url de la page en cours :

$path = isset($_GET['q']) ? $_GET['q'] : '';
$currentUrl = url($path, array('absolute' => true));

Tags:

Pages

Subscribe to www.snippets.fr RSS