Zend - 从控制器访问布局属性

时间:2009-11-24 06:37:28

标签: php zend-framework

啊,原谅我的Zend newbness,我正试图访问这个表格,存储在:

layouts/scripts/layout.phtml

$this->layout()->userForm = $this->action('index', 'user');   

class IndexController extends Zend_Controller_Action
{
    public function init ()
    {    /* Initialize action controller here */
    }
    public function indexAction ()
    {
    // here
    }
}

indexAction,除了在布局中,我基本上需要在主页上显示的表单。

我尝试用$this->_helper->layout()->userForm访问它但我怀疑控制器中的代码在布局之前运行,因为它没有给我我想要的东西。

2 个答案:

答案 0 :(得分:4)

我真的不明白你的问题。

  • 为什么你的表单存储在布局文件夹中?
  • 除了在布局中“显示在主页上”是什么意思?似乎你没有像Zend那样定义'layout'。我理解的布局包含了你的所有内容和片段,所以句子没有意义。
  • 为什么不立即启动表单并将其传递给视图?

像这样:

$userForm = new UserForm();   
$this->view->userForm = $userForm;

答案 1 :(得分:1)

我认为

$this->_helper->layout->userForm

应该这样做。

之后我不知道你为什么不重用

 $this->action('index', 'user');
在你看来,

似乎更简单恕我直言。