2

在我的 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>';
    }
?>

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

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

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

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

1 回答 1

1

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

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

并在你的引导程序中初始化它

public function _initHelpers() {
    Zend_Controller_Action_HelperBroker::addHelper ( new Helper_Params () );
}
于 2012-07-12T07:03:28.130 回答