2014-08-31 27 views
0
一些項目

我zendframwork 2應用程序包含在我的應用程序/ module.php導航,該導航包含很多項目從他們中的一些(登錄 - 註銷 - 註冊)ZF2導航,如何隱藏基於會話

我不需要一直顯示三個在導航菜單中..當用戶沒有登錄時,我必須向他顯示:登錄註冊,他登錄後,我必須向他顯示只有註銷鏈接

我該怎麼做?

+1

你在項目中使用ACL? – 2014-08-31 07:07:31

+0

直到現在還沒有, 它會起作用嗎? – darroosh 2014-08-31 09:54:54

回答

2

Removing pages

Module.php

public function onBootstrap(MvcEvent $e) 
{    
    $application = $e->getApplication(); 
    $serviceManager = $application->getServiceManager(); 
    if (user not login) { 
     $container = $serviceManager ->get('navigation'); 
     $logoutPage = $container->findBy('route' , 'logout'); 
     $container->removePage($logoutPage); 
    } 
} 
-2
<?php if (isset($_SESSION["login"]) { ?> 

    <a href="#">Logout</a> 

<?php } else { ?> 

    <a href="#">Login</a> 
    <a href="#">Register</a> 

<?php } ?> 

或類似的東西可能工作。用你的任何東西替換「登錄」鍵。

+0

我正在使用zend框架2導航組件: http://framework.zend.com/manual/2.3/en/modules/zend.navigation.quick-start.html 不寫簡單鏈接 – darroosh 2014-08-31 07:03:07

+0

@Zack這不是一個正確的答案,顯然需要使用Zend組件,而不是普通的PHP。 – 2015-12-21 11:35:46