cakephp - 使用CakePHP的FormHelper自定义输入HTML

标签 cakephp

我正在尝试使用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/

相关文章:

cakephp - CakePHP中如何显示登录用户的记录?

mysql - 如何按实体创建虚拟求和字段

cakephp - 在 cakephp 中定义常量的位置

php - 在 php 或 Cakephp 中使用 fgetcsv 导入大型 CSV 文件

postgresql - 修改cakephp中的Routes.php文件

mysql - 如何使用 cakephp v3.x 绕过 MAX_JOIN_SIZE

mysql - 如何修复蛋糕烘焙控制台中的错误 "PHP Fatal error: Call to undefined function mysql_query() "

php - cakephp 从一列中的字符串中选择多个字符串

javascript - 如何使用jquery从字符串中删除字符串直到特定字符

php - CakePHP GET 请求仅在部分时间失败