Pregunta

Actualmente en una página de vista de categoría, sus categorías secundarias se muestran en un formato de lista.Me gustaría cambiar la lista para seleccionar la opción, de modo que cuando haya demasiadas categorías secundarias, los usuarios no tienen que desplazarse hasta la parte inferior para ver el contenido.

Código actual:

<ul>
<?php foreach ($this->getCurrentCategory()->getChildrenCategories() as $_subcat): ?>
    <li><a href="<?php echo $_subcat->getUrl() ?>"><?php echo Mage::helper('catalog/output')->categoryAttribute($_subcat, $_subcat->getName(), 'name') ?></a></li>
<?php endforeach ?>
</ul>

¿Cómo puedo lograr esto para que las subcategorías se muestren en una opción Seleccionar?

¿Fue útil?

Solución

Simplemente reemplace ese código con ...

<?php if($this->getCurrentCategory()->getChildrenCount() > 0) { ?>
    <select onchange="document.location = this.options[this.selectedIndex].getAttribute('rel')">
    <?php foreach ($this->getCurrentCategory()->getChildrenCategories() as $_subcat): ?>
        <option rel="<?php echo $_subcat->getUrl(); ?>"><?php echo Mage::helper('catalog/output')->categoryAttribute($_subcat, $_subcat->getName(), 'name'); ?></option>
    <?php endforeach ?>
    </select>
<?php } ?>

Esto creará un cuadro Seleccionar desplegable de las mismas categorías exactas que se habrían mostrado con el código existente, también navegará al usuario a la categoría cuando haga clic en una selección.

Edit: Esto ahora es probado y código de trabajo.

Otros consejos

Esto podría ayudarlo.

<select id="category" class="myinput-text required-entry widthinput" name="category">
<?php
  $parentid=5; // parent id which you want sub category
  $categories=explode(',',Mage::getModel('catalog/category')->load($parentid)->getChildren());
  foreach($categories as $cat){
  $category=Mage::getModel('catalog/category')->load($cat);
?>
<option value="<?php echo $category->getId();?>"><?php echo $category->getName();?></option>
<?php } ?>
</select>

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top