本文整理汇总了PHP中Mage_Eav_Model_Entity_Collection_Abstract::getSize方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Eav_Model_Entity_Collection_Abstract::getSize方法的具体用法?PHP Mage_Eav_Model_Entity_Collection_Abstract::getSize怎么用?PHP Mage_Eav_Model_Entity_Collection_Abstract::getSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Eav_Model_Entity_Collection_Abstract
的用法示例。
在下文中一共展示了Mage_Eav_Model_Entity_Collection_Abstract::getSize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getListMostViewedProducts
function getListMostViewedProducts($perPage = NULL, $currentPage = 1)
{
/*
Always set de $perPage, by template or by config
if $perPage eq 0 (zero) not limit the list
*/
if ($perPage === NULL) {
$perPage = (int) $this->_config['qty'];
}
/*
Show all the product list in the current store
*/
$storeId = Mage::app()->getStore()->getStoreId();
$this->setStoreId($storeId);
$this->_productCollection = Mage::getResourceModel('reports/product_collection')->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())->addMinimalPrice()->addFinalPrice()->addTaxPercents()->addViewsCount()->setStoreId($storeId)->addStoreFilter($storeId)->setPageSize($perPage);
if ($this->_config['catsid']) {
$this->addCategoryIdsFilter($this->_productCollection);
}
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($this->_productCollection);
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($this->_productCollection);
$this->_productCollection->setPageSize($perPage)->setCurPage($currentPage);
if (method_exists($this->_productCollection, "setMaxSize")) {
$this->_productCollection->setMaxSize($perPage);
}
if ($this->_productCollection && $this->_productCollection->getSize()) {
if (method_exists($this->_productCollection, "setMaxSize")) {
$this->_productCollection->setMaxSize($perPage);
}
}
return $this->_productCollection;
}
示例2: saveCollectionStubIndexer
/**
* Save an EAV collection, disabling the indexer if the collection is
* larger than a configured size.
*
* @param Mage_Eav_Model_Entity_Collection_Abstract
* @return self
*/
public function saveCollectionStubIndexer(Mage_Eav_Model_Entity_Collection_Abstract $collection)
{
$config = $this->getConfigModel();
$stubIndexer = $config->maxPartialReindexSkus < $collection->getSize();
if ($stubIndexer) {
// Stub the indexer so no indexing can take place during massive saves.
$indexerKey = '_singleton/index/indexer';
$oldIndexer = $this->reregister($indexerKey, $this->indexerStub);
}
$failureCount = 0;
$logData = ['product_count' => $collection->getSize()];
$logMessage = 'Saving {product_count} products with stubbed indexer.';
$this->logger->info($logMessage, $this->context->getMetaData(__CLASS__, $logData));
$failMessage = 'Failed to save product with sku {sku}.';
foreach ($collection as $item) {
try {
$item->save();
} catch (Exception $e) {
$failureCount++;
$failLogData = ['sku' => $item->getSku(), 'exception' => $e];
$this->logger->logException($e, $this->context->getMetaData(__CLASS__, $failLogData))->error($failMessage, $this->context->getMetaData(__CLASS__, $failLogData));
}
}
$logMessage = 'Finished saving {product_count} products with {failure_count} failures.';
$logData['failure_count'] = $failureCount;
$this->logger->info($logMessage, $this->context->getMetaData(__CLASS__, $logData));
if ($stubIndexer) {
$this->reregister($indexerKey, $oldIndexer);
}
return $this;
}