Domanda

Ho molti siti che utilizzano la stessa categoria principale del sito principale. Ogni prodotto che si aggiunge si aggiunge al sito è stato aggiunto al (wow.) E anche il sito principale. Tuttavia, vorrei categorie su una base per sito per apparire solo se ci sono prodotti su quel sito.

Se ho:

Category1
Category2
Category3

Ma Site1 ha solo i prodotti presenti Categoria1 e Categoria2, mentre Site2 e Site3 hanno prodotti in Categoria2 e Categoria3; Voglio solo Categoria1 / 2 a comparire su Site1 e solo Categoria2 / 3 ad apparire solo su Site2 e Site3.

Tuttavia, poiché tutti i prodotti Sito1 / 2/3 sono anche aggiunti al sito principale; Il sito principale sarebbe elencare Categoria1 / 2/3.

Non ci sono prodotti vengono aggiunti direttamente al sito principale. Serve semplicemente come repository per gli altri siti.

Ora, se non v'è alcun modo molto semplice per attivare questa (come sono sicuro), sarebbe essere semplice come scrivere il mio tema che elenca le categorie che hanno solo i prodotti sul sito che il modello viene visualizzato su ?

Io non sono un novizio nelle tecnologie che Magento utilizza; così la scrittura di codice personalizzato non è un problema. Vorrei, tuttavia, non come di modificarla che tanto in modo che l'aggiornamento del codice di base sarebbe più facile in futuro con le versioni successive di Magento.

Grazie,
-nelson

È stato utile?

Soluzione

Bene, che cosa si può fare è, creare il proprio aiutante con una collezione (attraverso un modello), e poi filtrare la collezione in base al numero di prodotto.

Solo una bozza, ma ho postato qualche codice in un altro Magento domanda relativa: Magento prodotti categorie . Si può vedere come e quando si aggiunge il conteggio dei prodotti, mi piacerebbe filtrare di nuovo quando questo è fatto.

Non credo che questo è estremamente "grande" in termini di prestazioni, quindi invece di utilizzare le loro classi di modelli, è potrebbero scrivere il proprio, estendendolo e l'aggiunta di filtri predefiniti, o abbreviare direttamente al database.

Finché rimanete nella vostra pelle / modello, non ci sono problemi più grandi con l'aggiornamento.

Altri suggerimenti

questa è una soluzione semplice per nascondere le categorie che potrebbero aiutare.

Il contenuto originale del file top.phtml dovrebbe essere simile di seguito.

<?php $_menu = $this->renderCategoriesMenuHtml(0,'level-top') ?>
<?php if($_menu): ?>
<div>
    <ul id="nav">
        <?php echo $_menu ?>
    </ul>
</div>
<?php endif ?>

Sostituire il codice precedente con il codice qui sotto.

<?php $_menu = ''?>
<?php $excludeCat = array(); ?>
<?php foreach ($this->getStoreCategories() as $_category): ?>
    <?php if($_category->getProductCount() <=0) {
          $excludeCat[] = $_category->getId(); 
    }
    ?>
    <?php $_menu .= $this->drawItem($_category) ?>
<?php endforeach ?>
<?php if ($_menu): ?>
<div>
    <ul id="nav">
    <?php foreach ($this->getStoreCategories() as $_category): ?>
    <?php if (!in_array($_category->getId(), $excludeCat)) : ?> <?php echo $this->drawItem($_category) ?>
    <?php endif; ?>
    <?php endforeach ?>
    </ul>
</div>
<?php endif; ?>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top