cakephp - CakePHP 3.0.0 中的输入包装 div 类

标签 cakephp form-helpers cakephp-3.0

如何更改 CakePHP 3.0.0 中的输入包装 div 类?

我的代码是:

<?= $this->Form->input('mobile',['div'=>['class'=>'col-md-4'],'class'=>'form-control','label'=>false]) ?>

它返回:

<div class="input text">
    <input type="text" name="mobile" div="col-md-4" class="form-control" id="mobile">
</div>

我想要的输出如下:

<div class="col-md-4">
    <input type="text" name="mobile" class="form-control" id="mobile">
</div>

最佳答案

对于 CakePHP 3.0 版本...

...没有办法只将属性传递给模板。您必须重新定义适当的表单助手模板。

您可以使用例如 FormHelper::templates() 来全局更改它们:

$myTemplates = [
    'inputContainer' => '<div class="col-md-4 input {{type}}{{required}}">{{content}}</div>',
    'inputContainerError' => '<div class="col-md-4 input {{type}}{{required}} error">{{content}}{{error}}</div>'
];
$this->Form->templates($myTemplates);

或者仅针对通过templates选项的特定输入:

echo $this->Form->input('mobile', [
    'templates' => [
        'inputContainer' => '<div class="col-md-4 input {{type}}{{required}}">{{content}}</div>',
        'inputContainerError' => '<div class="col-md-4 input {{type}}{{required}} error">{{content}}{{error}}</div>'
    ],
    'class' => 'form-control',
    'label' => false
]);

另请参阅

从 CakePHP 3.1 开始...

...您可以使用所谓的模板变量。您可以将它们放置在模板中的任何位置

$myTemplates = [
    'inputContainer' => '<div class="input {{class}} {{type}}{{required}}">{{content}}</div>',
    'inputContainerError' => '<div class="input {{class}} {{type}}{{required}} error">{{content}}{{error}}</div>'
];
$this->Form->templates($myTemplates);

并使用templateVars选项来定义它们的值

echo $this->Form->input('mobile', [
    'class' => 'form-control',
    'label' => false,
    'templateVars' => [
        'class' => 'col-md-4'
    ]
]);

另请参阅

关于cakephp - CakePHP 3.0.0 中的输入包装 div 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24140362/

相关文章:

image - Cakephp 3.3 中的文件上传

css - 将自定义类添加到 CakePHP 自动日期选择

javascript - UnlockField 在 CakePHP 中不起作用

iphone - 使用 CakePHP 的媒体 View 将视频提供给 iPad/iPhone

html - 自定义 collection_check_boxes

Clojure:Hiccup 表单处理程序

cakephp - 如何测试是否在模型方法中调度事件

testing - Codeigniter 和/或 CakePHP 的简单、自动化、高效的测试方法/环境?

ruby-on-rails-3 - 错误率: why am I getting undefined method 'hidden_field_tag' ?

php - 我使用 cakephp3.4.13 进行验证时发生了什么?