我有一个 login.phtml视图,它希望放入一个公共路径,并通过应用程序让任何模块访问它。
对于由$this->render('common/sidebar.phtnl')
呈现的侧边栏,它可以正常工作,因为我的布局是所有模块的单一布局。
但是当谈到内容$this->layout()->content
时,如果我向结果视图添加一个帮助器,如$this->login()
,Zend会继续在模块脚本路径上查找它。
即使我的流程是模块的结果,如何才能使我的内容视图呈现另一个通过帮助程序的公共视图?
答案 0 :(得分:1)
对custom view helper来说,这看起来不错。写你自己的很容易,一旦你尝试过,你将无法停止!
您的自定义视图助手应该放在applications / views / helpers / NameOfHelper.php中,并且应该有一个名为nameOfHelper()的公共方法。我将以登录为例,因为这是你在这个场合的用例。
首先创建应用程序/视图/帮助程序/ Login.php: -
class Zend_View_Helper_Login extends Zend_View_Helper_Abstract
{
public function login()
{
return "Logging in!";
}
}
然后在视图或布局中简单地执行: -
echo $this->login();
并获得输出: -
登录!
再好不过了!
或者,如果您想使用视图脚本,可以在login()方法中执行此操作: -
class Zend_View_Helper_Login extends Zend_View_Helper_Abstract
{
public function login()
{
$this->view->exampleVar = 'example value';
return $this->view->render('login.phtml')
}
}
然后,当您在视图或布局中执行echo $this->login()
时,您将看到所需的输出。
显然,你可以将任何你想要的代码放入login()方法。
答案 1 :(得分:0)
从视图脚本中您可以:
<?php echo $this->render("menus/recetas.phtml"); ?>