我使用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>
如何使用不同的布局?在哪个地方以及如何加载它们?
答案 0 :(得分:1)
您可以在应用程序中拥有多个布局。如果您在没有导航HTML的情况下创建另一个并在module.config.php
中进行配置,则可以在控制器中选择要使用的布局。
'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检查用户是否已登录。 e.g。
<!-- if logged in, show logout link -->
<?php if (null !== $this->identity()) : ?>
<a href="/logout">Logout</a>
<?php endif; ?>