public function testGetUrl() { $action = Mage::getModel('Mage_Core_Controller_Front_Action', array(new Magento_Test_Request(), new Magento_Test_Response(), 'frontend', Mage::getObjectManager(), Mage::getObjectManager()->get('Mage_Core_Controller_Varien_Front'), Mage::getObjectManager()->get('Mage_Core_Model_Layout_Factory'))); Mage::app()->getFrontController()->setAction($action); // done in action's constructor $this->assertStringEndsWith('/?cat%5B0%5D=valuePart1&cat%5B1%5D=valuePart2', $this->_model->getUrl()); }
public function testGetUrl() { new Mage_Core_Controller_Front_Action(new Magento_Test_Request(), new Magento_Test_Response()); /* * Mage::app()->getFrontController()->setAction($action); // done in action's constructor */ $this->assertStringEndsWith('/?cat%5B0%5D=valuePart1&cat%5B1%5D=valuePart2', $this->_model->getUrl()); }
public function getUrl() { $request = Mage::app()->getRequest(); if ($request->getModuleName() == 'catalogsearch') { return parent::getUrl(); } if ($this->getFilter() instanceof Mage_Catalog_Model_Layer_Filter_Category) { $category = Mage::getModel('catalog/category')->load($this->getValue()); $query = array(Mage::getBlockSingleton('page/html_pager')->getPageVarName() => null); $suffix = Mage::getStoreConfig('catalog/seo/category_url_suffix'); $catpart = str_replace($suffix, '', $category->getUrl()); if (preg_match('/\\/l\\/.+/', Mage::app()->getRequest()->getOriginalPathInfo(), $matches)) { $layeredpart = str_replace($suffix, '', $matches[0]); } else { $layeredpart = ''; } return $catpart . $layeredpart . $suffix; } else { $var = $this->getFilter()->getRequestVar(); $request = Mage::app()->getRequest(); $labelValue = strpos($request->getRequestUri(), 'catalogsearch') !== false ? $this->getValue() : $this->getLabel(); $attribute = $this->getFilter()->getData('attribute_model'); //->getAttributeCode() if ($attribute) { $value = $attribute->getAttributeCode() == 'price' || $attribute->getBackendType() == 'decimal' ? $this->getValue() : $labelValue; } else { $value = $labelValue; } $query = array($var => $value, Mage::getBlockSingleton('page/html_pager')->getPageVarName() => null); return Mage::helper('seosuite')->getLayerFilterUrl(array('_current' => true, '_use_rewrite' => true, '_query' => $query)); } }
public function getUrl() { if (!Mage::helper('magenotification')->checkLicenseKey('Seonavigation')) { return parent::getUrl(); } if ($this->notUseRewrite()) { return parent::getUrl(); } try { $requestPath = trim(Mage::app()->getRequest()->getRequestString(), '/'); $model = Mage::getModel('seonavigation/seonavigation')->load($requestPath, 'request_path'); $params = array(); if ($model->getQueryParams()) { $params = array_filter(unserialize($model->getQueryParams())); } $value = $this->getValue(); if ($value == 0 && $value !== false) { $value = '00'; } $params[$this->getFilter()->getRequestVar()] = $value; $rewrite = $this->createRewriteUrl($params); if ($rewrite && $rewrite->getId()) { return Mage::getUrl(null, array('_direct' => $rewrite->getRequestPath())); } } catch (Exception $e) { } return parent::getUrl(); }
/** * Get filter item url * * @return string */ public function getUrl() { $isActive = Mage::helper('atlanticbt_layerednavigation')->isCategoryLinksEnabled(); if ($isActive && $this->getFilter()->getRequestVar() == "cat") { $url = Mage::getModel('catalog/category')->load($this->getValue())->getUrl(); $request = Mage::getUrl('*/*/*', array('_current' => true, '_use_rewrite' => true)); $query_string = strpos($request, '?') !== false ? substr($request, strpos($request, '?')) : ''; return $url . $query_string; } return parent::getUrl(); }
/** * Get filter item url * Overwritten function from the original class to add rewrite to URL. * * @return string */ public function getUrl() { $category = Mage::registry('current_category'); $rewrite = Mage::getStoreConfig('web/seo/use_rewrites', Mage::app()->getStore()->getId()); if ($rewrite == 0) { return parent::getUrl(); } if (!is_object($category)) { return parent::getUrl(); } return $this->getSpeakingFilterUrl(true); }
public function getUrl() { if (!$this->_helper()->isEnabled()) { return parent::getUrl(); } //$values = $this->getFilter()->getValues(); // if (!empty($values)) { // $tmp = array_merge($values, array($this->getValue())); // asort($tmp); // $values = implode(Sm_Shopby_Helper_Data::MULTIPLE_FILTERS_DELIMITER, $tmp); // } else { $values = $this->getValue(); //} if ($this->_helper()->isCatalogSearch()) { $query = array('isLayerAjax' => null, $this->getFilter()->getRequestVar() => $values, Mage::getBlockSingleton('page/html_pager')->getPageVarName() => null); return Mage::getUrl('*/*/*', array('_current' => true, '_use_rewrite' => true, '_query' => $query)); } return $this->_helper()->getFilterUrl(array($this->getFilter()->getRequestVar() => $values)); }
public function getUrl2() { return str_replace('?', '?', parent::getUrl()); }