动态导航取决于Zend Framework 2中的登录状态

时间:2014-06-20 13:09:12

标签: twitter-bootstrap zend-framework2 zfcuser

我的顶部导航栏中有一个小型登录表单,输入字段为EMAIL,PASSWORD和登录按钮(见下图)。 如何根据用户的登录状态更换它?如果用户已登录,则应在其可以注销等的位置显示下拉列表(参见图2) 我使用ZF2,zfc-user和Twitter Bootstrap 3.
我的登录小部件的导航栏代码: `

        $form = $this->zfcUserLoginWidget(array('render' => false))->getVariable('loginForm');
        $form->setAttribute('action', $this->url('zfcuser/login'));
        $form->setAttribute('method', 'post');
        $form->setAttribute('class', 'navbar-form navbar-right form-inline');
        echo $this->form()->openTag($form);
        echo $this->formElementErrors($form->get('identity')) ?>
        <div class="form-group">
            <?php echo $this->formInput($form->get('identity')) ?>
            <?php echo $this->formInput($form->get('credential')) ?>
            <?php if ($this->redirect): ?>
                <input type="hidden" name="redirect" value="<?php echo $this->escapeHtml($this->redirect) ?>"/>
            <?php endif ?>
            <?php echo $this->formButton($form->get('submit')); ?>
        </div>
        <?php
        echo $this->form()->closeTag();
        ?>

` Login Widget

登录后应该变成什么:
enter image description here

1 个答案:

答案 0 :(得分:1)

好的,解决方案来自我的同时:

<!-- Test if the User is connected -->
<?php if(!$this->zfcUserIdentity()): ?>
<!-- display the login form -->
<?php echo $this->zfcUserLoginWidget(array('redirect'=>'application')); ?>
<?php else: ?>
<!-- display the 'display name' of the user -->
<?php echo $this->zfcUserIdentity()->getDisplayname(); ?>
<?php endif?>

我只是将我的代码复制粘贴到各个部分,然后就可以了。