Comment obtenir le nom de la catégorie dans la liste.phtml dans Magento
Donc j'essaie d'afficher une liste personnalisée.phtml fichier à partir de l'intérieur d'un bloc.
c'est très bien, que je suis en mesure d'afficher tous les produits avec l'id de la catégorie 6.
{{block type="catalog/product_list" category_id="6" template="catalog/product/list.phtml"}}
ci-dessus fonctionne très bien. Mais maintenant, je veux obtenir l'accès à l'id de la catégorie 6 de nom, comment pourrais-je aller sur le faire cela à partir de la liste.phtml ou même à partir d'un autre bloc. j'ai juste besoin du nom de la catégorie pour l'id =6 .
OriginalL'auteur molleman | 2012-03-02
Vous devez vous connecter pour publier un commentaire.
À l'intérieur de la liste.phtml modèle de bloc, vous pouvez obtenir le nom de la catégorie avec
Dans ce cas, la catégorie est définie sur la couche par la
catalog/product_list
bloc dans la_getProductCollection()
appel.À l'intérieur de la CMS contenu de la page il n'y a aucun moyen que je connaisse pour accéder à la catégorie nom directement.
À partir d'un autre bloc d'obtenir le nom de la catégorie peut être plus impliqués. Vous pouvez essayer
Bien sûr, cela peut être le cas qu'il n'existe pas de catégorie actuelle pourrait mettre sur le calque de l'instance, alors assurez-vous de vérifier que, pour éviter de laid erreurs.
En gros, si le
catalog/product_list
liste des produits du bloc_beforeToHtml()
méthode a été exécuté à la catégorie actuelle sera défini sur la couche.EDIT:
Tout cela est en supposant que vous souhaitez obtenir le nom de la catégorie, sans spécifier l'ID de la catégorie de nouveau. Si vous ne se soucient pas que vous pouvez toujours obtenir le nom de la catégorie avec
c'est l'erreur Appel à un membre de la fonction getName() sur un non-objet dans magento
Le calque actif dans le registre est définie par le catalogue module de recherche. J'ai mis à jour la réponse à utiliser
Mage::getSingleton('catalog/layer')
au lieu de cela, et a également ajouté une explication lors de la catégorie actuelle est défini sur la couche d'instance.<?php echo Mage::getSingleton('catalog/layer')->getCurrentCategory()->getName() ?>
cela me donne en fait la catégorie de niveau supérieur nom. son id est 2. je pense que c'est un peu étrange. la catégorie 6 est à l'intérieur de catergory 2. j'ai aussi besoin d'être dynamique car je vais appeler{{block type="catalog/product_list" category_id="xx" template="catalog/product/list.phtml"}}
à plusieurs reprises sur cette page cms. j'ai besoin du nom de la catégorie pour chaque appel que je fais sur ce bloc en fonction de l'id.<?php echo Mage::getModel('catalog/category')->load($this->getCategoryId())->getName() ?>
devrait certainement travailler.OriginalL'auteur