1
Magento 2中的收藏历史吗?
我知道目前Magento 2(2.1.2)中的许多代码或多或少是从Magento 1移植的,并且将来很多代码将被等效代码替代。在这方面,我想知道Magento 2系列的未来。 让我解释: Magento 1: 在Magento 1中,我们习惯于获得这样的集合: $products = Mage::getModel('catalog/product')->getCollection(); 然后,我们可以对集合应用过滤器和其他操作: $products->addAttributeToFilter('price', ['gteq' => 10]); $products->addFieldToFilter('created_at', ['lt' => '2016-10-10']); $products->setPageSize(10); // ... etc ... 最后但并非最不重要的一点是,我们的集合将返回模型: foreach ($products as $product) { echo get_class($product); // Mage_Catalog_Model_Product } Magento 2: Magento添加了许多新的抽象层,实现了一种更可靠的工作方式。这意味着当我们想要实体列表时,我们从存储库中请求它: $productResults = $this->productRepository->getList($searchCriteria); 如果我们要应用过滤器,我们使用的一个组合SearchCriteriaBuilder,在FilterGroupBuilder中,FilterBuilder和SortOrderBuilder: $this->searchCriteriaBuilder->addSortOrder( $this->sortOrderBuilder ->setField('created_at') ->setAscendingDirection() ->create() ); …