使用此处记录的 2 列 http://agiletoolkit.org/doc/form/styling 在 4.2.1 中不起作用
$f->setFormClass('basic atk-form-basic-2col');
做事的方式有改变吗?
使用此处记录的 2 列 http://agiletoolkit.org/doc/form/styling 在 4.2.1 中不起作用
$f->setFormClass('basic atk-form-basic-2col');
做事的方式有改变吗?
是的,表单现在只支持“堆叠”类,它将变量放在标签之上。表单不再有自己的布局,但它们使用默认的网格系统。例如,如果您将“atk-grid”列分配给表单,然后在您的字段集上使用“span3”,您将获得垂直表单块。
如果您将 atk-row 类分配给 fieldset 并在 field 上使用 span3,您将获得水平表单块。
设置表单类:$form->setClass('atk-row')
第一个字段集已包含在模板中,因此要更改它:$form->template->trySet('fieldset', 'span4');
后续字段集可以设置为$form->addSeparator('span5');
个别领域类是通过$field->setAttr('class','...');
示例(具有水平布局的基于模型的表单):
$form=$this->add('Form')->setClass('stacked');
$form->template->trySet('fieldset','atk-row');
$form->setModel('User');
foreach($form->elements as $field){
if($field instanceof Form_Field){
$field->setAttr('class','span3');
}
}
// If you want to separate fields into 2 rows:
$sep=$form->addSeparator('atk-row');
$form->add('Order')->move($sep,'middle')->now();
为了简化这一切,您可以使用自定义表单模板。在最新的 Github master 中查找form.html
并比较它。form_horizontal.html
这应该让您很好地了解如何创建自己的表单布局。不像 Agile Toolkit 只有一种构建表单的方法。
ps 我已更新文档页面以显示不兼容警告。