本文整理匯總了PHP中Mage_Catalog_Model_Resource_Product_Collection::_loadAttributes方法的典型用法代碼示例。如果您正苦於以下問題:PHP Mage_Catalog_Model_Resource_Product_Collection::_loadAttributes方法的具體用法?PHP Mage_Catalog_Model_Resource_Product_Collection::_loadAttributes怎麽用?PHP Mage_Catalog_Model_Resource_Product_Collection::_loadAttributes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Mage_Catalog_Model_Resource_Product_Collection
的用法示例。
在下文中一共展示了Mage_Catalog_Model_Resource_Product_Collection::_loadAttributes方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: _loadAttributes
/**
* Load attributes from MongoDB after main data are loaded from MySQL
*
* @param bool $printQuery If the SQL query should be printed or not
* @param bool $logQuery If the SQL query should be logegd or not
*
* @return Smile_MongoCore_Model_Resource_Override_Catalog_Product_Collection Self reference
*/
public function _loadAttributes($printQuery = false, $logQuery = false)
{
parent::_loadAttributes($printQuery, $logQuery);
if (!empty($this->_itemsById)) {
$storeFilter = array_unique(array('attr_' . $this->getDefaultStoreId(), 'attr_' . $this->getStoreId()));
if (is_null($this->_loadedDocuments)) {
$documentIds = $this->getLoadedIds();
foreach ($documentIds as $key => $value) {
$documentIds[$key] = new MongoInt32($value);
}
$idFilter = array('_id' => array('$in' => $documentIds));
$cursor = $this->_getDocumentCollection()->find($idFilter, $storeFilter);
$this->_loadedDocuments = array();
while ($cursor->hasNext()) {
$document = $cursor->getNext();
$this->_loadedDocuments[] = $document;
}
}
foreach ($this->_loadedDocuments as $document) {
$loadedData = array();
//$document = $cursor->getNext();
foreach ($storeFilter as $storeId) {
if (isset($document[$storeId])) {
if (!is_array($document[$storeId])) {
$document[$storeId] = array($storeId => $document[$storeId]);
}
foreach ($document[$storeId] as $attributeCode => $attributeValue) {
$loadedData[$attributeCode] = $attributeValue;
}
}
}
$this->_items[$document['_id']]->addData($loadedData);
}
}
return $this;
}