Pergunta

Atualmente em um modo de exibição de Categoria, página, suas sub-categorias são apresentadas em um formato de lista.Eu gostaria de mudar a lista para selecionar a opção para quando existem muitas sub-categorias de usuários não têm de percorrer todo o caminho para baixo para exibir o conteúdo.

Código Atual:

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

Como posso fazer isso para o sub-categorias é apresentada em uma de selecionar a opção?

Foi útil?

Solução

Apenas substitua esse código com...

<?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 } ?>

Isto irá criar um menu drop-down, selecione a caixa de exatas mesmas categorias que teria sido exibido com o código já existente, ele também vai navegar o usuário para a categoria quando clicar em uma seleção.

EDITAR:Esta agora é TESTADO E código de TRABALHO.

Outras dicas

Isso pode ajudá-lo.

<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 em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top