1.通过属性获取产品
$product=Mage::getModel('catalog/product')->loadByAttribute('sku','70000');
2.获取指定分类下的产品
$products= Mage::getModel('catalog/category')->load($category_id)
->getProductCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('status', 1)
->addAttributeToFilter('visibility', 4);
将上面的$category_id修改为需要显示产品的分类id,该id可以在分类页面中看到。上述代码中还捎带了一些过滤,产品状态为激活,并处于可见状态。
3. 显示分类的子分类以及该分类下的产品数量
// 获取当前分类模型
$currCat = Mage::registry('current_category');
//获取当前分类的所有子分类的模型集合
$collection = Mage::getModel('catalog/category')->getCategories($currCat->getEntityId());
//循环子分类的模型集合
foreach($collection as $cat) {
if($cat->getIsActive()) {
$category = Mage::getModel('catalog/category')->load($cat->getEntityId());
//获取子分类的产品Collection,并通过count()方法,获取该子分类的产品数量
$prodCollection = Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($category);
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($prodCollection);
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($prodCollection);
$html .= '<a href="<?php echo $category->getUrl() ?>"><?php echo $category->getName() ?></a> (<?php echo $prodCollection->count() ?>)<br/>';
}
}
4.获取订单中的产品
[php] view plaincopy在CODE上查看代码片派生到我的代码片
<?php
/* 通过订单号获取订单 */
$this_order = Mage::getModel('sales/order')->loadByIncrementId($order_id);
/* 获取订单中的产品 */
$items = $this_order->getAllItems();
/* 输出 */
foreach ($items as $itemId => $item)
{
echo $item->getName();
echo $item->getSku();
echo number_format($item->getQtyOrdered());
}
5.获取产品属性
[php] view plaincopy在CODE上查看代码片派生到我的代码片
$p_id = $_product->getId();
$_product = Mage::getModel('catalog/product')->load($p_id);
$p_attrs = Mage::getBlockSingleton('catalog/product_view_attributes')->getMeSetData($_product);
print_r($p_attrs);
|