各 Magento ページのヘッダーにあるドロップダウン メニューを作成しようとしています。すべてのカテゴリ、サブカテゴリ、およびそれぞれに関連付けられた画像を一覧表示したいと考えています。インターネットからコードをスクレイピングして結合することで、サブカテゴリの URL のみが未定義として返され、その理由がわかりません。何か案は?これが私のコードです:
<?php
$cats = Mage::getModel('catalog/category') -> load(2) -> getChildren();
$catIds = explode(',', $cats);
$categories = array();
foreach ($catIds as $catId) {
$category = Mage::getModel('catalog/category') -> load($catId);
$categories[$category -> getName()] = array('name' => $category -> getName(), 'url' => $category -> getUrl(), 'img' => $category -> getImageUrl(), 'subcategories' => Mage::getModel('catalog/category') -> getCategories($catId));
}
ksort($categories, SORT_STRING);
?>
<ul>
<?php foreach($categories as $name => $data): ?>
<li><?php echo $data['name']; ?>
<a href="<?php echo $data['url']; ?>" title="<?php echo $name; ?>">
<img class="cat-image" src="<?php echo $data['img']; ?>" />
</a>
<ul>
<?php
foreach ($data['subcategories'] as $subcategory) {
echo "<a href='" . $subcategory -> getUrl() . "'><li>" . $subcategory -> getName() . "</li></a>";
}
?>
</ul>
</li>
<?php endforeach; ?>
</ul>