2014-12-15 3 views
9

In base allo official tutorial di Yii2. Ho creato una visualizzazione per il modulo di iscrizione:Le opzioni dei campi ActiveX di Yii2 non funzionano

<?php 
    use yii\helpers\Html; 
    use yii\widgets\ActiveForm; 
    ?> 
    <?php $form = ActiveForm::begin(); ?> 
<!-- GET Attention for the next Line --> 
    <?= $form->field($model, 'name')->label('Your Name'); ?> 
    <?= $form->field($model, 'email'); ?> 
    <div class="form-group"> 
     <?= Html::submitButton('Send!', ['class' => 'btn btn-primary']); ?> 
    </div>  
    <?php ActiveForm::end(); ?> 

A questo punto tutto va bene. Tuttavia, quando si tenta di utilizzare il parametro options del metodo field come segue:

<?= $form->field($model, 'name', ['style' => 'color:red'])->label('Your Name'); ?> 

ho ottenuto l'errore:

Unknown Property – yii\base\UnknownPropertyException

Setting unknown property: yii\widgets\ActiveField::style

The official api documentation ha dichiarato che il metodo di ActiveForm prende un terzo parametro chiamato opzioni

Qualcuno potrebbe spiegarmi perché questo errore si è verificato ?!

risposta

10

Prova

<?= $form->field($model, 'name')->textInput(['style' => 'color:red'])->label('Your Name'); ?> 

E 'un po' difficile da spiegare, quando si fanno $form->field($model, 'name') senza specificare il tipo di campo si sta effettivamente chiedendo un textInput. Ma ciò non significa che devi chiedere a ->field( di prendere i parametri allo stesso modo di ->textInput(. Se avete bisogno di mettere un po 'params speciali per il campo è necessario utilizzare l'esplicito ->textInput(['style' => 'color:red'])

+0

La documentazione ufficiale parla di un terzo parametro "opzioni". Ma non spiega cosa si potrebbe definire usandolo. :( – webpaul

+0

Hai ragione, questo dovrebbe essere meglio documentato. Posso aggiungere alcune cose la prossima settimana. –

3

Prova di questo codice:

<?= $form->field($model, 'name', [ 'options' => [ 'style' => 'color: red']])->label('Your Name'); ?> 

Hai avuto questo errore

Unknown Property – yii\base\UnknownPropertyException 

Setting unknown property: yii\widgets\ActiveField::style 

perché non c'è tale stile di proprietà. Dovresti usare "opzioni" e passare "stile" come sottoarray