2011-01-11 122 views
3

全新的CakePHP用户;刚刚几个小时前安装并运行(或者我想)。我一直在穿过blog tutorial,一切都在顺风顺水,直到我点击添加帖子部分。我想也许我在某处犯了一个错字,所以我直接复制并粘贴了代码,并且当我尝试去localhost/cakeBlogTest/posts/add时仍然遇到这些错误。谁能帮我吗?我安装了最新的稳定版本的CakePHP。在CakePHP中使用HtmlHelper时出现错误消息

警告(512):方法的HtmlHelper ::输入不存在[CORE /蛋糕/库/视图/ helper.php,线143]

警告(512):方法的HtmlHelper :: tagErrorMsg确实不存在[CORE/cake/libs/view/helper.php,第143行]

警告(512):方法HtmlHelper :: textarea不存在[CORE/cake/libs/view/helper.php,第143行]

警告(512):方法HtmlHelper :: submit不存在[CORE/cake/libs/view/helper.php,第143行]

编辑补充:

我能使用HTML的$>链接在本教程的其他部分,所以它似乎是找到了帮手文件。我只查看了帮助程序文件,input,textarea和submit存在,但tagErrorMsg不存在。是否有可能教程过时并且使用当前版本的CakePHP中不再存在的位?如果是这样,我用什么来代替tagErrorMsg?

多次加入:

代码复制/直接从教程贴:

<h1>Add Post</h1> 
<form method="post" action="<?php echo $html->url('/posts/add')?>"> 
    <p> 
     Title: 
     <?php echo $html->input('Post/title', array('size' => '40'))?> 
     <?php echo $html->tagErrorMsg('Post/title', 'Title is required.') ?> 
    </p> 
    <p> 
     Body: 
     <?php echo $html->textarea('Post/body', array('rows'=>'10')) ?> 
     <?php echo $html->tagErrorMsg('Post/body', 'Body is required.') ?> 
    </p> 
    <p> 
     <?php echo $html->submit('Save') ?> 
    </p> 
</form> 

回答

4

inputtextareasubmit不是HtmlHelper功能,它们属于FormHelper

在你的意见,你应该使用$this->Form->input('test')而不是$this->Html->input('test')

This tutorial属于CakePHP的1.1版(明显外的日期)

了解CakePHP的latest tutorial V1.3

+0

这不是教程所说的。我在OP中添加了直接从教程中粘贴的代码。这就是为什么我问教程是否过时以及如何使用不存在的东西。 – EmmyS 2011-01-11 21:25:46

0

现在tagErrorMsg功能更改为tagIsInvalid,现在是在“表单助手”类,但之前它是在HtmlHelper类。所以现在我们应该使用它像 - > $ this-> Form-> tagIsInvalid()或$ form-> tagIsInvalid() AND NOT LIKE $ this-> Html-> tagIsInvalid( )