php – 不推荐使用集合可见性和状态过滤器,应该使用什么?
发布时间:2020-12-13 17:58:14 所属栏目:PHP教程 来源:网络整理
导读:Mage_Catalog_Model_Product_Status的addVisibleFilterToCollection()和addSaleableFilterToCollection()方法使用@deprecated注释,但是没有关于使用什么方法的指令. Magento核心内部的代码仍在使用这些方法,参考Mage_Catalog_Model_Layer :: prepareProductC
Mage_Catalog_Model_Product_Status的addVisibleFilterToCollection()和addSaleableFilterToCollection()方法使用@deprecated注释,但是没有关于使用什么方法的指令. Magento核心内部的代码仍在使用这些方法,参考Mage_Catalog_Model_Layer :: prepareProductCollection().
应该使用什么方法用正确的可见性/可销售过滤器来装饰集合?
对于Visibility,有(来自Mage_Catalog_Model_Layer :: prepareProductCollection()):
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection); 这将CATALOG和BOTH过滤器设置为集合. 对于状态,它看起来有点奇怪但仍然有意义. $this->getSelect() ->from(array(self::MAIN_TABLE_ALIAS => $this->getEntity()->getFlatTableName()),null) ->columns(array('status' => new Zend_Db_Expr(Mage_Catalog_Model_Product_Status::STATUS_ENABLED))); 执行此代码时执行此代码 Mage::getResourceModel('catalog/product_collection') 所以基本上在执行时已经检查了状态ENABLED $category->getProductCollection() 或类似的产品收集电话. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |