如何在layout.phtml中获取getRequestUri()

时间:2012-07-12 06:36:51

标签: html zend-framework

在我的zend layout.phtml中,我正在按照以下方式提供导航:

<?php                                  
    $userInfo = new Zend_Session_Namespace('userInfo');             
    if($userInfo->userType=='admin')
    {   
        echo '<li ><a href="/adminhome">home</a></li>';
        echo '<li ><a href="addbook">Addbooks</a></li>';
        echo '<li class="selected"><a href="about.html">EditBook</a></li>';
        echo '<li><a href="logout">Adduser</a></li>';               
        echo '<li><a href="logout">Logout</a></li>';
    }
?>

在普通页面中,我可以通过这种方式获取网址

$this->view->assign('url',$this->getRequest()->getRequestUri());
$url = $this->getRequest()->getRequestUri();
$b=basename($url);     
$this->view->assign('b',$b);

我想在layout.phtm中使用这个url如何将它从bootstrap.php传递给layout.phtml?这里我的要求是像这样添加一个类:

 <li    <?php if($b==EditBook) echo 'class="selected'  ?> "><a href="about.html">EditBook</a></li>

1 个答案:

答案 0 :(得分:1)

获得它的更好方法是编写一个将分配必要变量的视图助手

class Helper_Params extends Zend_Controller_Action_Helper_Abstract {
    $view = $this->getActionController()->view;
    $request = $this->getRequest();
    $view->requestUri = $request->getRequestUri();
}

并在你的Bootstrap中启动它

public function _initHelpers() {
    Zend_Controller_Action_HelperBroker::addHelper ( new Helper_Params () );
}