如何控制显示在$ form-> input中的内容(文本)?
问题描述:
人。 我开始使用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.我一直试图找到食谱这一信息,但我一直没能找到具体到我的情况:(
答
,试试这个:
echo $form->input('my label text',array('value'=>'the value string','type'=>'hidden'));
这将使输入隐藏,并设置值。
或删除type=>hidden
,这将有一个值,你还可以添加的东西像disabled
和这样的在那里,或修改它创建div
,使用div'=>array()
并把你的div
选项数组中......希望这有助于。
答
什么,我想帮你在这件事上。
首先是当你想要一个文本框,然后如果你想在作为输入的值添加一个字符串,你必须定义输入字段的类型。
echo $form->input('user_id', array('type'=>'text', 'label'=false));
我希望这会帮助你。
如果在你的控制器中有一个名为'user_id'的变量传递给你的视图,并且它是一个用户数组,cakephp会自动生成一个选择框。另外,不应该'user_id'是用户的id,而不是用户名? – 2011-05-11 20:59:01
@ Corey-你是对的,有一个用户数组($ users),但是我害怕我没有很好地解释自己,我想知道的是,如果可以使用常量字符串来显示输入()?因为每次我尝试这样做时,字符串都会显示,但会作为标签显示 – eddy 2011-05-12 13:21:45