【问题标题】:format form elements in cakephp3在 cakephp3 中格式化表单元素
【发布时间】:2017-01-10 21:55:02
【问题描述】:

如何对齐表单元素框出现的位置,至少每个输入框都右对齐,具有相同的字体等。我尝试使用模板,但最后我不知道它在说什么。

https://book.cakephp.org/3.0/en/views/helpers/form.html#customizing-the-templates-formhelper-uses

   echo $this->Form->input('first_name',['label' => 'Tutor FirstName']);
    echo $this->Form->input('last_name',['label' => 'Tutor LastName']);
    echo $this->Form->input('email', ['label' => 'Email']);
    echo $this->Form->input('mobile', ['label' => 'Mobile']);
    echo $this->Form->input('home_phone',['label' => 'Home Phone']);
    echo $this->Form->input('work_phone',['label' => 'Work Phone']);

【问题讨论】:

标签: html css cakephp cakephp-3.0


【解决方案1】:

对于模板,它的工作方式就是这样。

在 src/Controller/AppController 或者你需要的地方

class AppController extends Controller
{
    public $helpers = [
        'Form'      => [
            'templates' => 'template_forms',
        ],
    ];

在 src/config 中

创建一个新文件“template_forms.php”

<?php
$config = [
    'checkboxFormGroup'   => '<div class="col-xs-5"><div class="checkbox">{{label}}</div></div>',
    'checkbox'            => '<input type="checkbox" value="{{value}}" {{attrs}}>',
    'checkboxWrapper'     => '<div class="form-group"><div class="col-sm-offset-5 col-xs-7">{{label}} {{input}}</div></div>',
    'inputContainer'      => '<div class="form-group" {{required}} >{{content}}</div><div class="hr-line-dashed"></div>',
    'input'               => '<div class="col-xs-7 col-sm-10 col-lg-10"><input class="form-control input-sm" type="{{type}}" name="{{name}}" {{attrs}}></div>',
    'label'               => '<label {{attrs}} class="col-xs-5 col-sm-2 col-lg-2 control-label">{{text}}</label>',
    'select'              => '<div class="col-xs-7 col-sm-10 col-lg-10"><select class="form-control input-sm" {{attrs}} name={{name}}>{{content}}<select></div>',
    'error'               => '<p class="text-danger">{{content}}</p>',
    'textarea'            => '<div class="col-xs-7 col-sm-10 col-lg-10"><textarea class="form-control input-sm" name="{{name}}" {{attrs}}>{{value}}</textarea></div>',
    'button'              => '<div class="form-group"><div class="col-md-12 col-xs-12 col-sm-12 text-center"><button {{attrs}} type="submit">{{text}}</button></div></div>',
    'inputContainerError' => '<div class="form-group has-error" {{required}}>{{content}}</div>{{error}}',
];
?>

这将覆盖您应用中的所有表单。

【讨论】:

  • 如何让标签适合输入框和从同一列开始的所有输入框(右对齐)
  • 我不明白你真正想要什么。但是,如果您使用引导程序,您只需要像这样为您的表单设置一个类 = $this->Form->create('User',array('class'=>'form-horizo​​ntal')); ?>
  • 我的意思是标签在输入框输入框的左侧,并且一列中的输入框都对齐以从同一位置开始。似乎一张桌子在这里会做得更好。
猜你喜欢
  • 2017-02-07
  • 2015-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-03
  • 2013-04-26
相关资源
最近更新 更多