ZEND_Auth,停用导航区域
ZEND_Auth, deactivate navigation area
我使用 Zend_Auth 构建了一个登录页面。现在我的问题是如何停用加载了 layout.phtml 的区域?
这是我的 layout.phtml 代码的一部分,我不想在我的登录和注销表单中看到它:
<div id="navigation">
<ul>
<li><a href="<?php echo $this->url(array('controller'=>'arbeitskalender', 'action'=>'index'), null, false);?>">Arbeitskalender</a></li>
<li><a href="<?php echo $this->url(array('controller'=>'pdf', 'action'=>'index'));?>">Arbeitskalender download</a></li>
<!--<li><a href="<?php echo $this->url(array('controller'=>'bibliothek', 'action'=>'index'));?>">Bibliothek</a></li> -->
<!-- <li><a href="<?php echo $this->url(array('controller'=>'schwestern', 'action'=>'index'));?>">Schwestern</a></li> -->
</ul>
</div>
如何使用不同的布局?在什么地方以及如何加载它们?
一个应用程序中可以有多个布局。如果您创建另一个没有导航 HTML 并在您的 module.config.php
中配置它,您可以简单地 select 从控制器中使用哪个布局。
'template_map' => array(
'layout/layout' => __DIR__ . '/../view/layout/layout.phtml',
'layout/layout_login' => __DIR__ . '/../view/layout/layout_login.phtml'
)
然后在你的控制器中:
$this->layout('layout/layout_login');
编辑:
或者,如果您想动态更改布局,可以使用 Identity View Helper 检查用户是否已登录。例如
<!-- if logged in, show logout link -->
<?php if (null !== $this->identity()) : ?>
<a href="/logout">Logout</a>
<?php endif; ?>
我使用 Zend_Auth 构建了一个登录页面。现在我的问题是如何停用加载了 layout.phtml 的区域?
这是我的 layout.phtml 代码的一部分,我不想在我的登录和注销表单中看到它:
<div id="navigation">
<ul>
<li><a href="<?php echo $this->url(array('controller'=>'arbeitskalender', 'action'=>'index'), null, false);?>">Arbeitskalender</a></li>
<li><a href="<?php echo $this->url(array('controller'=>'pdf', 'action'=>'index'));?>">Arbeitskalender download</a></li>
<!--<li><a href="<?php echo $this->url(array('controller'=>'bibliothek', 'action'=>'index'));?>">Bibliothek</a></li> -->
<!-- <li><a href="<?php echo $this->url(array('controller'=>'schwestern', 'action'=>'index'));?>">Schwestern</a></li> -->
</ul>
</div>
如何使用不同的布局?在什么地方以及如何加载它们?
一个应用程序中可以有多个布局。如果您创建另一个没有导航 HTML 并在您的 module.config.php
中配置它,您可以简单地 select 从控制器中使用哪个布局。
'template_map' => array(
'layout/layout' => __DIR__ . '/../view/layout/layout.phtml',
'layout/layout_login' => __DIR__ . '/../view/layout/layout_login.phtml'
)
然后在你的控制器中:
$this->layout('layout/layout_login');
编辑:
或者,如果您想动态更改布局,可以使用 Identity View Helper 检查用户是否已登录。例如
<!-- if logged in, show logout link -->
<?php if (null !== $this->identity()) : ?>
<a href="/logout">Logout</a>
<?php endif; ?>