Adição de categoria na página inicial mostra apenas 1 produto
-
12-12-2019 - |
Pergunta
Eu pesquisei sobre esta questão sobre Magento 1.9 não adição de categoria para a página inicial.Então, acabei de adicionar:
{{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" category_id="15" template="catalog/product/list.phtml"}}
Para a página de início de conteúdo.Ele aparece, também, na página inicial, MAS:só com 1 produto fora de 5.Por que é que, e isso pode ser alterado?
Eu ainda sou muito novo para Magento e eu não mudei nada no layout bit.Eu já vi esse post: Mesmo problema, mas ninguém respondeu (e eu não posso comentar sobre ele), eu tenho seguido estes passos - mas tudo isso não funcionou.
Solução
Você está usando o rwd tema do Magento 1.9?Se assim for, o problema pode estar no catálogo/produtos/lista.phtml arquivo de modelo.
No catálogo/produtos/lista.phtml do rwd tema o seguinte código
a partir da linha de 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 a partir da linha 178 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; ?>
fará com que os erros se você adicionar o bloco no layout sem os filhos dos blocos nome.após' e 'depois'.
Se você quer que isso funcione na sua página inicial, você deve criar um novo modelo no tema, por exemplo catalog/product/list_home.phtml, e copie o código de catálogo/produtos/lista.phtml, mas excluir o código das linhas indicado.Em seguida, você deve usar o novo modelo na página inicial do bloco:
{{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" category_id="15" template="catalog/product/list_home.phtml"}}
Outras dicas
Remover as linhas de 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; ?>