当前位置: 首页>>代码示例>>PHP>>正文


PHP Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection::getItems方法代码示例

本文整理汇总了PHP中Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection::getItems方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection::getItems方法的具体用法?PHP Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection::getItems怎么用?PHP Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection::getItems使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection的用法示例。


在下文中一共展示了Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection::getItems方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: addPriceIndexToCollection

 /**
  * Add bundle price range index to Product collection
  *
  * @param Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection $collection
  * @return Mage_Bundle_Model_Price_Index
  */
 public function addPriceIndexToCollection($collection)
 {
     $productObjects = array();
     $productIds = array();
     foreach ($collection->getItems() as $product) {
         /* @var $product Mage_Catalog_Model_Product */
         if ($product->getTypeId() == Mage_Catalog_Model_Product_Type::TYPE_BUNDLE) {
             $productIds[] = $product->getEntityId();
             $productObjects[$product->getEntityId()] = $product;
         }
     }
     $websiteId = Mage::app()->getStore($collection->getStoreId())->getWebsiteId();
     $groupId = Mage::getSingleton('customer/session')->getCustomerGroupId();
     $addOptionsToResult = false;
     $prices = $this->_getResource()->loadPriceIndex($productIds, $websiteId, $groupId);
     foreach ($productIds as $productId) {
         if (isset($prices[$productId])) {
             $productObjects[$productId]->setData('_price_index', true)->setData('_price_index_min_price', $prices[$productId]['min_price'])->setData('_price_index_max_price', $prices[$productId]['max_price']);
         } else {
             $addOptionsToResult = true;
         }
     }
     if ($addOptionsToResult) {
         $collection->addOptionsToResult();
     }
     return $this;
 }
开发者ID:jauderho,项目名称:magento-mirror,代码行数:33,代码来源:Index.php

示例2: appendSummary

 /**
  * Append review summary to product collection
  *
  * @param Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection $collection
  * @return Mage_Review_Model_Review
  */
 public function appendSummary($collection)
 {
     $entityIds = array();
     foreach ($collection->getItems() as $_itemId => $_item) {
         $entityIds[] = $_item->getEntityId();
     }
     if (sizeof($entityIds) == 0) {
         return $this;
     }
     $summaryData = Mage::getResourceModel('review/review_summary_collection')->addEntityFilter($entityIds)->addStoreFilter(Mage::app()->getStore()->getId())->load();
     foreach ($collection->getItems() as $_item) {
         foreach ($summaryData as $_summary) {
             if ($_summary->getEntityPkValue() == $_item->getEntityId()) {
                 $_item->setRatingSummary($_summary);
             }
         }
     }
     return $this;
 }
开发者ID:ravi2jdesign,项目名称:solvingmagento_1.7.0,代码行数:25,代码来源:Review.php

示例3: getTouchedProducts

 /**
  * Retrieve specific data from products, that were intrested to patricular customer.
  * Writes Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection
  *  to $_touchedProductsCollection
  *
  * @return array
  * (
  *  'catalog_product_view'          => array(),
  *  'catalog_product_comare_add'    => array(),
  *  'checkout_cart_add_product'     => array(),
  *  'wishlist_add_product'          => array(),
  *  'shopping_cart_product'         => array(),
  *  'wishlist_product'              => array()
  * )
  */
 public function getTouchedProducts()
 {
     $result = array();
     $ids = array();
     foreach (Mage::getModel('checkout/cart')->getQuoteProductIds() as $productId) {
         $ids[$productId] = $productId;
         $result['shopping_cart_product'][$productId] = array('weight' => 1);
     }
     if (Mage::getSingleton('customer/session')->isLoggedIn()) {
         $result['wishlist_product'] = array();
         foreach (Mage::getModel('wishlist/wishlist')->loadByCustomer(Mage::getSingleton('customer/session')->getCustomer())->getProductCollection()->getItems() as $item) {
             $ids[$item->getProductId()] = $item->getProductId();
             $result['wishlist_product'][$item->getProductId()] = array('weight' => 1);
         }
     }
     // get recently viewed products, added to shopping cart, to whishlist, to compare.
     $lastViewed = false;
     $breakTheViewsInRow = array();
     foreach ($this->getResource()->getRecentlyIntrestedProductIds() as $item) {
         $ids[$item['product_id']] = $item['product_id'];
         $eventName = $item['event_name'];
         unset($item['event_name']);
         if (!isset($result[$eventName][$item['product_id']])) {
             $result[$eventName][$item['product_id']] = array('logged_at' => $item['logged_at'], 'product_id' => $item['product_id'], 'weight' => 0);
         }
         $result[$eventName][$item['product_id']]['weight']++;
         // calculating how many last views in a row of particular product we have
         if (!isset($result[$eventName][$item['product_id']]['view_in_row'])) {
             $result[$eventName][$item['product_id']]['view_in_row'] = 1;
         } elseif (false === $lastViewed || $lastViewed == $item['product_id'] && !isset($breakTheViewsInRow[$item['product_id']])) {
             $result[$eventName][$item['product_id']]['view_in_row']++;
         } else {
             $breakTheViewsInRow[$item['product_id']] = true;
         }
         $lastViewed = $item['product_id'];
     }
     // fill event recieved array with category_id, attribute_set_id, price
     $groups = $this->_getProductGroups();
     $this->_touchedProductsCollection = Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('entity_id', array('in' => $ids))->addFinalPrice();
     // comment this line for out of stock items
     foreach ($this->_touchedProductsCollection->getItems() as $item) {
         foreach ($groups as $group) {
             if (isset($result[$group]) && isset($result[$group][$item->getEntityId()])) {
                 $result[$group][$item->getEntityId()]['product_id'] = $item->getEntityId();
                 $price = $item->getFinalPrice();
                 if (!$price) {
                     $price = $item->getCalculatedFinalPrice();
                 }
                 if (!$price) {
                     $price = $item->getPrice();
                 }
                 $result[$group][$item->getEntityId()]['price'] = $price;
                 if ($item->getAttributeSetId()) {
                     $result[$group][$item->getEntityId()]['attribute_set_id'] = $item->getAttributeSetId();
                 }
                 /*
                 $categoryIds = $item->getCategoryIds();
                 $category = Mage::registry('current_category');
                 if (!$category || !in_array($category->getId(), $categoryIds)) {
                     $category = $item->getCategoryCollection()
                         ->setOrder('level', 'desc')
                         ->getFirstItem();
                 }
                 if ($category) {
                     $result[$group][$item->getEntityId()]['category_id']
                         = array($category->getId());
                 }
                 */
                 $result[$group][$item->getEntityId()]['category_id'] = $item->getCategoryIds();
                 $weightFactor = Mage::getStoreConfig("smartsuggest/event_importance/{$group}");
                 $result[$group][$item->getEntityId()]['weight'] *= is_numeric($weightFactor) ? $weightFactor : 1;
             }
         }
     }
     $result = array_merge(array_fill_keys($groups, array()), $result);
     return $result;
 }
开发者ID:santhosh400,项目名称:ecart,代码行数:92,代码来源:Suggest.php


注:本文中的Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection::getItems方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。