Я концептуализирую новый сайт Magento, который будет иметь продукты, которые входят в несколько категорий. Мне интересно, могу ли я отображать все категории, на которых находится продукт на странице сведений о продукте. Я знаю, что можно получить категорию, но можно ли отобразить список всех категорий, к которым принадлежит продукт?
Например, рубашка может быть включена в категорию « Рубашки », а также в « Дизайнеры и лето» . В идеале я хотел бы иметь возможность отображать следующее:
Больше от:
Мужчины> Рубашки
- Кэш-память Magento Core Config
- Получение способа оплаты в отчет в Magento
- Magento - проблема с созданием настраиваемого модуля
- Установка Magento жалуется на отсутствие InnoDB, когда он доступен
- Как я могу поместить содержимое страницы CMS в статический блок?
Мужчины> Дизайнеры> Barnabé Hardy
Мужчины> Лето
Это даст вам данные, которые вы ищете, например название, URL и т. Д.:
$currentCatIds = $_product->getCategoryIds(); $categoryCollection = Mage::getResourceModel('catalog/category_collection') ->addAttributeToSelect('name') ->addAttributeToSelect('url') ->addAttributeToFilter('entity_id', $currentCatIds) ->addIsActiveFilter();
затем просто перебирайте коллекцию, например
foreach($categoryCollection as $cat){ echo $cat->getName().' '.$cat->getUrl(); }
Просто.
$_categories = $_product->getCategoryCollection() foreach ($_categories as $_category) //do something with $_category
Вы можете использовать следующий код для отображения всех категорий, связанных с выбранным продуктом, на странице сведений о продукте.
<?php $categories = $_product->getCategoryIds(); ?> <?php foreach($categories as $k => $_category_id): ?> <?php $_category = Mage::getModel('catalog/category')->load($_category_id) ?> < <a href="<?php echo $_category->getUrl() ?>"><?php echo $_category->getName() ?></a> <?php endforeach; ?>