/** * Prepare response object and dispatch prepare price event * Return response object * * @param \Magento\Framework\DB\Select $select * @return \Magento\Framework\Object */ protected function _dispatchPreparePriceEvent($select) { // prepare response object for event $response = new \Magento\Framework\Object(); $response->setAdditionalCalculations(array()); // prepare event arguments $eventArgs = array('select' => $select, 'table' => 'price_index', 'store_id' => $this->_storeManager->getStore()->getId(), 'response_object' => $response); $this->_eventManager->dispatch('catalog_prepare_price_select', $eventArgs); return $response; }
/** * Prepare additional price expression sql part * * @param \Magento\Framework\DB\Select $select * @return $this */ protected function _preparePriceExpressionParameters($select) { // prepare response object for event $response = new \Magento\Framework\Object(); $response->setAdditionalCalculations(array()); $tableAliases = array_keys($select->getPart(\Zend_Db_Select::FROM)); if (in_array(self::INDEX_TABLE_ALIAS, $tableAliases)) { $table = self::INDEX_TABLE_ALIAS; } else { $table = reset($tableAliases); } // prepare event arguments $eventArgs = array('select' => $select, 'table' => $table, 'store_id' => $this->getStoreId(), 'response_object' => $response); $this->_eventManager->dispatch('catalog_prepare_price_select', $eventArgs); $additional = join('', $response->getAdditionalCalculations()); $this->_priceExpression = $table . '.min_price'; $this->_additionalPriceExpression = $additional; $this->_catalogPreparePriceSelect = clone $select; return $this; }
/** * Prepare response object and dispatch prepare price event * Return response object * * @param \Magento\Catalog\Model\Layer\Filter\Price $filter * @param \Magento\Framework\DB\Select $select * @return \Magento\Framework\Object * * @deprecated since 1.7.0.0 */ protected function _dispatchPreparePriceEvent($filter, $select) { // prepare response object for event $response = new \Magento\Framework\Object(); $response->setAdditionalCalculations(array()); return $response; }