diegovarussa
5/19/2013 - 10:55 PM

Filtros de collection do produto.

Filtros de collection do produto.

<?php

// Get All Products of a category
$collection = Mage::getResourceModel('catalog/product_collection')
            ->setStoreId($this->getStoreId())
            ->addCategoryFilter($category);
// In this the addCategoryFilter() function, is used to get all products of a particular category. So, if you want to get all products of a certain category use this function.

// Visibility Filter
$collection = Mage::getResourceModel('catalog/product_collection');
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);
// The addVisibleFilterToCollection() adds visibility filter to a product collection i.e only products which are visible in frontend. The product which have “Not Visible Individually” selected in admin are removed.

// Status Filter
$collection = Mage::getResourceModel('catalog/product_collection');
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
// This basically filters out products which are “Disabled”. Only “Enabled” products remain in the collection.

// Add Product Price To Collection
$collection = Mage::getResourceModel('catalog/product_collection');
$collection ->addMinimalPrice()
            ->addFinalPrice()
            ->addTaxPercents();
// This adds the product prices, i.e base price, final price etc to the collection. Also, price after tax, if applicable.

// Filter By Ids
$collection = Mage::getResourceModel('catalog/product_collection');
$collection->addIdFilter(array(1,2,3));
//$collection->addIdFilter(array(1,2,3),false);
// This puts an id filter, only product with ids 1,2,3 remain in the collection. The function parameter is true/false, this means include/exclude products from collection.

// Add Website ID to the collection
$collection = Mage::getResourceModel('catalog/product_collection');
$collection->addWebsiteNamesToResult();
// This adds website_id of each product to that collection. Only useful when using multiple websites in magento.

// Filter Current Store Products
$collection = Mage::getResourceModel('catalog/product_collection');
$collection->addStoreFilter();

// Filter Current Website Products
$collection = Mage::getResourceModel('catalog/product_collection');
$collection->addWebsiteFilter();

// Get All Products Ids
$collection = Mage::getResourceModel('catalog/product_collection');
$collection->getAllIds();
// This returns an array with only products ids of collection.

// Add SEO Product URL
$collection = Mage::getResourceModel('catalog/product_collection');
$collection->addUrlRewrite();
// This adds SEO friends urls to our product collection.

// Add Category Ids
$collection = Mage::getResourceModel('catalog/product_collection');
$collection->addCategoryIds();
// This will add category ids to the products.

// Add Tier Pricing
$collection = Mage::getResourceModel('catalog/product_collection');
$collection->addTierPriceData();
// This added tier pricing data to each product in the collection.While we are on this subject, let look at some important function of the Product Object as well.