0

在 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;

任何人都有列出标签的任何代码示例,或者有更好的方法来做到这一点?

4

2 回答 2

0

您是否尝试过分层导航?它创建基于产品属性的分类机制。在启用分层导航的情况下输入类别时,您会看到设置为显示在那里的产品属性列表,以及它们的可能值。

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

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

它可能不是您想要的,但值得一试。

于 2012-09-23T10:57:41.390 回答
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'];
}
于 2012-09-20T18:27:14.353 回答