L'aggiunta della categoria sulla home page mostra solo 1 prodotto
-
12-12-2019 - |
Domanda
Ho ricercato su questo tema su Magento 1.9 Non aggiungendo la categoria alla home page.Quindi, ho finito per aggiungere:
{{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" category_id="15" template="catalog/product/list.phtml"}}
.
al contenuto della pagina iniziale.Si presenta anche sulla home page ma: solo con 1 prodotto su 5. Perché è così e può essere cambiato?
Sono ancora molto nuovo a magento e non ho cambiato nulla al bit del layout. Ho visto questo post: Lo stesso problema , ma nessuno ha risposto(E non posso commentarlo), ho seguito Questi passaggi - Ma tutto ciò non funzionava.
Soluzione
Stai usando il tema RWD da Magento 1.9?Se è così, il problema potrebbe essere nel file del modello Catalogo / Prodotto / List.phtml.
In catalogo / prodotto / elenco.phtml dal tema RWD il seguente codice
dalla riga da 133 a 140
<?php
$_nameAfterChildren = $this->getChild('name.after')->getSortedChildren();
foreach($_nameAfterChildren as $_nameAfterChildName):
$_nameAfterChild = $this->getChild('name.after')->getChild($_nameAfterChildName);
$_nameAfterChild->setProduct($_product);
?>
<?php echo $_nameAfterChild->toHtml(); ?>
<?php endforeach; ?>
e dalla linea da 178 a 186
<?php
//set product collection on after blocks
$_afterChildren = $this->getChild('after')->getSortedChildren();
foreach($_afterChildren as $_afterChildName):
$_afterChild = $this->getChild('after')->getChild($_afterChildName);
$_afterChild->setProductCollection($_productCollection);
?>
<?php echo $_afterChild->toHtml(); ?>
<?php endforeach; ?>
causerà errori se si aggiunge il blocco nel layout senza i bambini blocca il nome "name.fter" e "dopo".
Se si desidera che questo funzionare sulla tua home page, è necessario creare un nuovo modello nel tema, ad esempio catalogo / prodotto / lista_home.phtml e copiare il codice dal catalogo / prodotto / lista.phtml ma cancella il codice daLe linee che ho indicato.Dovresti quindi utilizzare il nuovo modello nel blocco della home page:
{{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" category_id="15" template="catalog/product/list_home.phtml"}}
Altri suggerimenti
Rimuovere quelle linee da catalog/product/list.phtml
<?php
//set product collection on after blocks
$_afterChildren = $this->getChild('after')->getSortedChildren();
foreach($_afterChildren as $_afterChildName):
$_afterChild = $this->getChild('after')->getChild($_afterChildName);
$_afterChild->setProductCollection($_productCollection);
?>
<?php echo $_afterChild->toHtml(); ?>
<?php endforeach; ?>
.