Les installeurs Magento (2/4) : Création d’une catégorie

Dans l’exemple, l’installeur créé une catégorie ayant comme clé d’URL test-nouveautes

L’installeur créé la catégorie uniquement s’il ne trouve pas de catégorie ayant la même clé d’URL.
En plus de la création de la catégorie, l’installeur ajoute les produits dont les SKU sont présents dans le tableau des SKU à ajouter.

/*
* Creation categorie
*/

// Categorie Test - Nouveautes

// Category parente
$parentId = 2;
// Url Key
$urlKey = 'test-nouveautes';
// Tableau des produits a ajouter a la category
$arrSkuToAdd = array('T005', 'T003', 'T137', 'T093', 't002');

$currentCategory = Mage::getModel('catalog/category')->getCollection()
->addFieldToFilter('url_key', $urlKey)
->setCurPage(1)
->setPageSize(1)
->getFirstItem();
if (!($currentCategory && $currentCategory->getId())) {
$category = Mage::getModel('catalog/category');
/* @var $category Mage_Catalog_Model_Category */

$category->setStoreId(0)
->setName('Test - Nouveautes')
->setUrlKey($urlKey)
->setDisplayMode('PRODUCTS')
->setAttributeSetId($category->getDefaultAttributeSetId())
->setIsActive(0)
->setIsAnchor(0)
->setCustomDesignApply(1);

$parentCategory = Mage::getModel('catalog/category')->load($parentId);
$category->setPath($parentCategory->getPath());

$category->save();

$idCategory = $category->getId();

foreach ($arrSkuToAdd as $sku) {
$idProduct = Mage::getModel('catalog/product')->getIdBySku($sku);
if ($idProduct) {
$installer->run(
"INSERT INTO `{$installer->getTable('catalog_category_product')}` VALUES (".$idCategory.",".$idProduct.",0);"
);
}
}

unset($category);
}
Publié dans Magento | Commenter (1)

Un Commentaire

  1. Monex Scam dit :

    I thought that getModel catalog category would return catalog data in the current front end language but apparently not. categories Mage helper catalog category -getStoreCategories foreach categoriesas category category-getName .

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>