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

标签 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>';
    }
?>

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

$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 添加一个类:

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

最佳答案

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

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 () );
}

关于html - 如何在 layout.phtml 中获取 getRequestUri(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11446230/

相关文章:

html - 全局声明或包含 "behavior: url(PIE.htc);"

java - 我如何在java servlet中读取html anchor ?

php - 我如何解释我的 zend web 应用程序的分析日志?

php - Zend Framework 和 Symfony 选择哪个?

php - 到底什么是框架?类似于 PHP 的 Zend 框架

asp.net - HTML <td> 标签的样式属性不符合宽度设置

php - 如何使从数据库中抓取的链接显示为可点击的事件链接?

html - 我可以使用 CSS/HTML 重新排序还是需要 JavaScript?

zend-framework - 原则2 Zend框架命名空间 Controller

zend-framework - Zend Form 在填充时显示 Htmlentities 而不是重音符号