0

我正在查看在单个产品页面上显示已在 Magento 管理区域中选择的子类别的名称。

我打开了模板,但我只需要调用相关代码,有什么想法吗?

4

4 回答 4

0

尝试这个

<?php

$onCatalog = false;
if(Mage::registry('current_product')) {
    $onCatalog = true;
}
于 2012-09-18T14:07:05.787 回答
0

好的,如果你在 catalog>product>view.phtml 或 catalog>product>list.phtml

<?php foreach($_product->getCategoryCollection() as $_cat): ?>
    <?php echo $_cat->getName() ?><br />
<?php endforeach ?>

否则,第一行应该得到你的产品:

$_product = Mage::registry('current_product');

会给您当前选择的产品。

尽管:

$_product = Mage::helper('catalog/product')->load(35)

会给你产品 35。

于 2012-09-18T22:44:47.440 回答
0

你可以用这个。

<h2>This product is in the following categories</h2>
                <ul>
                  <?php 
                    $categories = $_product->getCategoryCollection();
                    $categories->addAttributeToSelect(array('name', 'url'));
                    foreach ($categories as $category){
                      if ($category->getName() == 'Default Category' || $category->getName() == 'Categories') {
                        continue;
                      }
                  ?>
                  <li><a href="<?php echo $category->getUrl() ?>"><?php echo $category->getName() ?></a></li>
                  <?php } ?>
                </ul>
于 2012-09-18T15:07:26.543 回答
0

试试这个(假设您在产品视图模板 view.phtml 中):

<?php foreach($_product->getCategoryCollection() as $_cat): ?>
    <?php echo $_cat->getName() ?><br />
<?php endofreach ?>

这应该让您开始并获得产品已分配到的类别列表。

如果您希望拥有 ID:

<?php $categoryIds = $_product->getCategoryIds() // an array ?>
于 2012-09-18T15:04:52.517 回答