Zend framework Zend Framework-从视图中获取布局

Zend framework Zend Framework-从视图中获取布局,zend-framework,layout,view,helper,Zend Framework,Layout,View,Helper,->简短版本: 我想在我的视图中显示布局。我怎么称呼它 ->长版本 我希望在我的网站的一些(不是全部)页面中有一个表格框。这就像一个显示用户信息的小部件。 因此,我创建了一个布局(myLayout.phtml),在这里我调用了一个helper(MyHelper.php),它通过一个模型获取所有信息。 这里的要点,现在我想从一个简单的角度使用这个布局来显示表格框。 在我看来,怎样才能称之为布局 :) 另外,我关注了这个好论坛(http://inchoo.net/tools-frameworks/z

->简短版本: 我想在我的视图中显示布局。我怎么称呼它

->长版本 我希望在我的网站的一些(不是全部)页面中有一个表格框。这就像一个显示用户信息的小部件。 因此,我创建了一个布局(myLayout.phtml),在这里我调用了一个helper(MyHelper.php),它通过一个模型获取所有信息。 这里的要点,现在我想从一个简单的角度使用这个布局来显示表格框。 在我看来,怎样才能称之为布局

:)

另外,我关注了这个好论坛(http://inchoo.net/tools-frameworks/zend/zend-framework-custom-view-helper/),但他们从主布局而不是从简单视图中调用了“myLayout.phtml”:/

已解决

我把“myLayout.phtml”不放在“layouts”文件夹中,而是放在“scripts”文件夹中

./views/helpers/MyHelper.php

class Zend_View_Helper_MyHelper
{
    public function myHelper()
    {
        $mm = new MyModel();
        return $mm->myModel();
    }

}
./views/scripts/myViews/myHelperView.phtml(例如myLayout.phtml)

在一个简单的视图中,我称之为myHelperView

呈现(“myViews/myHelperView.phtml”);?> 对于我的文件顺序,我更愿意将最后一个脚本保存在布局文件夹中,但我不知道如何将其读取到该位置。
我希望这是一个很好的选择…

听起来你已经创建了一个定制。如果是这样的话,那么在视图中显示它所需要做的就是进行类似于
的调用

您可能也对这个问题感兴趣。使用占位符辅助对象,可以在布局中无条件地调用占位符,但只能从所需的视图中将视图辅助对象的内容指定给占位符。这样,如果未将任何内容分配给占位符,它将不会显示任何内容,但如果调用视图帮助器并将内容分配给占位符,它将显示所需的内容


希望对您有所帮助。

听起来您的
myLayout.phtml
文件是一个
部分脚本。您只需将其加载到视图文件中,如下所示:

<?php echo $this->partial('myLayout.phtml') ?>


这与从布局中调用它相同。无论是从布局还是从视图调用脚本,都无关紧要。布局只是一个特殊的视图脚本。

我也这么认为,但只有当我从布局调用它,而不是形成我的视图时,这才有效。。。怎么了OYes,这个echo$this->partial(“myLayout.phtml”);给了我致命的错误。但如果我把这个文件放在application/scripts/myViewLayouts/folder(而不是application/layouts/)中,并以这种方式调用它,它就会工作。echo$this->partial(“myViewLayouts/myHelper.phtml”);我以这种方式在引导中设置layouts文件夹:Zend_Layout::startMvc(array('layoutPath'=>ROOT_DIR.'/application/views/layouts');为什么??:奥伊斯。我所做的是一个自定义视图助手。我可以用“$this->myHelper();”的方式在视图中调用我的视图帮助程序,这将返回帮助程序。这个很好用。但我想在我的视图中显示“myLayout”(从myHelper获取信息并显示html代码的人)。。。这个返回只是一个致命的错误。。。怎么了O
<?php echo $this->partial('myLayout.phtml') ?>