In Magento, I’ve created a phtml template file with the code below. I got this from this tutorial. Me and others are wondering how to sort this category list alphabetically. The first lines of code create an array with Category IDs. Further down, we can get the Category Name using the ID within the foreach section. But to sort by Name, we need to get the Names in an array before the foreach and then sort by name. How?
<?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>
Note: 319 is the category id of the parent category for which I want to list subcategories. Also, I’m not putting this is a category page template. I’m inserting as a block in a CMS page (that part is already working).
You could build a list of category names first.
I wrote this answer without knowing too much about Magento and just wanting something quickly that worked. Anton’s answer is better and more Magentic(?)