Illustrated is an extension for the Yii framework 2.0. It is a Behavior that makes any ActiveRecord, well, illustrated. It links the ActiveRecord to one (or possibly more) image files. The images have strict proportions, allowing for a clean layout of views and other pages. The uploaded images may have several resolutions.
The Illustrated behavior co-operates with the enclosed CropperWidget widget. This lets the user crop the image, before uploading it to the server.
The relevant code in the ActiveRecord
<?php
use sjaakp\illustrated\Illustrated;
class Demo extends \yii\db\ActiveRecord
{
//...
public function behaviors()
{
return [
[
'class' => Illustrated::class,
'attributes' => [
'picture' => [
'cropWidth' => 580,
'cropSteps' => 4,
]
]
]
];
}
//...
}
The code in the View
<?php $form = ActiveForm::begin([
'options' => [
'enctype' => 'multipart/form-data',
]
]); ?>
<?= $form->field($model, 'picture')->widget(CropperWidget::class,
[ 'options' => [ 'aspect' => 'portrait' ] ]) ?>
...
<?php ActiveForm::end(); ?>