Domanda

Ho avuto un progetto in cui non vi era alcun motivo e ho applicato tutte le modifiche delle categorie di layout in zona Admin (scheda Catalog->Manage Categories->Custom Design). Ora ho bisogno di avere la seguente:
Settore superiore avrà una griglia di tutte le sottocategorie con le loro miniature e titoli.

Sotto-categorie sarà più o meno come quelli di default - nome, descrizione e lista dei prodotti / griglia

Così mi piacerebbe fare questo e mi chiedo qual è il modo giusto.

È stato utile?

Soluzione

Nel vostro catalog/category/view.phtml è possibile controllare il livello di categoria con questo:

$this->getCurrentCategory()->getLevel()

Se si vuole decidere questo nel backend si potrebbe fare un intero modello separato che visualizza tutte le sottocategorie e aggiungere la seguente ai vostri aggiornamenti di layout personalizzati:

<reference name="category.products">
    <action method="setTemplate"><template>catalog/category/list.phtml</template></action>
</reference>

Per leggere tutte le sottocategorie si può fare questo:

$children = explode(',', $this->getCurrentCategory()->getChildren());
$collection = Mage::getModel('catalog/category')->getCollection()
        ->addAttributeToSelect('name')
        ->addAttributeToFilter('entity_id', array(
            'in' => $children
        ))->load();

foreach ($collection as $category) {
    echo $category->getName() . '<br />';
}

Altri suggerimenti

Si dovrebbe essere in grado di mettere un blocco if nella parte superiore del modello di vista catagory.

Qualcosa di simile:

<?php if ($this->IsTopCategory()) : ?>

// Insert subcategory grid logic here

<?php endif; ?>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top