我正在尝试使用CakePHP的表单助手来生成一些输入元素。
我尝试生成的HTML是:
<div class="formRow">
<label>LabelText:</label>
<div class="formRight">
<input name="data[User][email_address]" type="text" value="">
</div>
<div class="clear"></div>
</div>
我已经浏览过Cake文档(使用2.1),但我找不到有关如何执行此操作的足够信息。
看来我需要在输入法上使用format选项,但无法弄清楚如何正确使用它。尤其要关注在输入字段上带有类名的div。
例如。香港专业教育学院尝试过这样的事情:
echo $this->Form->input('email_address', array(
"input" => array('attributes' => array('wrap' => 'div','class' => 'formRight'))));
但这不会更改任何标记,只会引发此错误:
注意(8):数组到字符串的转换[CORE\Cake\View\Helper.php,第459行]
所以我的问题是如何获得该表单助手来创建该标记?
任何帮助,不胜感激
最佳答案
您想得太多了。 (不用担心,我们都这样做)。只需记住,CakePHP就是为了让您更轻松(除其他外)-如果您在努力迫使Cake为您做某事而苦苦挣扎,请记住,您可以使用基础知识-只是PHP/HTML毕竟。
<div class="formRow">
<label>LabelText:</label>
<div class="formRight">
<?php echo $this->Form->input('email_address', array(
'div'=>false, 'label'=>false)); ?>
</div>
<div class="clear"></div>
</div>
您应该在可能的情况下为表单使用Form helper,但不必使用所有的预设,例如周围的div和标签。在上述情况下,只需告诉它您不需要div,然后自己用div包装即可。
如果您不希望在任何输入周围添加
<div>
或<label>
,则还可以设置表单的inputDefaults:$this->Form->create('Whatever', array(
'inputDefaults' => array('label'=>false, 'div'=>false)
));
关于cakephp - 使用CakePHP的FormHelper自定义输入HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10475437/