Domanda

Abbiamo una dichiarazione IT che imposta un nome di classe in categorie nell'array, la prima categoria ha la classe di "First" e l'ultima categoria ha la classe di "ultima", tuttavia l'ultima classe non viene impostata ePresumo che sia perché non pensa che sia la fine del nostro array e non capisco perché

Questo è il codice

$store_categories = $this->getLeftCategories();
if ($count = count($store_categories)) {

$block_title = $this->getBlockTitle();
if ( empty($block_title) ) $block_title = 'Categories';
?>
<div class="block block-left-nav">
    <div class="block-title">
        <strong><span><?php echo $this->__($block_title1) ?></span></strong>
    </div>
    <div class="block-content">
        <ul id="left-nav">
        <?php
        $i=0;
        foreach ($store_categories as $_category) {
            $class = array();        
   if (!$i) {
                $class[] = 'first';
            } 
            if($i == $count) {          
                $class[] = 'last';
            }

            echo $this->drawOpenCategoryItem($_category, 0, $class);

            $i++;
        } ?>

        </ul>
    </div>
</div
.

Se qualcuno può vedere il motivo per cui non sta impostando l'ultima classe o se ho scritto l'istruzione se sbagliata potrebbe farmi sapere come ho guardato questo per ore e non riesco a vedere nulla

Grazie

È stato utile?

Soluzione

Prova con if(($i + 1) == $count) { ... perché per un array con 3 elementi che avrai I= 0, 1, 2 o Sposta $i++; sopra if($i == $count) {.

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