34 private $indexerConfig;
51 parent::__construct($entityFactory);
63 public function loadData($printQuery =
false, $logQuery =
false)
66 $states = $this->statesFactory->create();
67 foreach ($this->getOrderedViewIds() as $viewId) {
70 $view = $view->load($viewId);
71 foreach ($states->getItems() as
$state) {
73 if (
$state->getViewId() == $viewId) {
90 private function getOrderedViewIds()
94 foreach (array_keys($this->indexerConfig->getIndexers()) as $indexerId) {
95 $indexer = $this->_entityFactory->create(IndexerInterface::class);
96 $orderedViewIds[] =
$indexer->load($indexerId)->getViewId();
98 $orderedViewIds = array_filter($orderedViewIds);
99 $orderedViewIds += array_diff(array_keys($this->config->getViews()), $orderedViewIds);
101 return $orderedViewIds;
115 foreach ($this as $view) {
117 if ($view->getState()->getMode() ==
$mode) {
loadData($printQuery=false, $logQuery=false)
if($exist=($block->getProductCollection() && $block->getProductCollection() ->getSize())) $mode
getViewsByStateMode($mode)
load($printQuery=false, $logQuery=false)
__construct(\Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory, \Magento\Framework\Mview\ConfigInterface $config, \Magento\Framework\Mview\View\State\CollectionFactory $statesFactory, ConfigInterface $indexerConfig=null)