首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Atk4表单列

Atk4表单列
EN

Stack Overflow用户
提问于 2012-07-24 18:18:21
回答 1查看 214关注 0票数 0

我试图在表单中使用列。

我有下一个代码,它生成

守则是:

代码语言:javascript
复制
$col=$this->add('Columns');
$left=$col->add($f->addField('text','observaciones'));
$right=$col->add($f->addField('line','cantidad_de_bocas'));

列的字段是基于表单字段的。我想在列中添加多个字段(例如。左列2个字段,右侧4个字段)。

我见过一些例子,比如

代码语言:javascript
复制
$col=$page->add('Columns');
$left=$col->addColumn(2)->add('View_SlotMachine');
$right=$col->addColumn(2)->add('View_SlotMachine');
  • 为什么这些字段是重复的?
  • addColumn(2)方法是做什么的?

非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-26 02:31:28

如果您还没有深入使用ATK4.1进行开发,可以下载4.2并查看示例这里。4.2中有许多新功能,您可以利用这些功能,并且正在更新演示和示例,以反映这些更改。

在4.2中,有一个使用如下两列的样式的示例

代码语言:javascript
复制
class StylingForm extends Form {
  function init(){
    parent::init();
    $f=$this;

    $f->addField('line','name')->validateNotNull()
        ->setFieldHint('Click "Register" to see error');
    $f->addField('line','email')
        ->validateNotNull()
        ->validateField('filter_var($this->get(), FILTER_VALIDATE_EMAIL)')

    .. .. ..

 }

 functoin init() {
   // Stacked class puts labels on top of fields
   $form=$page->add('StylingForm');
   $form->addClass('stacked atk-row');

   $form->template->trySet('fieldset','span6');
   $sep=$form->addSeparator('span6');
   $form->add('Order')->move($sep,'before','age')->now();

 }

在atk4.1中,表单是一个视图,因此它在atk4 4/ template /shared/ view /form.html中有一个模板,在atk4 4/lib/View/form.php中有一些代码

在您从这里中提到的老虎机示例中,使用addColumns(2)将视图的宽度设置为可用屏幕宽度的20%,但在示例中,每一列都将包含老虎机的一个视图。如果您想要在同一页上的窗体,您可以使用相同的功能,但您似乎想要的是一个单一的形式跨两列,只有一个提交按钮。

如果您必须继续使用atk4.1,则需要查看form.html。罗马人可能会建议你如何在这个版本中创建一个两列形式。我可以看到css中定义了一些类,比如atk-form-垂直-2 3col和atk-form-垂直-3 3col,还有一个函数setFormClass来设置它们,但是我看不出您将设置哪些标记来将字段放在右边--默认情况下,所有东西都向左。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11636914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档