protected function _beforeLoad() { if ($this->isLoadSliderTitle()) { $this->joinSliderTitle(); } return parent::_beforeLoad(); }
/** * Load collection data * * @return $this */ public function _beforeLoad() { if (!$this->getLoadDefault()) { $this->setWithoutDefaultFilter(); } $this->addOrder('main_table.name', self::SORT_ORDER_ASC); return parent::_beforeLoad(); }
/** * Apply filters common to reports * * @return $this */ protected function _beforeLoad() { parent::_beforeLoad(); $this->_applyAggregatedTable(); $this->_applyDateRangeFilter(); $this->_applyStoresFilter(); $this->_applyCustomFilter(); return $this; }
/** * Before collection load * * @return $this */ protected function _beforeLoad() { $this->_eventManager->dispatch($this->_eventPrefix . '_load_before', [$this->_eventObject => $this]); return parent::_beforeLoad(); }
/** * Add joins to select * * @return $this */ protected function _beforeLoad() { $select = $this->getSelect(); $connection = $this->getConnection(); $entityType = $this->getEntityType(); $this->setItemObjectClass($entityType->getAttributeModel()); $eaColumns = []; $caColumns = []; $saColumns = []; $eaDescribe = $connection->describeTable($this->getTable('eav_attribute')); unset($eaDescribe['attribute_id']); foreach (array_keys($eaDescribe) as $columnName) { $eaColumns[$columnName] = $columnName; } $select->join(['ea' => $this->getTable('eav_attribute')], 'main_table.attribute_id = ea.attribute_id', $eaColumns); // join additional attribute data table $additionalTable = $entityType->getAdditionalAttributeTable(); if ($additionalTable) { $caDescribe = $connection->describeTable($this->getTable($additionalTable)); unset($caDescribe['attribute_id']); foreach (array_keys($caDescribe) as $columnName) { $caColumns[$columnName] = $columnName; } $select->join(['ca' => $this->getTable($additionalTable)], 'main_table.attribute_id = ca.attribute_id', $caColumns); } // add scope values if ($this->_getEavWebsiteTable()) { $saDescribe = $connection->describeTable($this->_getEavWebsiteTable()); unset($saDescribe['attribute_id']); foreach (array_keys($saDescribe) as $columnName) { if ($columnName == 'website_id') { $saColumns['scope_website_id'] = $columnName; } else { if (isset($eaColumns[$columnName])) { $code = sprintf('scope_%s', $columnName); $expression = $connection->getCheckSql('sa.%s IS NULL', 'ea.%s', 'sa.%s'); $saColumns[$code] = new \Zend_Db_Expr(sprintf($expression, $columnName, $columnName, $columnName)); } elseif (isset($caColumns[$columnName])) { $code = sprintf('scope_%s', $columnName); $expression = $connection->getCheckSql('sa.%s IS NULL', 'ca.%s', 'sa.%s'); $saColumns[$code] = new \Zend_Db_Expr(sprintf($expression, $columnName, $columnName, $columnName)); } } } $store = $this->getStore(); $joinWebsiteExpression = $connection->quoteInto('sa.attribute_id = main_table.attribute_id AND sa.website_id = ?', (int) $store->getWebsiteId()); $select->joinLeft(['sa' => $this->_getEavWebsiteTable()], $joinWebsiteExpression, $saColumns); } // add store attribute label $storeLabelExpr = $connection->getCheckSql('al.value IS NULL', 'ea.frontend_label', 'al.value'); $joinExpression = $connection->quoteInto('al.attribute_id = main_table.attribute_id AND al.store_id = ?', (int) $store->getId()); $select->joinLeft(['al' => $this->getTable('eav_attribute_label')], $joinExpression, ['store_label' => $storeLabelExpr]); // add entity type filter $select->where('ea.entity_type_id = ?', (int) $entityType->getId()); return parent::_beforeLoad(); }