CakePHP 3:FormHelper加载之后?
发布时间:2020-12-13 21:58:26 所属栏目:PHP教程 来源:网络整理
导读:有没有办法加载 label在 input之后默认情况下,Cake PHP加载 label在 input之前像这样: PHP代码: ?php echo $this-Form-input('email',['placeholder' = 'Email']); ? 生成代码: label for="email"Email/labelinput name="email" placeholder="Enter your
有没有办法加载< label>在< input>之后默认情况下,Cake
PHP加载< label>在< input>之前像这样:
PHP代码: <?php echo $this->Form->input('email',['placeholder' => 'Email']); ?> 生成代码: <label for="email">Email</label> <input name="email" placeholder="Enter your email" id="email" type="email"> 但是,当我想这样的时候,我该怎么做: <input name="email" placeholder="Enter your email" id="email" type="email"> <label for="email">Email</label> 除了黑客之外还有办法解决这个问题吗? 解决方法
模板
您可以使用模板功能,负责此操作的模板是formGroup one,默认情况下为{{label}} {{input}}. echo $this->Form->input('email',[ 'placeholder' => 'Email','templates' => [ 'formGroup' => '{{input}}{{label}}' ] ]); 通过遵循作为类型名称的命名约定,然后是FormGroup,还可以为每个输入类型定义表单组tempaltes.因此对于将是emailFormGroup的电子邮件类型. echo $this->Form->create(null,[ 'templates' => [ 'emailFormGroup' => '{{input}}{{label}}','textFormGroup' => '{{input}}{{label}}' // ... ] ]); 这样,您可以轻松地将此选项全局应用于特定类型. 另见Cookbook > Form Helper > Customizing the Templates FormHelper Uses CSS 当然你也可以使用CSS,那里有桌子 .input.email { display: table; width: 100%; } .input.email input { display: table-header-group; } .input.email label { display: table-footer-group; } 弹性盒订购 .input.email { display: flex; flex-flow: column; } .input.email input { order: 1; } .input.email label { order: 2; } 等等… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |