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


PHP Mage_Catalog_Model_Resource_Product_Collection::getFlag方法代码示例

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


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

示例1: sort

 /**
  * @param Mage_Catalog_Model_Resource_Product_Collection $productCollection
  * @return mixed
  */
 public function sort(Mage_Catalog_Model_Resource_Product_Collection $productCollection)
 {
     //Pass a small validation
     if (!$this->_getHelper()->isCategorySortingEnable() || $productCollection->getFlag(self::MARKETO_SORTED)) {
         return $productCollection;
     }
     $categoriesList = $this->_getPesonalizeCalculator()->getScoreCategoryParams(HooshMarketing_Marketo_Model_Personalize_Calculator::CATEGORY_ID_AND_SCORE);
     //get List of categories with key -> Category_id and value - Score
     if (!count($categoriesList)) {
         //if we havn`t score categories do nothing
         return $productCollection;
     }
     uasort($categoriesList, function ($f, $s) {
         return $f > $s ? 1 : -1;
         //sort by descending
     });
     //Sort categories in order to show top scored categories first
     $categoriesList = array_keys($categoriesList);
     // get only category ids
     try {
         $productCategoryTable = $this->_getCoreResource()->getTableName("catalog_category_product");
         $productCollection->getSelect()->joinLeft(array("marketo_category_table" => $productCategoryTable), "marketo_category_table.product_id = e.entity_id", array("top_category_id" => "marketo_category_table.category_id"))->group("entity_id")->order("FIELD(top_category_id, " . implode(',', $categoriesList) . ") DESC");
         //order by top
         $productCollection->setFlag(self::MARKETO_SORTED, true);
         //to set order only one time
     } catch (Exception $e) {
         Mage::logException($e);
     }
     return $productCollection;
 }
开发者ID:sereban,项目名称:magento-marketo-integration,代码行数:34,代码来源:Sorting.php

示例2: addIndexToProductCollection

 /**
  * Add index select in product collection
  *
  * @param Mage_Catalog_Model_Resource_Product_Collection $collection
  * @param int $customerGroupId
  * @return Enterprise_CatalogPermissions_Model_Resource_Permission_Index
  */
 public function addIndexToProductCollection($collection, $customerGroupId)
 {
     $parts = $collection->getSelect()->getPart(Zend_Db_Select::FROM);
     if (isset($parts['perm'])) {
         return $this;
     }
     if ($collection->getFlag('disable_root_category_filter')) {
         $permColumns = $this->_getPermColumns();
     } else {
         $permColumns = array('grant_catalog_category_view', 'grant_catalog_product_price', 'grant_checkout_items');
     }
     $collection->getSelect()->joinLeft(array('perm' => $this->getTable('permission_index')), 'perm.category_id=cat_index.category_id
                     AND perm.customer_group_id= ' . $customerGroupId . ' AND perm.website_id=' . Mage::app()->getStore()->getWebsiteId(), $permColumns);
     if (!Mage::helper('enterprise_catalogpermissions')->isAllowedCategoryView()) {
         $collection->getSelect()->where('perm.grant_catalog_category_view = ?', Enterprise_CatalogPermissions_Model_Permission::PERMISSION_ALLOW);
     } else {
         $collection->getSelect()->where('perm.grant_catalog_category_view != ?' . ' OR perm.grant_catalog_category_view IS NULL', Enterprise_CatalogPermissions_Model_Permission::PERMISSION_DENY);
     }
     $collection->getSelect()->where('cat_index.store_id=' . $collection->getStoreId());
     if ($collection->getFlag('disable_root_category_filter')) {
         $collection->getSelect()->where('cat_index.is_parent=1');
         $collection->getSelect()->group('cat_index.product_id');
     }
     if ($this->_isLinkCollection($collection)) {
         $collection->getSelect()->where('perm.grant_catalog_product_price!=' . Enterprise_CatalogPermissions_Model_Permission::PERMISSION_DENY . ' OR perm.grant_catalog_product_price IS NULL')->where('perm.grant_checkout_items!=' . Enterprise_CatalogPermissions_Model_Permission::PERMISSION_DENY . ' OR perm.grant_checkout_items IS NULL');
     }
     return $this;
 }
开发者ID:QiuLihua83,项目名称:magento-enterprise-1.13.1.0,代码行数:35,代码来源:Index.php


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