1

使用此处记录的 2 列 http://agiletoolkit.org/doc/form/styling 在 4.2.1 中不起作用

$f->setFormClass('basic atk-form-basic-2col');

做事的方式有改变吗?

4

1 回答 1

1

是的,表单现在只支持“堆叠”类,它将变量放在标签之上。表单不再有自己的布局,但它们使用默认的网格系统。例如,如果您将“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 我已更新文档页面以显示不兼容警告。

于 2012-06-17T08:24:22.510 回答