2014-01-08 70 views
1

我创建了10个产品和两个类别在我的magento中标注了'A'和'B'。这10种产品被分配到A类而不是B.我想根据sku的属性值仅显示B类中的3种产品。 我正在使用的应用程序/设计/前端下面的代码/ my_theme_package/mytheme的/目录/产品/ list.phtml:在属性显示3到5个产品,属性值为sku在magento

<?php 
$products = Mage::getResourceModel('catalog/product_collection'); 
$products->addAttributeToSelect('sku', '9780007512119');  
$products->addAttributeToFilter('visibility', array('neq' => 1));  
$products->addAttributeToFilter('status', 1); 
$products->load(); 
if ($products->getFirstItem()) 
{ 
    $product = $products->getFirstItem(); 
    echo $product->getName(); 
} 
else 
{ 
    echo 'No product exists with the name ' . $name; 
} 

>

+1

我无法理解的问题。为什么不将这3种产品分配给B类呢? – enenen

+0

我不想分配此类别的产品。我只想要的是,我必须从sales_flat_order_item中获取sku值,并且关于该sku,我想要显示这些产品 –

回答

0

的addAttributeToSelect方法仅过滤属性,不是基于产品?像addAttributeToFilter这样的属性。

试试这个代码,而不是:

<?php 
$products = Mage::getResourceModel('catalog/product_collection'); 
$products->addAttributeToFilter('sku', '9780007512119');  
$products->addAttributeToFilter('visibility', array('neq' => 1));  
$products->addAttributeToFilter('status', 1); 
$products->load(); 
if ($products->getFirstItem()) 
{ 
    $product = $products->getFirstItem(); 
    echo $product->getName(); 
} 
else 
{ 
    echo 'No product exists with the name ' . $name; 
} 
相关问题