2012-07-11 23 views
1

layout.phtml:如何在Zend的佈局檢查會議

<?php echo $this->doctype() ?> 
<html> 
<head> 
    <?php echo $this->headTitle()."\n"; ?> 
    <?php echo $this->headLink() ."\n"; ?>  
    <?php echo $this->headScript(); ?> 
</head> 
<body> 
<div id="wrap"> 

     <div class="header"> 
      <div class="logo"><a href="index.html"><img src="../../images/logo.gif" alt="" title="" border="0" /></a></div>    
     <div id="menu"> 
      <ul>                  
      <li class="selected"><a href="index.html">home</a></li> 
      <li><a href="about.phtml">about us</a></li> 
      <li><a href="category.phtml">books</a></li> 
      <li><a href="specials.phtml">specials books</a></li> 
      <li><a href="myaccount.phtml">my accout</a></li> 
      <li><a href="register.phtml">register</a></li> 
      <li><a href="details.phtml">prices</a></li> 
      <li><a href="contact.phtml">contact</a></li> 
      <li><a href="addbook.phtml">adddbook</a> </li> 
      </ul> 
     </div>  


     </div> 


     <div class="center_content"> 
     <div class="left_content"> 
     <?php echo $this->layout()->content ?> 

我是新來的Zend Framework我在這裏有顯示導航面臨的問題。在純粹的PHP我可以通過檢查會話服務我的導航。像這樣:

<?php 
if($_SESSION['usertype']=='admin') 
{ 
echo "<li><a href="addbook.phtml">adddbook</a> </li>"; 
} 

?> 

我的問題是我怎麼能在zend框架中實現這一點。謝謝

+1

爲什麼你想了解更多信息? – look4php 2012-07-11 07:15:26

+0

對於開拓者來說:只是顯示代碼並不意味着「顯示研究努力」的問題。很顯然,OP沒有花費任何時間去閱讀關於ZendFramework的內容。 – Adi 2012-07-11 07:16:28

+1

@adnan annan每個人都會犯錯誤,請不要降級'編譯器',他可能是個文盲但想知道Zend。 – look4php 2012-07-11 08:02:47

回答

2

你可以像在Zend_Auth無數種方法做到這一點,但關閉到$ _SESSION方法使用Zend_Session。

首先你需要啓動Zend_Session 之前任何輸出發送到瀏覽器,就像一個正常的php會話。我在設置所有路徑和自動加載器後立即在index.php中執行此操作。

Zend_Session::start(); 

下一步是產生用於userinformation命名空間以及將所述相關信息給它,優選地,當你驗證用戶。

$userInfo = new Zend_Session_Namespace('userInfo'); 
$userInfo->userType = 'admin'; 

這是等同於設置$ _SESSION [ 'USERINFO'] [ '的用戶類型'] = '管理員';

最後,讓你的佈局信息:

<?php 
$userInfo = new Zend_Session_Namespace('userInfo'); 
if($userInfo->userType=='admin') 
{ 
    echo "<li><a href="addbook.phtml">addbook</a> </li>"; 
} 
?> 

閱讀此鏈接http://framework.zend.com/manual/en/zend.session.html

1

如果要檢查用戶角色,可以使用框架提供的Zend_Auth類。您可以檢查用戶的憑證,然後影響它的角色。

要獲得這個角色,你可以檢查在Zend_Auth實例的用戶的身份:

$identity = Zend_Auth::getInstance()->getIdentity(); 
if (strcmp($identity->role, "admin") == 0) { 
    echo '<li><a href="addbook.phtml">adddbook</a> </li>'; 
}