cakephp中的表单助手通常会生成这样的表单元素:
<div class="input text">
<label for="Firstname">Firstname</label>
<input type="text" id="Firstname" value="" class="test" name="Firstname"/>
</div>
但是可以删除<label>
和<input>
之间的换行符,使其具有以下内容:
<div class="input text">
<label for="Firstname">Firstname</label> <input type="text" id="Firstname" value="" class="test" name="Firstname"/>
</div>
请问好吗?
谢谢
答案 0 :(得分:7)
“换行符”不在HTML中,而是在默认的CakePHP CSS中。为了解决这个问题,我在我烘焙的CakePHP应用程序中添加了以下CSS规则:
label {
display: inline;
width: 20%;
float: left;
}
input, textarea {
width: 76%;
clear: none;
}
form div.submit {
clear: none;
display: inline;
}
这基本上是标签和输入的内联,并为它们设置适当的宽度(您可能需要更改应用的数量,具体取决于长度。)
如果有效,请告诉我。您可以将这些行添加到APP / webroot / css / cake.generic.css的底部,或者根据需要添加新的CSS文件。
答案 1 :(得分:0)
我同意@ srs2012的回答,但有一种方法可以格式化Form Helper的输出。
FormHelper :: input()动作还在其第二个参数中接受'format'键。 此键是元素顺序的格式模板。默认输入格式顺序为:
array('before', 'label', 'between', 'input', 'after', 'error')
不在数组中的任何元素都不在输出中。因此,如果你修改它并删除'between'键,它可能会起作用。
举个例子:
echo $this->Form->input('Model.name', array('format' => array('before', 'label', 'input', 'after', 'error')));
我实际上只需要在项目中使用此设置一次。 CakePHP 1.3 API中的Here it is。 稍微玩一下,看看你能想出什么。