当前位置:  开发笔记 > 编程语言 > 正文

如何从magento电子商务中的特定类别获取产品

如何解决《如何从magento电子商务中的特定类别获取产品》经验,为你挑选了3个好方法。

我想获得与产品视图中显示的当前产品相同类别的随机产品列表 - 到目前为止,我挖出的所有产品都是

Magento产品按类别划分

有谁知道如何做到这一点?



1> Josh Penning..:

您基本上加载类别,获取产品集合,然后适当地过滤.

$products = Mage::getModel('catalog/category')->load($category_id)
 ->getProductCollection()
 ->addAttributeToSelect('*')
 ->addAttributeToFilter('status', 1)
 ->addAttributeToFilter('visibility', 4)
 ->addAttributeToFilter('special_price', array('neq' => ""))
 ->setOrder('price', 'ASC')
 ;



2> Mukesh Chapa..:

以下是从任何特定类别获取产品的代码: -

$productCollection = Mage::getResourceModel('catalog/product_collection')
                           ->addCategoryFilter($category);



3> 小智..:

我最终做的是在app/design/frontend/default/theme_name/template/catalog/product/list_random.phtml

做类似的事情:

getCurrentChildCategories();

$_category = $this->getCurrentCategory();
$subs = $_category->getAllChildren(true);
$result = array();
foreach($subs as $cat_id) {
    $category = new Mage_Catalog_Model_Category();
    $category->load($cat_id);
    $collection = $category->getProductCollection();
    foreach ($collection as $product) {
        $result[] = $product->getId();
    }

}
shuffle($result);
?>

这将为您提供一系列产品ID.您可以使用以下方法循环浏览它们并动态创建产品:

load($_product_id);
    //do something with the product here
}?>

然后,使用以下内容在cms中创建一个静态块

{{block type="catalog/navigation" template="catalog/product/list_random.phtml"}} 

最后,在目录 - >管理类别部分中,选择类别,然后选择显示设置选项卡.将显示模式切换为"静态块和产品",然后从下拉列表中选择块.

这应该做到这一点.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有