填写ATK4中的下拉列表

时间:2011-10-02 23:26:37

标签: php frameworks atk4

function init(){
    parent::init();
    $f = $this->add('Form');
    $f->addField('dropdown', 'Label:')->setModel('User');
}

因此,此代码将输出一个下拉列表,该列表由表中的值与模型 User 相关联,但值将为 name 字段中的值。模型。

有没有办法使用模型的另一个字段来填充它?

2 个答案:

答案 0 :(得分:2)

没有直接的方法。首先,您确定不必使用“引用”类型而不是下拉列表吗?

其次,免费是如何:

class Model_User_BySurname extends Model_User {
    public function getListFields(){
        return array('id'=>'id','surname'=>'name');
    }
}

然后进一步:

$form->addField('reference','Label')->setModel('User_BySurname');

当然,您可以通过在getListFields中创建某种“setNameField('surname')”函数和隐藏属性,在模型中重新定义此字段。

答案 1 :(得分:0)

这已经改变了,我花了一些时间来弄清楚如何做到这一点。

class Model_MyModel extends SQL_Model {
  public function init() {
    parent::init();
    $this->addField('titleField');
  }

  public function getTitleField() {
    return 'titleField';
  }
}

$form->addField('dropdown', 'Label')->setModel('MyModel');