2

私のzendlayout.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 に答える