求助zend_form的问题

LNMP自学者 2009-06-04 09:01:06
求助zend_form的问题
<?php
class IndexController extends Zend_Controller_Action
{
function init()
{
$this->registry = Zend_Registry::getInstance();
$this->view = $this->registry['view'];
$this->view->baseUrl = $this->_request->getBaseUrl();
}
function indexAction()
{
$content = "welcome to php world.";
$this->view->bodyTitle = '<font color="#ff0000">'.$content."</font>";
echo $this->view->render('index.phtml');
}
function goAction(){
Zend_Loader::loadClass('test_class_myNews');
$news = new test_class_myNews();
$news->showInfo();
echo "ok";
}
function __call($func,$argments)
{
echo "对不起,您访问的数据不存在。";
echo "function :" . $func . ",argments:" . $argments . " 不存在";
}

function showAction(){

$form = new Zend_Form();
$form->setMethod('post')
->setAction('/index/show');
$username = new Zend_Form_Element_Text('username');
$username->setRequired(true);

$form->addElement($username);
$this->view->form = $form;
echo $this->view->render('/index/show.phtml');

}
}
?>
访问http://www.***.com/index.php/index/show 报错如下:

Warning: Exception caught by form: ViewHelper decorator cannot render without a registered view object Stack Trace: #0 D:\Php_Web\DedeAMPZ\WebRoot\Zend_Learn\library\Zend\Form\Element.php(1911): Zend_Form_Decorator_ViewHelper->render('') #1 D:\Php_Web\DedeAMPZ\WebRoot\Zend_Learn\library\Zend\Form\Decorator\FormElements.php(101): Zend_Form_Element->render() #2 D:\Php_Web\DedeAMPZ\WebRoot\Zend_Learn\library\Zend\Form.php(2595): Zend_Form_Decorator_FormElements->render('') #3 D:\Php_Web\DedeAMPZ\WebRoot\Zend_Learn\library\Zend\Form.php(2610): Zend_Form->render() #4 D:\Php_Web\DedeAMPZ\WebRoot\Zend_Learn\app\default\views\scripts\index\show.phtml(2): Zend_Form->__toString() #5 D:\Php_Web\DedeAMPZ\WebRoot\Zend_Learn\library\Zend\View.php(107): include('D:\Php_Web\Dede...') #6 D:\Php_Web\DedeAMPZ\WebRoot\Zend_Learn\library\Zend\View\Abstract.php(832): Zend_View->_run('.\app\default\v...') #7 D:\Php_Web\DedeAMPZ\WebRoot\Zend_Learn\app\default\controllers\IndexController.php(41): Zend_View_Abstract->render('/index/show.pht... in D:\Php_Web\DedeAMPZ\WebRoot\Zend_Learn\library\Zend\Form.php on line 2615

我把index.php中的
$front->setParam('noViewRender',true)修改为false,就可以正常显示zend_form构造的内容,不知道是为什么,请高手指点!!!谢谢!!!
...全文
221 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
小敬哥 2011-11-23
  • 打赏
  • 举报
回复
我也正烦恼这个问题呢
杨建军 2010-03-14
  • 打赏
  • 举报
回复
$front->setParam('noViewRender',true)修改为false


下面两句删除
$this->registry = Zend_Registry::getInstance();
$this->view = $this->registry['view'];


iamtsgx08 2009-12-15
  • 打赏
  • 举报
回复
在控制器里是可以不写view的,控制器会默认去找。
lel009 2009-11-11
  • 打赏
  • 举报
回复
2楼貌似是对的。
wk262348314 2009-11-08
  • 打赏
  • 举报
回复
$this->view = $this->registry['view'];
改成
$this->view= new Zend_View();看看

要实例话一个view视图对象,,,你上面的那就好像 有点不对
coffeelet 2009-06-08
  • 打赏
  • 举报
回复
zend_form 的视图是依赖Zend_View的,你不预载Zend_View,当然不行了,看你写的代码,建议还是好好看看手册吧,那里有答案
LNMP自学者 2009-06-04
  • 打赏
  • 举报
回复
自己顶一个先。

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧