php – 不推荐使用集合可见性和状态过滤器,应该使用什么?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 不推荐使用集合可见性和状态过滤器,应该使用什么?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
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过滤器设置为集合.

对于状态,它看起来有点奇怪但仍然有意义.
在app / code / core / Mage / Catalog / Model / Resource / Product / Collection.PHP中的_initSelect中
完成以下操作:

$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()

或类似的产品收集话.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 不推荐使用集合可见性和状态过滤器,应该使用什么?全部内容,希望文章能够帮你解决php – 不推荐使用集合可见性和状态过滤器,应该使用什么?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。