2011-01-11 121 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( )