gen 25

Utilizzando i vari moduli che ci sono in rete per importare prodotti e categorie da csv, non è previsto un modo per imporre l’ordinamento alle categorie importare.

Riportiamo di seguito uno script da eseguire a importazione avvenuta. La funzione ricorsiva orderCategories riordina ordina tutto l’albero delle categorie avente radice nella categoria con id $cat_id

< ?php
function orderCategories($cat_id){
    $collection=Mage::getModel('catalog/category')-> getCollection()
            ->addAttributeToFilter('parent_id',array("like"=>$cat_id))
            ->addAttributeToSelect('url_path')
            ->setOrder('name','asc')
            ->load()->getItems();
    if (count($collection)==0)
        return;
    else{
        $i=1;
        foreach ($collection as $category)
            {$category->setPosition($i)->save();
            $category_id=$category->getId();
            print ($i.". ".$category->getName()."<br />");
            flush();
            $i++;
            orderCategories($category_id);
            }
    }
}
?>

Per riordinare tutte le categorie del website e dello store di default basta estrarre la Root Category Id

< ?php
require_once 'app/Mage.php';
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
 
$website=Mage::app()->getWebsite(true);
$store=$website->getDefaultStore();
$category_id=$store->getRootCategoryId();
orderCategories($category_id);
?>
Tagged with:
ago 26

Può essere utile in un e-commerce avere un menu laterale che permetta la navigazione per categorie e sottocategorie di prodotti. Esiste un’estensione che fa esattamente questo:

http://www.magentocommerce.com/extension/763/vertical-navigation-with-css-classes

Si installa via Connection Manager ed è subito attiva.

Se però ho una struttura molto articolata di categorie su molti livelli, come posso impostare un limite a quelli che verranno visualizzati nel menu?

Si fa così:

System -> Configuration -> Catalog -> Category Top Navigation: Maximal Depth

Se il livello è 0, nessuna sottocategoria sarà visualizzata.

Tagged with:
preload preload preload