/** * Returns href for this page * * This method uses {@link Zend_Controller_Action_Helper_Url} to assemble * the href based on the page's properties. * * @return string page href */ public function getHref() { $themeOption = $this->_theme; if ($themeOption === null) { return parent::getHref(); } // clear cache if themeOption is the empty string, // which corresponds to current base url if ($themeOption == '') { $this->_hrefCache = null; } // create an href for the correct theme set_theme_base_url($themeOption); $href = parent::getHref(); revert_theme_base_url(); return $href; }
/** * @group ZF-7794 */ public function testSpecifyingAnotherSchemeHelperToGenerateHrefs() { $path = dirname(dirname(__FILE__)) . '/_files/My/SchemeHelper.php'; require_once $path; $newHelper = new My_SchemeHelper(); Zend_Navigation_Page_Mvc::setSchemeHelper($newHelper); $page = new Zend_Navigation_Page_Mvc(array('scheme' => 'https')); $expected = My_SchemeHelper::RETURN_URL; $actual = $page->getHref(); $old = new Zend_View_Helper_ServerUrl(); Zend_Navigation_Page_Mvc::setSchemeHelper($old); $this->assertEquals($expected, $actual); }
public function testSpecifyingAnotherUrlHelperToGenerateHrefs() { $path = dirname(dirname(__FILE__)) . '/_files/My/UrlHelper.php'; require_once $path; $newHelper = new My_UrlHelper(); Zend_Navigation_Page_Mvc::setUrlHelper($newHelper); $page = new Zend_Navigation_Page_Mvc(); $expected = My_UrlHelper::RETURN_URL; $actual = $page->getHref(); $old = Zend_Controller_Action_HelperBroker::getStaticHelper('Url'); Zend_Navigation_Page_Mvc::setUrlHelper($old); $this->assertEquals($expected, $actual); }
/** @brief Renvoie le lien url associé à la route * * la méthode renvoie null si la route n'est pas définie. * Ainsi, l'appel du helper menu->htmlify sur cette page rendrait * un span au lieu d'un a * */ public function getHref() { if ($this->_route) { return parent::getHref(); } else { return 'javascript:void(0)'; } }