Intereting Posts
Node.js `crypto.final` заставляет зашифрованный результат отличаться от PHP` mcrypt_encrypt` Могу ли я динамически создавать субдомены (PHP, .htaccess) с GoDaddy Hosting? Есть ли способ программирования 100% объектно-ориентированного в PHP? Как вы используете gzip в .htaccess или php.ini? Как загрузить по ajax пост сериализации Как называть супер в PHP? получить регион / город от ip Ошибка обработки для повторяющихся записей – PHP MySQL Разбор текстового файла, содержащего данные изображения Заменить на основе строки регулярного выражения и возвращаемой строки рекурсивное заполнение базы данных многомерным массивом Как удалить возврат каретки с вывода строки? PHP – Как объединить массивы в один массив во время цикла? PHP SQL: как сохранить данные в несколько баз данных из одной формы html или как автоматически копировать данные из одной базы данных в другую базу данных Запрос 2 таблиц в одном запросе

Magento – список подкатегорий определенной родительской категории как ссылок

Я новичок в php и застрял в попытке вызывать подкатегории только одной родительской категории как ссылки

Я добрался до этого, и он воспитывает getName, но getUrl () не возвращает никакого URL-адреса вообще …

<?php $children = Mage::getModel('catalog/category')->getCategories(3); foreach ($children as $category): echo '<li><a href="' . $category->getUrl() . '">' . $category->getName() . '</a></li>'; endforeach; ?> 

Выходной код – это просто <li><a href="">name of sub-cat</a></li>

У кого-нибудь есть идеи? Пожалуйста?

Спасибо, Кайла

Related of "Magento – список подкатегорий определенной родительской категории как ссылок"

Пожалуйста, попробуйте этот код. Я думаю, что вы сделали этот код, но это очень полезно для тех, кто ищет этот код

 <?php $children = Mage::getModel('catalog/category')->getCategories(3); foreach ($children as $category): $category = Mage::getModel('catalog/category')->load($category->getId()); echo '<li><a href="' . $category->getUrl() . '">' . $category->getName() . '</a></li>'; endforeach; ?> 

Я не знаю, почему решение @Dhanapal не сработало для меня, поэтому я использовал:

 $categories = Mage::getModel('catalog/category')->load('3')->getChildrenCategories(); foreach ($children as $category): $category = Mage::getModel('catalog/category')->load($category->getId()); echo '<li><a href="' . $category->getUrl() . '">' . $category->getName() . '</a></li>'; endforeach; 

По какой-то причине вышеупомянутый ответ не сработал для меня. Я также использую Magento 1.7.x.

Я нашел, что Magento отображает описание подкатегорий в категории list.phtml, чтобы помочь.

Я пытаюсь сделать то же самое, что и вы, поэтому я скорректировал приведенный выше ответ

 <?php $children = explode( ",", $this->getCurrentCategory()->getChildren() ); ?> <div class="category-products"> <ul class="products-grid"> <?php foreach( $children as $child ): ?> <?php $_child = Mage::getModel( 'catalog/category' )->load( $child ); ?> <li class="item"><?php echo $_child->getDescription(); ?></li> <?php endforeach; ?> </ul> </div> 

чтобы:

 <?php $children = explode( ",", $this->getCurrentCategory()->getChildren() ); ?> <div class="category-products"> <ul class="products-list"> <?php foreach( $children as $child ): ?> <?php $_child = Mage::getModel( 'catalog/category' )->load( $child ); ?> <li class="item"><a href="<?php echo $_child->getUrl() ?>"> <?php echo $_child->getName() ?> </a></li> <?php endforeach; ?> </ul> </div> 

Как и в приведенном выше ответе, вы можете изменить класс div на

 <div class="products-grid"> 

вместо их перечисления. Но вы спросили, как перечислить.

Надеюсь, это поможет людям в будущем. Есть много других вопросов, связанных с переполнением стека.

Ну, это была боль в заднице. Я создал для него функцию, которая перечисляет все подкатегории и подкатегории категории, которую вы хотите отобразить.

  <?PHP //get the children of the current category function getChildrenInterStore($id) { $returnstring = ''; $subCats = Mage::getModel('catalog/category')->load($id)->getChildren(); //get sub category ids $subCatIds = explode(',',$subCats); if (count($subCatIds) > 0): foreach($subCatIds as $subCatId): $subCat = Mage::getModel('catalog/category')->load($subCatId); if($subCat->getIsActive()): $returnstring .= ' <li class="other-toggle sm_megamenu_lv1 sm_megamenu_drop parent"> <a class="sm_megamenu_head sm_megamenu_drop" href="'.$subCat->getUrl().'"> <span class="sm_megamenu_icon"> <span class="sm_megamenu_title">'.$subCat->getName().'</span> </span> </a> </li>'; $returnstring .= getChildrenInterStore($subCatId); endif; endforeach; endif; return $returnstring; } ?> <div class="mega-left-title"> <strong>Categorieen</strong> </div> <div class="css_effect sm_megamenu_wrapper_vertical_menu sambar"> <div class="sambar-inner"> <ul class="sm-megamenu-hover sm_megamenu_menu sm_megamenu_menu_black"> <?PHP echo getChildrenInterStore('17'); ?> </ul> </div> </div>