Ottieni la descrizione della categoria di una categoria di una categoria corrente come opzione Seleziona

magento.stackexchange https://magento.stackexchange.com//questions/60843

  •  12-12-2019
  •  | 
  •  

Domanda

Attualmente in una pagina di visualizzazione delle categorie, le sue sottocarte sono visualizzate in un formato elenco.Vorrei modificare l'elenco per selezionare l'opzione, quindi quando ci sono troppe sottocompresse, gli utenti non devono scorrere fino in fondo per visualizzare il contenuto.

Codice corrente:

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

Come posso eseguire ciò, quindi le sottocategorie vengono visualizzate in un'opzione selezionata?

È stato utile?

Soluzione

Basta sostituire quel codice 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 } ?>
.

Creererà una casella di selezione a discesa delle esatte stesse categorie che verrebbe visualizzata con il codice esistente, navigherà anche all'utente alla categoria quando si fa clic su una selezione.

Modifica: questo è ora testato e il codice di lavoro.

Altri suggerimenti

Questo potrebbe aiutarti.

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top