Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend Framework 2:创建侧栏_Php_Zend Framework2 - Fatal编程技术网

Php Zend Framework 2:创建侧栏

Php Zend Framework 2:创建侧栏,php,zend-framework2,Php,Zend Framework2,我试图理解如何为每个模块生成具有不同内容的边栏代码 这是my layout.phtml(模块/应用程序/视图/布局) 。。。。 .... 以我很少的经验,我可以猜测$this->content是所选模块的输出,那么我如何才能为每个模块创建一个$this->侧边栏呢?你没有。这有点小气,让我给你解释一下 对于Zend Framework 2,强烈鼓励使用查看帮助程序。创建ViewHelper非常简单。ViewHelper的任务应该很简单!这意味着,无论何时创建ViewHelper,它都应该有一个

我试图理解如何为每个模块生成具有不同内容的边栏代码

这是my layout.phtml(模块/应用程序/视图/布局)

。。。。
....

以我很少的经验,我可以猜测$this->content是所选模块的输出,那么我如何才能为每个模块创建一个$this->侧边栏呢?

你没有。这有点小气,让我给你解释一下

对于Zend Framework 2,强烈鼓励使用
查看帮助程序
。创建ViewHelper非常简单。ViewHelper的任务应该很简单!这意味着,无论何时创建ViewHelper,它都应该有一个非常简单的任务,例如“显示当前登录用户的用户名”

在你的情况下,你需要一个“侧边栏”。虽然这本身是一个非常合理的担忧,但您应该反思一下:什么是侧边栏?边栏是小部件的集合。小部件是ViewHelper!因此,您的侧边栏将是一个ViewHelper集合

方法1-建议的

创建许多专用的ViewHelper,然后在layout.phtml中显示这样的侧栏

<div id="sidebar">
    <h2>My Account</h2>
    <div class="widget_content">
        <?php echo $this->userMiniProfile();?>
    </div>
    <h2>My Calendar</h2>
    <div class="widget_content">
        <?php echo $this->userCalendar();?>
    </div>
    <h2>My Foo</h2>
    <div class="widget_content">
        <?php echo $this->bar();?>
    </div>
</div>
使用此设置,viewHelper将具有一些依赖项,用于检查当前登录的用户,从数据库加载侧栏,然后根据服务结果呈现不同的小部件

基础知识


要创建简单的ViewHelper,请参见或

谢谢!非常好的解释和非常有用的链接!
<div id="sidebar">
    <h2>My Account</h2>
    <div class="widget_content">
        <?php echo $this->userMiniProfile();?>
    </div>
    <h2>My Calendar</h2>
    <div class="widget_content">
        <?php echo $this->userCalendar();?>
    </div>
    <h2>My Foo</h2>
    <div class="widget_content">
        <?php echo $this->bar();?>
    </div>
</div>
<div id="sidebar">
    <?php echo $this->sidebar();?>
</div>