2011-05-11 46 views
0

人。 我開始使用CakePHP和有使用後審查本教程( http://book.cakephp.org/view/1543/Simple-Acl-controlled-Application ),並經過「蛋糕烘焙」命令生成我 模型, 控制器和視圖,一切都很好,但是當我訪問 郵政添加視圖(視圖\帖子 \ add.php),我發現,而不是顯示 用戶名的輸入文本,它顯示一個所有用戶名的選擇。

這是Post的添加視圖中顯示select的行。

echo $this->Form->input('user_id'); 

PostsController

function add() { 
// Some other code 
    $users = $this->Post->User->find('list'); 
    $this->set(compact('users')); 
} 

雖然我知道如何只顯示的用戶名當前 登錄的用戶,我不知道如何控制內容 顯示$ this-> Form-> input(),因爲如果我使用不是 「Post」模型的一部分的變量,它會顯示,但是作爲輸入的標籤。

你有什麼想法如何解決這個??

P.S.我一直試圖找到食譜這一信息,但我一直沒能找到具體到我的情況:(

+0

如果在你的控制器中有一個名爲'user_id'的變量傳遞給你的視圖,並且它是一個用戶數組,cakephp會自動生成一個選擇框。另外,不應該'user_id'是用戶的id,而不是用戶名? – 2011-05-11 20:59:01

+0

@ Corey-你是對的,有一個用戶數組($ users),但是我害怕我沒有很好地解釋自己,我想知道的是,如果可以使用常量字符串來顯示輸入()?因爲每次我嘗試這樣做時,字符串都會顯示,但會作爲標籤顯示 – eddy 2011-05-12 13:21:45

回答

1

,試試這個:

echo $form->input('my label text',array('value'=>'the value string','type'=>'hidden')); 

這將使輸入隱藏,並設置值。
或刪除type=>hidden,這將有一個值,你還可以添加的東西像disabled和這樣的在那裏,或修改它創建div,使用div'=>array()並把你的div選項數組中......希望這有助於。

1

什麼,我想幫你在這件事上。

首先是當你想要一個文本框,然後如果你想在作爲輸入的值添加一個字符串,你必須定義輸入字段的類型。

echo $form->input('user_id', array('type'=>'text', 'label'=false)); 

我希望這會幫助你。

相關問題