當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Collection::getSize方法代碼示例

本文整理匯總了PHP中Magento\Catalog\Model\Resource\Product\Collection::getSize方法的典型用法代碼示例。如果您正苦於以下問題:PHP Collection::getSize方法的具體用法?PHP Collection::getSize怎麽用?PHP Collection::getSize使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Magento\Catalog\Model\Resource\Product\Collection的用法示例。


在下文中一共展示了Collection::getSize方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: execute

 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $this->_state->setAreaCode('crontab');
     $indexersData = $this->indexerCollection->getItems();
     if (!is_null($input->getOption(self::INPUT_KEY_MAX_PRODUCTS))) {
         $productsNum = $input->getOption(self::INPUT_KEY_MAX_PRODUCTS);
     } else {
         $productsNum = $this->productCollection->getSize();
     }
     if (!is_null($input->getOption(self::INPUT_KEY_MAX_CATEGORIES))) {
         $categoriesNum = $input->getOption(self::INPUT_KEY_MAX_CATEGORIES);
     } else {
         $categoriesNum = $this->categoryCollection->getSize();
     }
     if (!is_null($input->getOption(self::INPUT_KEY_MAX_CUSTOMERS))) {
         $customersNum = $input->getOption(self::INPUT_KEY_MAX_CUSTOMERS);
     } else {
         $customersNum = $this->customerCollection->getSize();
     }
     if (!is_null($input->getOption(self::INPUT_KEY_MAX_RULES))) {
         $rulesNum = $input->getOption(self::INPUT_KEY_MAX_RULES);
     } else {
         $rulesNum = $this->ruleCollection->getSize();
     }
     //These indexers are not ready to run in single-row mode
     $excludeIndexers = ['catalogrule_rule', 'catalogsearch_fulltext'];
     $productIndexers = ['catalog_product_flat', 'catalog_product_price', 'catalog_product_attribute', 'cataloginventory_stock', 'catalogrule_product', 'targetrule_product_rule', 'catalogpermissions_product', 'catalogrule_rule', 'catalogsearch_fulltext'];
     $categoryIndexers = ['catalog_category_flat', 'catalog_category_product', 'catalog_product_category', 'catalogpermissions_category'];
     $ruleIndexers = ['targetrule_rule_product'];
     $customerIndexres = ['customer_grid'];
     $requestedIndexer = $input->getOption('indexer');
     if ($requestedIndexer == 'all') {
         $runThese = [];
     } else {
         $runThese = explode(',', $input->getOption('indexer'));
     }
     foreach ($indexersData as $indexer) {
         if (in_array($indexer->getIndexerId(), $excludeIndexers)) {
             continue;
         }
         if (count($runThese) > 0 && !in_array($indexer->getIndexerId(), $runThese)) {
             continue;
         }
         $max = 0;
         $entity = '';
         if (in_array($indexer->getIndexerId(), $productIndexers)) {
             $max = $productsNum;
             $entity = 'Product';
         } else {
             if (in_array($indexer->getIndexerId(), $categoryIndexers)) {
                 $max = $categoriesNum;
                 $entity = 'Category';
             } else {
                 if (in_array($indexer->getIndexerId(), $customerIndexres)) {
                     $max = $customersNum;
                     $entity = 'Customer';
                 } else {
                     if (in_array($indexer->getIndexerId(), $ruleIndexers)) {
                         $max = $rulesNum;
                         $entity = 'Rule';
                     }
                 }
             }
         }
         if (!is_null($input->getOption(self::INPUT_KEY_REINDEX_ID))) {
             $id = $input->getOption(self::INPUT_KEY_REINDEX_ID);
         } else {
             $id = mt_rand(1, $max);
         }
         $output->writeln('<info>' . $entity . '# id ' . $id . ' (out of ' . $max . ') for ' . $indexer->getIndexerId() . ' </info>');
         $this->indexRegistry->get($indexer->getIndexerId())->reindexRow($id);
         $output->writeln('<info>' . $indexer->getDescription() . ' completed.</info>');
     }
 }
開發者ID:paliarush,項目名稱:magento-parallel-indexer,代碼行數:77,代碼來源:IndexerCommand.php


注:本文中的Magento\Catalog\Model\Resource\Product\Collection::getSize方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。