0

私は次のモデルを持っています:

class Model_GrantMinimal extends Model_Table {
    public $table='grant';

    function init() {
        parent::init();

        $this->hasOne('User');

        $this->getField('id')->hidden(true);
        $this->getField('user_id')->hidden(true);
        $this->addField('grant_number');
        $this->addField('grant_name');
    }
}

そしてページの中に私は次のコードを持っています:

$grant=$this->add('Model_GrantMinimal');
$grant->load($id);
$user=$grant->ref('user_id');
        $field = $grantForm->addField('Dropdown','Manager');
        $field->setModel($user);
        $field
            ->validateNotNull()
            ->add('Icon',null,'after_field')
            ->set('arrows-left3')
            ->addStyle('cursor','pointer')
            ->js('click',$grantForm->js()->reload())
        ;

そして、すべてがほぼ完全に機能します-ドロップダウン($fieldphp内)がフォーム全体にリンクされていることを確認するにはどうすればよいですか?つまり、ドロップダウンの値を変更すると、その値が$grantForm->onSubmit-に渡されます- defaultValue(pre-ドロップダウンの選択された値)は、user_id内部で設定されたユーザーですGrantMinimal

私はこれまでのところフレームワークが大好きです-その本当に印象的で、MVVMとMVCが非常に一般的である.NETフレームワークから来ており、特に最新のWPF関連があります。これは、HTML / PHPを作成する古い方法と比較して扱いやすく、何が何であるかを完全に理解するのに少し時間がかかります。

4

1 に答える 1

0

数時間のデバッグトレースの後、それを理解しました:

class Model_GrantMinimal extends Model_Table {
    public $table='grant';

    function init() {
        parent::init();

        $this->hasOne('User');

        $this->getField('id')->hidden(true);
        $this->getField('user_id')->hidden(true);
        $this->addField('grant_number');
        $this->addField('grant_name');

        $this->hasOne('User');

        $this->getField('user_id')->caption('Manager')->hidden(false);
    }
}
于 2012-09-12T21:05:02.057 に答える