使用此处记录的2列 http://agiletoolkit.org/doc/form/styling 在4.2.1中不起作用
$f->setFormClass('basic atk-form-basic-2col');
有没有办法改变?
答案 0 :(得分:1)
是的,表单现在只支持“堆叠”类,它将变量放在标签上方。表单不再具有自己的布局,但它们使用默认的网格系统。例如,如果将“atk-grid”列分配给表单,则在字段集上使用“span3”可以获得垂直表单块。
如果将atk-row类分配给fieldset并在字段上使用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只有一种构建表单的方法。
P.S。我已更新文档页面以发出不兼容警告。