Magento - get de la collection de produits de tous les produits
J'ai besoin d'un produit personnalisé de la collection de tous les produits. Actuellement, il n'existe pas de catégories qui contiennent tous les produits de la boutique (comme il y a 8000 produits que nous ne pouvons pas ajouter une catégorie supplémentaire).
Ce dont j'ai besoin est sur une page CMS le produit de la collecte de tous les produits est affichée.
Pour l'instant j'ai une page CMS avec le bloc:
{{block type="catalog/product_list" template="catalog/product/list.phtml"}}
J'ai créé un module de remplacement "Mage_Catalog_Block_Product_List'
Je crois que la fonction j'ai besoin de modifier seraient " protégés fonction _getProductCollection()'
Comme nous pouvons le voir dans l'appel du bloc theres aucune catégorie spécifiée. Ce dont j'ai besoin est dans la overidden _getProductCollection fonction est l'ensemble des produits dans le magasin retourné.
Est-il de toute façon cela peut être réalisé?
J'ai d'abord besoin d'obtenir tous les produits pour le site, puis on le filtre, de sorte que des produits avec une certaine valeur de l'attribut sont affichés. Comme les produits sont dans plusieurs catégories, je pensais que je serais la première à obtenir tous les produits de la collection de produits de filtrer encore plus loin, de sorte qu'il affiche similaires à la liste.phtml vue.
Mauvaise idée, cela permet de rendre votre site très lent. Vous devez utiliser le produit de la collection, mais premier
addAttributeToFilter()
et load()
.OriginalL'auteur 2133215543 | 2013-02-26
Vous devez vous connecter pour publier un commentaire.
Il ya plusieurs façons que vous pouvez obtenir la liste des produits dans un magasin.
Essayez de cette façon :
OriginalL'auteur stalinrajindian
Ne pas surcharger la Liste de bloc, ce qui aura un effet sur le produit réel les pages de liste.
La manière la plus simple de copier le fichier de l'espace de noms local et de le renommer:
à partir de:
:
Vous pouvez ensuite utiliser votre nouveau bloc sans avoir à faire un module complet, et cela signifiera votre Liste de bloquer le travail sera le même et pour ne pas casser quoi que ce soit sur votre magasin.
Vous pouvez ensuite modifier en toute sécurité les:
Vous pouvez ensuite utiliser votre nouveau bloc comme suit:
Pouvez-vous modifier votre index.php fichier pour activer DeveloperMode(vrai) et display_errors = 1, cela vous donnera un message d'erreur
J'ai essayé le code if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { Mage::setIsDeveloperMode(true); } et la fonction ini_set(‘display_errors’, 1); sur mon fichier d'index, mais je suis toujours pas à obtenir des messages d'erreur.
commentaire de la "si", enroulé autour de Mage::setIsDeveloperMode(true); de sorte qu'il est toujours exécuté
Merci pour la réponse. J'ai essayé ça aussi, mais je ne reçois pas tous les messages d'erreur encore. Toutes les autres suggestions?
OriginalL'auteur Andrew