Magento Vignette De Catégorie
Je suis en train de faire l'utilisation de Magento vignette de Catégorie, mais il ne fonctionne pas. J'ai suivi de nombreux tutoriels en ligne (par exemple http://www.douglasradburn.co.uk/getting-category-thumbnail-images-with-magento/),
et tous ceux qui font mention de la fonction :
$_category->getThumbnail()
qui est censé être dans la Catégorie de modèle. Je suis sous Magento 1.6 et je ne trouve pas cette fonction n'importe où. J'ai aussi téléchargé 1,5 et 1,7, regardé là-bas et il est nulle part pour être trouvée. Lorsque j'exécute le code, il me donne pas d'erreurs, cependant, seulement rien n'est sortie.
Voici mon code complet:
<ul id="nav">
<?php foreach ($this->getStoreCategories() as $_category): ?>
<?php echo $_category->getThumbnail(); ?>
<?php echo $this->drawItem($_category) ?>
<?php endforeach ?>
</ul>
(Je suis en train d'utiliser la vignette comme un élément de menu où il est présent)
Ai eu de travail. Le secret est que vous devez re-requête pour la PLEINE de la catégorie des données à l'aide de ce code:
Mage::getModel('catalog/category')->load($_category->getId())->getThumbnail()
J'ai suivi ce tutoriel un peu:
http://www.h-o.nl/blog/using_category_images_in_your_magento_navigation/
pour avoir de la catégorie des vignettes dans votre menu.
merci
T
- Avez-vous mis la vignette correctement sur le backend? Il n'y aura pas réellement être une méthode getThumbnail(), c'est une méthode magique. Aussi, code postal.
- Merci pour la clarification, je pensais qu'il y avait quelque chose comme ça passe!!! J'ai triple vérifié que j'ai la vignette jeu. J'ai ajouté le code de mon premier post.
- Test de la boucle foreach() est une itération. Aussi faire un
Zend_Debug::dump($_category);exit;
et d'afficher le résultat. - C'est une itération pour sûr, parce que les catégories obtenir de l'imprimé. Zend_Debug ne fonctionne pas, mais j'ai déjà essayé de faire un print_r et de la vignette de l'attribut est-il (id 124), mais il est protégé. J'ai vérifié la base de données et de la vignette img est là dans le tableau catalog_category_entity_varchar. Est-il un autre paramètre qui me manque, comme un paramètre de visibilité, ou quelque chose d'évident?
- Aussi juste effacé tous mes caches, ré-indexé, etc.
- Lorsqu'il est ajouté à [catégorie] vue.phtml, <?php echo $this->getCurrentCategory()->getThumbnail(); ?> fonctionne très bien, mais pas en haut.phtml. Ce qui veut dire que $helper = Mage::helper('catalog/category'); n'est pas en sélectionnant la vignette..
Vous devez vous connecter pour publier un commentaire.
Pour ce que ça vaut, votre solution fonctionne, mais est tout à fait inefficace.
À l'aide de:
va ajouter quelques centièmes de seconde, peut-être même dixièmes de seconde par catégorie à votre page de temps de chargement de l'.
La raison pour cela est que vous avez pris la peine d'obtenir un modèle de la collection et de l'obtention de l'élément à l'intérieur, puis vous serez en ajoutant de nouveaux appels de base de données extraction de données complètes pour chaque catégorie. Vous devez simplement vous assurer de recueillir l'intégralité des données de catégorie en premier lieu.
La raison de ce que vous aviez avant n'était pas le travail, c'est parce que la catégorie de la collection n'était pas dit quels sont les attributs qu'il doit choisir. Il était en effet tout juste de retour des données à plat de la catalog_category_entity table, pas joint à un attribut tables.
Ce que vous devez faire est probablement de plus le long de ces lignes:
En fait, idéalement, vous voulez remplacer le
->getStoreCategories()
fonction pour ajouter le filtre générique.Je recommande l'ouverture des
app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php
et l'apprentissage de ce type de collection cool fonctions ont été écrites. Mastering EAV Collections, c'est comme un rite de passage pour les développeurs Magento. Une fois que vous faites cela, vous serez irrésistible!Espère que cette aide.
Il n'y a pas besoin de changer app/code/local/Mage/Catalog/Model/Category.php
Il peut être fait facilement par le biais de ces ligne de code...essayez ceci...Ses Œuvres
cela a fonctionné pour moi:
Viens de tomber sur cette réponse. Cependant, plus tard, magento éditions de 1,7+ il n'est pas nécessaire d'ajouter des frais généraux de code, vous pouvez ajouter en plus la norme (et personnalisable) eav attributs de la Catégorie collection via config.xml. Si vous cochez l'Mage/Catalog/etc/config.xml vous remarquerez sous le nœud qu'il y a des nœuds:
De sorte que vous pouvez créer un module de votre propre et ajouter plus de eav attributs:
Et ils seront ajoutés à votre catégorie de collection.