FAQ
Hoe maak ik een link met Yii?
use yii\helpers\Html;
...
Html::a('Naam van de link', ['/controller/method','id'=>'1','param2'=>'waarde'],['title'=> 'Edit',]);
Dit resulteert in de link met de naam 'Naam van de link' die verwijst naar link /controller/method?id=1¶m2=waarde
Verder die je de tekst 'Edit' als je een met de muis over de link gaat (mouse over).
Hoe maak ik een button in Yii?
use yii\helpers\Html;
...
<?= Html::a('Cancel', ['index'], ['class'=>'btn btn-primary', 'title'=> 'Mouse over Text',]) ?>
<?= Html::a('Ok', ['create'], ['class' => 'btn btn-success', 'title'=> 'Mouse over Text',]) ?>
Hoe verander ik de standaard home page in Yii?
Twee mogelijkheden:
- Standaard staat de home page in de site view index, views/site/index.php. Pas deze file aan.
- De controller SiteController.php wordt standaard uitgevoerd. Je kan hier dus een verwijzing naar andere home pagina maken. Zie voorbeeld hieronder.
public function actionIndex()
{
return $this->redirect(['/maaltijd/index']);
}
De home page is nu /maaltijd/index.
Hoe kan ik vanuit Yii naar de vorige pagina?
use yii\helpers\Html;
...
<?= Html::a( 'Cancel', Yii::$app->request->referrer , ['class'=>'btn btn-primary']); ?>
Hoe kan ik selecteren en sorteren?
$countries = Country::find()->where(['Continent' => 'Europe'])
->andWhere('SurfaceArea>1000000')->orderBy(['Name' => SORT_ASC])->all();
Hierbij selecteer je alle countries waarbij Continent = 'Europe' and waar SurfaceArea>1000000, gesorteerd op Name (oplopend, dus a...z).
Hoe kan ik in Yii invoercontrole instellen?
Dit bepaal je in je model, bijvoorbeeld:
public function rules()
{
return [
[['population', 'average_age'], 'integer'],
[['name'], 'string', 'max' => 35],
[['from_date', 'to_date'], 'date'],
[['opmerking', 'extra_opmerking'], 'default', 'value' => null],
[['email'], 'email'],
];
}
Meer info: https://www.yiiframework.com/doc/guide/2.0/en/tutorial-core-validators