- >精简版: 我想在我的视图中显示一个布局。我怎么称呼它?
- >长版 我想在我的网站的一些(不是全部)页面上有一个表格框。这将像一个显示用户信息的小部件。 所以,我创建了一个布局(myLayout.phtml),我称之为帮助器(MyHelper.php),通过模型获取所有信息。 这一点,现在我想从一个简单的视图使用这个布局来显示表框。 如何在我的视图中调用该布局?
:)
P.S。我跟着这个好论坛(http://inchoo.net/tools-frameworks/zend/zend-framework-custom-view-helper/),但他们从主要布局调用了“myLayout.phtml”而不是简单的查看:/
解决
我把“myLayout.phtml”放在“layouts”文件夹中但不放在“scripts”文件夹中。
./视图/助手/ MyHelper.php
class Zend_View_Helper_MyHelper
{
public function myHelper()
{
$mm = new MyModel();
return $mm->myModel();
}
}
./ views / scripts / myViews / myHelperView.phtml(ex myLayout.phtml)
<ul>
<?php foreach($this->myHelper() as $item): ?>
<li><?php echo $item ?></li>
<?php endforeach; ?>
</ul>
在简单的视图中我调用myHelperView
呈现( “myViews / myHelperView.phtml”); ?&GT;对于我的文件顺序,我希望将最后一个脚本保留在布局文件夹中,但我不知道如何将它读到该位置。 我希望这种方式很好......
答案 0 :(得分:1)
听起来您已创建自定义View Helper。如果是这种情况,那么您在视图中显示它所需要的只是拨打类似<?php echo $this->myViewHelperName() ?>
的电话。
Placeholder Helper也可能是您感兴趣的。使用占位符助手,可以在布局中无条件地调用占位符,但只能从所需的视图中将视图助手的内容分配给它。这样,如果您没有为占位符分配任何内容,它将不会显示任何内容,但如果您调用视图助手并将内容分配给占位符,它将显示您想要的内容。
希望有所帮助。
答案 1 :(得分:1)
听起来您的myLayout.phtml
文件是partial
脚本。您只需将其加载到视图文件中,如下所示:
<?php echo $this->partial('myLayout.phtml') ?>
这与从布局中调用它相同。您是否从布局或视图中调用脚本并不重要。布局只是一个特殊的视图脚本。