Intereting Posts
Zend Framework 1 против производительности Zend Framework 2 Regex – Greedyness – соответствие HTML-тегов, содержимого и атрибутов Одновременное использование переключателей и выпадающего селектора для вариантов продукта Не удается получить доступ к XML-документу с помощью simplexml_load_file () Не удается подключиться к локальному размещенному mysql, используя скрипт PHP Определение успешной загрузки с использованием файла чтения php Как я могу получить access_token из официального php-клиента tumblr? Лучший способ повторить имя пользователя на каждой странице с помощью сеансов? Эхо PHP внутри Javascript? Может ли кто-нибудь сказать мне, как получить косвенно связанные классы с помощью Propel ModelCriteria? У PHP есть токен аутентификации, такой как Rails? Сортировка двумерного массива Вопросы производительности PHP? Использование заголовка в PHP PDO – Динамический bindParam – значение 0 странного результата

Magento: отображение списка подкатегорий

Я создаю магазин Magento и хочу иметь возможность отображать список категорий и иметь ссылку каждой категории на свою собственную страницу.

У меня есть категория «Бренды» с идентификатором 42, и я хочу отобразить список подкатегорий и убедиться, что каждый из них ссылается на указанный URL-адрес в CMS.

Кто-нибудь имел опыт работы с Magento?

Спасибо.

Solutions Collecting From Web of "Magento: отображение списка подкатегорий"

Если вам удобнее редактировать тему, этот фрагмент кода предоставит вам список всех подкатегорий текущей категории (из сеанса, поэтому это должно работать в любой точке вашей темы). Обычно я использую это в app / design / frontend / default / theme_name /template/catalog/category/view.phtml

<?php $_category = $this->getCurrentCategory(); $collection = Mage::getModel('catalog/category')->getCategories($_category->entity_id); $helper = Mage::helper('catalog/category'); ?> <ul> <?php foreach ($collection as $cat):?> <?php if($_category->getIsActive()):?> <?php $cur_category = Mage::getModel('catalog/category')->load($cat->getId()); $_img = $cur_category->getImageUrl(); ?> <li> <a href="<?php echo $helper->getCategoryUrl($cat);?>"> <img src="<?php echo $_img?>" title="<?php echo $cat->getName();?>"/> <cite><?php echo $cat->getName();?></cite> </a> </li> <?php endif?> <?php endforeach;?> </ul> 

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

 <?php $_helper = Mage::helper('catalog/category') ?> <?php $_categories = $_helper->getStoreCategories() ?> <?php $currentCategory = Mage::registry('current_category') ?> <?php if (count($_categories) > 0): ?> <ul> <?php foreach($_categories as $_category): ?> <li> <a href="<?php echo $_helper->getCategoryUrl($_category) ?>"> <?php echo $_category->getName() ?> </a> <?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?> <?php $_subcategories = $_category->getChildrenCategories() ?> <?php if (count($_subcategories) > 0): ?> <ul> <?php foreach($_subcategories as $_subcategory): ?> <li> <a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>"> <?php echo $_subcategory->getName() ?> </a> </li> <?php endforeach; ?> </ul> <?php endif; ?> </li> <?php endforeach; ?> </ul> <?php endif; ?> 

Для отображения категорий верхнего уровня и текущих категорий SubCategories вы можете делать как ….

 <?php $_helper = Mage::helper('catalog/category') ?> <?php $_categories = $_helper->getStoreCategories() ?> <?php $currentCategory = Mage::registry('current_category') ?> <?php if (count($_categories) > 0): ?> <ul> <?php foreach($_categories as $_category): ?> <li> <a href="<?php echo $_helper->getCategoryUrl($_category) ?>"> <?php echo $_category->getName() ?> </a> <?php if ($currentCategory && $currentCategory->getId() == $_category->getId()): ?> <?php $_category = Mage::getModel('catalog/category')->load($_category->getId()) ?> <?php $_subcategories = $_category->getChildrenCategories() ?> <?php if (count($_subcategories) > 0): ?> <ul> <?php foreach($_subcategories as $_subcategory): ?> <li> <a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>"> <?php echo $_subcategory->getName() ?> </a> </li> <?php endforeach; ?> </ul> <?php endif; ?> <?php endif; ?> </li> <?php endforeach; ?> </ul> <?php endif; ?> 

Этот вопрос требует долгого ответа. Я укажу вам нужные места.

1) Лучшим решением является использование бесплатного расширения. Я не пробовал, но это подойдет цели. Вам нужно будет сделать некоторый CSS, чтобы добиться правильного внешнего вида.

http://www.magentocommerce.com/extension/1562/magento-easy-catalog-images Демо-версия: http://extension01.templates-master.com/gb/electronics.html

2) Я не верю в модули, так как это может стать трудным для обновления, если поставщик решил прекратить его поддерживать. Я использовал информацию из следующей темы форума, чтобы создать vew сайты. Посмотрите … Не может быть прямолинейным. Возможно, вам придется сделать несколько копий основных файлов в локальный каталог.

http://www.magentocommerce.com/boards/viewthread/3770/P30/

Надеюсь, это поможет вам 🙂

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

Листинг-блок Magento Custom

Благодаря!

посмотрев на все решения на сайте magento, я обнаружил, что решение wookiehangover надработало и заняло около 8 секунд.

создает UL, который вы можете создать. Благодарю.

После создания статического блока вы можете получить любой список подкатегорий по этому сценарию:

  $_helper = Mage::helper('catalog/category'); $_category = Mage::getModel('catalog/category')->load(5); $_subcategories = $_category->getChildrenCategories(); if (count($_subcategories) <= 0) { return; } $count = 0; foreach($_subcategories as $_category) { $category = Mage::getModel('catalog/category')->load($_category->getId()); $ret->{"object_".$count} ->url = $_helper->getCategoryUrl($_category); $ret->{"object_".$count} ->name = $_category->getName(); $ret->{"object_".$count} ->id = $_category->getId(); $ret->{"object_".$count} ->image = $category->getImageUrl(); $count++; } return $ret; } $list = list_subcategories(5); echo "<pre>"; print_r($list); echo "</pre>"; ?> 

Как насчет перечисления только категорий, принадлежащих текущему элементу. Не все категории на странице.

Но в виде дерева.

CATEGORIE – sub cat 1 CATEGORIE 2 – sub cat 1 – sub sub cat 1

BR Cveto