Comment trier une liste de catégorie tableau dans l'ordre alphabétique dans Magento
Dans Magento, j'ai créé un phtml fichier de modèle avec le code ci-dessous. J'ai eu ce à partir de ce tutoriel. Moi et les autres se demandent comment trier cette liste par ordre alphabétique de la catégorie. Les premières lignes de code permet de créer un tableau avec les Id de Catégorie. Plus bas, on peut obtenir le Nom de la Catégorie à l'aide de l'ID dans le foreach section. Mais pour trier par Nom, nous devons obtenir les Noms dans un tableau avant le foreach et puis trier par nom. Comment?
<?php
$cats = Mage::getModel('catalog/category')->load(319)->getChildren();
$catIds = explode(',',$cats);
?>
<ul>
<?php foreach($catIds as $catId): ?>
<li>
<?php
$category = Mage::getModel('catalog/category')->load($catId);
echo '<a href="' . $category->getUrl() . '">';
echo $category->getName() . '</a>';
?>
</li>
<?php endforeach; ?>
</ul>
Remarque: 319 est l'id de la catégorie de la catégorie parente pour laquelle je veux la liste des sous-catégories. Aussi, je ne mets pas c'est une page de catégorie de modèle. Je suis d'insérer un bloc dans une page CMS (cette partie est déjà au travail).
OriginalL'auteur Joe Fletcher | 2010-11-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer une liste de noms de catégorie première.
J'ai écrit cette réponse sans savoir trop sur Magento et envie de quelque chose rapidement que travaillé. Anton réponse est meilleure et plus Magentic(?)
asort œuvres au lieu de rsort! Comment avez-vous écrire cela si vite, d'ailleurs? Il était littéralement minutes après je l'ai posté!
Fletcher je suis rapide 🙂
Juste utilisé votre réponse pour ce que j'essayais d'atteindre et fonctionne parfaitement. Merci 🙂
L' (catégorie supérieure) les réponses ci-dessous ne fonctionne pas pour moi! Merci pour cette réponse 🙂
OriginalL'auteur alex
Vous pouvez appeler
et vous obtiendrez le tas triés immédiatement, le reste est juste une itération sur typique Varien collection. C'est un pseudo échantillon et je ne sais pas si le parent_id est le nom du champ dans la db de sorte que vous pouvez vérifier cela avant de vous obtenir les bons résultats.
Bonne lecture sur les collections dans Magento est écrit par Alan Tempête
Ce doit être la accepté de répondre.
->addAttributeToSort('nom', 'ASC') est la meilleure méthode à utiliser.
C'est une excellente réponse. Il ne fonctionne pas pour moi, si.
OriginalL'auteur Anton S
Salut, je suis en utilisant magento 1.4.1.1 et cela a bien fonctionné pour trier les catégories enfant:
utilisation
d'obtenir les enfants des catégories de la catégorie avec l'id 319
et modifier le fichier en
code/core/Mage/catalog/Model/Resource/Eav/Mysql4/category.php
à la ligne 582 en vertu de la fonctiongetChildrenCategories()
de changerà
espère que cela fonctionne pour vous aussi.
->setOrder('name','ASC);
devrait être->setOrder('name','ASC');
. Remarque manquant'
🙂OriginalL'auteur bhab
Il y a un moyen beaucoup plus facile de le faire dans la dernière Magento (CE 1.7.0.2)+
La fonction
getChildren()
réside à...app/code/core/Mage/Catalog/Model/Category.php around line 817
Il y a des tas de possibilités. Espérons qu'il vous permet d'économiser un peu de temps!
OriginalL'auteur Jongosi
Première sauvegarde de votre topmenu.phtml puis remplacez le code suivant dans votre nouveau topmenu.phtml fichier
OriginalL'auteur user2753425