/** * @magentoDataFixture Mage/Catalog/_files/categories.php */ public function testGetRemoveUrl() { Mage::app()->getRequest()->setRoutingInfo(array('requested_route' => 'x', 'requested_controller' => 'y', 'requested_action' => 'z')); $request = new Magento_Test_Request(); $request->setParam('cat', 4); $this->_model->getFilter()->apply($request, new Mage_Core_Block_Text()); $this->assertStringEndsWith('/x/y/z/?cat=3', $this->_model->getRemoveUrl()); }
public function getRemoveUrl() { /** @var $category Mage_Catalog_Model_Category */ $category = Mage::registry('current_category'); /** @var $landingPage Hackathon_Layeredlanding_Model_Layeredlanding */ $landingPage = Mage::registry('current_landingpage'); if ($category->getId() && $landingPage && $landingPage->getId()) { $query = array($this->getFilter()->getRequestVar() => $this->getFilter()->getResetValue()); $params['_current'] = true; $params['_use_rewrite'] = true; $params['_query'] = $query; $params['_escape'] = true; $attributeModel = Mage::getModel('eav/entity_attribute')->loadByCode(10, $this->getFilter()->getRequestVar()); $attributeIds = array(); foreach ($landingPage->getAttributes() as $attribute) { $attributeIds[] = $attribute->getAttributeId(); } if ($attributeModel->getId() && in_array($attributeModel->getAttributeId(), $attributeIds)) { $parameters = parse_url(Mage::getUrl('*/*/*', $params), PHP_URL_QUERY); $categoryUrl = parse_url($category->getUrl(), PHP_URL_PATH); return sprintf('%s?%s', $categoryUrl, $parameters); } return Mage::getUrl('*/*/*', $params); } return parent::getRemoveUrl(); }
/** * Get url for remove item from filter * * @return string */ public function getRemoveUrl() { if (!$this->helper()->isEnabled()) { return parent::getRemoveUrl(); } $values = $this->getFilter()->getValues(); if (!empty($values)) { $tmp = array_diff($values, array($this->getValue())); if (!empty($tmp)) { $values = implode(Catalin_SEO_Helper_Data::MULTIPLE_FILTERS_DELIMITER, $tmp); } else { $values = null; } } else { $values = null; } if ($this->helper()->isCatalogSearch()) { $query = array('isLayerAjax' => null, $this->getFilter()->getRequestVar() => $values); $params['_current'] = true; $params['_use_rewrite'] = true; $params['_query'] = $query; $params['_escape'] = true; return Mage::getUrl('*/*/*', $params); } return $this->helper()->getFilterUrl(array($this->getFilter()->getRequestVar() => $values)); }
/** * Get url for remove item from filter * Overwritten function from the original class to add rewrite to URL. * * @return string */ public function getRemoveUrl() { $category = Mage::registry('current_category'); $rewrite = Mage::getStoreConfig('web/seo/use_rewrites', Mage::app()->getStore()->getId()); if ($rewrite == 0) { return parent::getRemoveUrl(); } if (!is_object($category)) { return parent::getRemoveUrl(); } return $this->getSpeakingFilterUrl(false); }
public function getRemoveUrl() { $request = Mage::app()->getRequest(); if ($request->getModuleName() == 'catalogsearch') { return parent::getRemoveUrl(); } $query = array($this->getFilter()->getRequestVar() => $this->getFilter()->getResetValue()); $params['_current'] = true; $params['_use_rewrite'] = true; $params['_query'] = $query; $params['_escape'] = true; return Mage::helper('seosuite')->getLayerFilterUrl($params); }
public function getRemoveUrl() { if (!Mage::helper('magenotification')->checkLicenseKey('Seonavigation')) { return parent::getRemoveUrl(); } if ($this->notUseRewrite()) { return parent::getRemoveUrl(); } try { $requestPath = trim(Mage::app()->getRequest()->getRequestString(), '/'); $model = Mage::getModel('seonavigation/seonavigation')->load($requestPath, 'request_path'); if (!$model->getId()) { return parent::getRemoveUrl(); } $params = array(); if ($model->getQueryParams()) { $params = array_filter(unserialize($model->getQueryParams())); } if (isset($params[$this->getFilter()->getRequestVar()])) { unset($params[$this->getFilter()->getRequestVar()]); } if (isset($params['q'])) { unset($params['q']); } if (isset($params['id'])) { unset($params['id']); } if (isset($params['store'])) { unset($params['store']); } if (count($params)) { $rewrite = $this->createRewriteUrl($params, true); if ($rewrite && $rewrite->getId()) { return Mage::getUrl(null, array('_direct' => $rewrite->getRequestPath())); } } elseif ($model->getClearUrl()) { return Mage::getUrl(null, array('_direct' => $model->getClearUrl())); } } catch (Exception $e) { } return parent::getRemoveUrl(); }
public function getRemoveUrl2() { return str_replace('?', '?1', parent::getRemoveUrl()); }