首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zend Frontpage调用几个模块

Zend Frontpage调用几个模块
EN

Stack Overflow用户
提问于 2011-02-07 18:26:02
回答 1查看 256关注 0票数 0

我不知道怎么做这么简单的事情,我有点不高兴。

使用Zend的第一步,所以我正在尝试实现类似CMS做的事情,例如:

  • 具有布局,定义占位符,如左、右、中。
  • 然后,我可以有一个菜单控制器,我将加载它在左边,一个日期选择器在右边等。

我的方法是定义一个layout.phtml

代码语言:javascript
复制
<?php 
/* @var $this Zend_View */ 
$this->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
$this->headTitle()->setSeparator(' - ');
$this->headTitle('Something');
?>

<?php echo $this->doctype() ?>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <?php echo $this->headMeta() ?>
        <?php echo $this->headTitle() ?>
        <?php echo $this->headScript() ?>
        <?php echo $this->headStyle() ?>
    </head>
    <body>
        <?php echo $this->placeholder('top') ?>
        <div id="main">

            <div id="content">
                <?php echo $this->layout()->content ?>
            </div>
            <?php echo $this->placeholder('footer') ?>
        </div>

    </body>
</html>

现在,当我转到页面时,它调用了IndexController。索引中的内容将在$this->layout()->content中呈现,对吗?

如何调用在其他占位符中呈现的其他项?

例如:

如果我使用控制器中的init方法连接到数据库,并获取所需的内容,以确定要在哪个占位符中呈现哪些内容,则必须在所有其他控制器中重复这一点。

这方面的可用方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-07 20:31:16

您可以使用行动视图帮手

Action视图助手使视图脚本能够分派给定的控制器操作;然后返回在分派之后的响应对象的结果。当特定操作可以生成可重用的内容或“小部件化”内容时,可以使用这些内容。

代码语言:javascript
复制
 // in your layout
 <?php echo $this->action('action', 'controller', 'module');?>

您也可以尝试ActionStack (Action )。

在您将在堆栈中添加的控制器中,设置新的内容键(默认键为" content ")。

代码语言:javascript
复制
// MenuController.php
public function init() {
    $this->_helper->layout->setContentKey('menu')
}


// layout.phtml
<?php echo $this->layout()->menu ?> //instead of $this->placeholder('menu')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4924962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档