分类&显示Magento中的选项 - 标签,类别等

时间:2012-09-20 15:32:49

标签: php magento tags block

在Magento商店,我希望能够通过某种分类机制对产品进行分类(例如:标签,类别,相关产品或其他产品?)

然后我可以构建一个显示所有分类标题的块。然后,用户可以单击并获取此分类中所有产品的页面。

示例:

Honda
Toyota
Chevrolet
Hyundai
Chrysler

我们已经使用了类别,因此使用此分类机制会生成包含许多不需要的条目的列表。我正在考虑使用 标签系统,但我没有在网上找到任何以这种方式讨论使用标签的参考文献。也许表演不好?

这是第一次尝试

// Here is a first attempt - I get all products with Category=4 
// which is a "taggable" category. Then I list all related tags
require_once('app/Mage.php'); //Path to Magento
umask(0);
Mage::app();

// Category 4 is called "Category with tags"
$_categoryId = "4";

$_productCollection = Mage::getModel('catalog/category')->load($_categoryId)
    ->getProductCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('status', 1)
    ->addAttributeToFilter('visibility', 4)
    ->setOrder('price', 'ASC');    


    foreach ($_productCollection as $_product):
        $model=Mage::getModel('tag/tag');
        $tags= $model->getResourceCollection()
            ->addPopularity()
            ->addStatusFilter($model->getApprovedStatus())
            ->addProductFilter($_product->getId())
            ->setFlag('relation', true)
            ->addStoreFilter(Mage::app()->getStore()->getId())
            ->setActiveFilter()
            ->load();

        if(isset($tags) && !empty($tags)):
            foreach($tags as $tag):            
                echo $tag->getName(). '<br/>';
            endforeach;
        endif;
    endforeach;

任何人都有列出标签的代码示例,或者更好的方法吗?

2 个答案:

答案 0 :(得分:0)

在数据库中快速浏览一下,说服我可能在这里顺便通过Magento的精彩生产功能......

$sql = "SELECT * FROM tag WHERE status = '1'";
$connection = Mage::getSingleton('core/resource')->getConnection('core_read');
foreach ($connection->fetchAll($sql) as $arr_row) {
    print $arr_row['name'];
}

答案 1 :(得分:0)

您是否尝试过分层导航?它根据产品属性创建分类机制。输入启用了分层导航的类别时,会显示一个设置为显示在其中的产品属性列表及其可能的值。

要启用分层导航,请转到目录 - &gt;分类 - &gt;管理类别。在那里,选择一些类别,转到显示设置选项卡并将Is Anchor设置为是。

要允许或阻止产品属性显示在“分层导航”列表中,请转到“目录” - &gt;属性 - &gt;管理属性。在那里,选择所需的属性并将“在分层导航中使用”选项设置为所需的值。

这可能不是你想要的,但值得一试。