public function getFilters(Layer $layer) { if (!$this->helper->isActiveEngine()) { return parent::getFilters($layer); } if (!count($this->filters)) { $this->filters = []; // $response = $this->_getResponse($layer); $response = $this->searchHelper->getCustomResults(); $questions = $response->QwiserSearchResults->Questions; $aaa = ''; foreach ($questions->children() as $question) { $this->filters[] = $this->createQuestionFilter($question, $layer); $this->appliedFilters[] = $question->getAttribute('Text'); } } $remFilters = array_diff($this->searchHelper->getFilterRequestVars(), $this->appliedFilters); foreach ($this->request->getParams() as $var => $value) { if (in_array($var, $remFilters)) { $question = $this->searchHelper->getQuestionByField($var, 'Text'); if ($question) { $this->createQuestionFilter($question, $layer)->apply($this->request); $this->appliedFilters[] = $var; } } } return $this->filters; }
public function create(array $data = []) { if ($this->helper->isActiveEngine()) { $adapter = $this->objectManager->create('Celebros\\ConversionPro\\Model\\Search\\Adapter\\Celebros\\Adapter'); return $adapter; } return parent::create($data); }
public function generate() { if (!$this->helper->isActiveEngine()) { return parent::generate(); } $requests['quick_search_container'] = $this->generateQuickSearchRequest(); // TODO: advanced search return $requests; }
/** * @param \Magento\Framework\Event\Observer $observer * @return $this */ public function execute(\Magento\Framework\Event\Observer $observer) { $currentHandle = $observer->getEvent()->getFullActionName(); if ($this->_helper->isActiveEngine()) { if (isset($this->handles[$currentHandle])) { return $this->_addHandleToLayout($observer, $this->handles[$currentHandle]); } } }
public function getRecommendedMessage() { if ($this->helper->isActiveEngine()) { $response = $this->_getResponse(); $message = $response->QwiserSearchResults->getAttribute('RecommendedMessage'); return $message; } else { return ''; } }
public function afterExecute($controller, $result) { if ($result instanceof \Magento\Framework\View\Result\Page && $this->helper->isEnabledOnFrontend() && $this->helper->getNavToSearch()) { $categoryId = $this->context->getRequest()->getParam('id'); if (!$this->helper->isCategoryIdBlacklisted($categoryId)) { $result->getConfig()->setPageLayout('1column'); } } return $result; }
public function execute(\Magento\Framework\Event\Observer $observer) { if (!$this->helper->isEnabledOnFrontend()) { return; } $view = $this->context->getView(); $page = $view->getPage(); $layoutUpdate = $page->getLayout()->getUpdate(); $layoutUpdate->addHandle('conversionpro_catalogsearch_result_index'); $page->getConfig()->setPageLayout('1column'); }
public function getRemoveUrl() { if ($this->helper->isActiveEngine()) { if (!$this->hasSelectedValues() || empty($this->getSelectedValues())) { return parent::getRemoveUrl(); } /** @var array $values */ $values = $this->getSelectedValues(); $values = array_diff($values, [$this->getValue()]); if (empty($values)) { return parent::getRemoveUrl(); } $query = [$this->getFilter()->getRequestVar() => implode(',', $values), $this->_htmlPagerBlock->getPageVarName() => null]; return $this->_url->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true, '_query' => $query]); } return parent::getRemoveUrl(); }
public function getLastPageNum() { if ($this->helper->isActiveEngine() && $this->helper->isPermittedHandle()) { return (int) $this->getData('last_page_num'); } else { return parent::getLastPageNum(); } }
public function getFilterValue($requestVar) { $filterRequestVars = $this->getFilterRequestVars(); $value = $this->getValueFromRequest($requestVar); if (!is_null($value) && !$this->helper->isMultiselectEnabled()) { $values = $this->filterValueToArray($value); $value = reset($values); } return $value; }
public function execute(\Magento\Framework\Event\Observer $observer) { if (!$this->helper->isEnabledOnFrontend()) { return; } $layoutUpdate = $observer->getEvent()->getLayout()->getUpdate(); $fullActionName = $observer->getEvent()->getFullActionName(); switch ($fullActionName) { case 'catalogsearch_result_index': $layoutUpdate->addHandle('conversionpro_catalogsearch_result_index'); break; case 'catalog_category_view': if ($this->helper->getNavToSearch()) { $categoryId = $this->context->getRequest()->getParam('id'); if (!$this->helper->isCategoryIdBlacklisted($categoryId)) { $layoutUpdate->addHandle('conversionpro_catalog_category_view'); if ($this->helper->getHideContent()) { $layoutUpdate->addHandle('conversionpro_catalog_category_view_hide_content'); } } } break; } }
protected function getOptionText($optionId) { if ($this->_isPrice()) { if (preg_match('@^_P(\\d+)_(\\d+)$@', $optionId, $matches)) { $optionId = str_replace('_P', $this->getCurrencySymbol(), $optionId); return str_replace('_', ' - ' . $this->getCurrencySymbol(), $optionId); } } if ($this->hasAnswers()) { foreach ($this->getAnswers()->children() as $answer) { if ($answer->getAttribute('Id') == $optionId) { return $this->_prepareAnswerText($answer); } } } foreach ($this->searchHelper->getQuestionAnswers($this->getQuestion()->getAttribute('Id'))->Answers->Answer as $answer) { if ($answer->getAttribute('Id') == $optionId) { return $this->_prepareAnswerText($answer); } } return __('Unknown value'); }