_form.php 3.35 KB
<?php
    
    use artweb\artbox\blog\models\BlogCategory;
    use artweb\artbox\blog\models\BlogCategoryLang;
    use kartik\select2\Select2;
    use yii\helpers\Html;
    use yii\helpers\Url;
    use yii\web\View;
    use yii\widgets\ActiveForm;
    use artweb\artbox\language\widgets\LanguageForm;
    
    /**
     * @var View               $this
     * @var BlogCategory       $model
     * @var ActiveForm         $form
     * @var BlogCategoryLang[] $modelLangs
     * @var array              $parentCategories
     */
?>

<div class="blog-category-form">
    
    <?php $form = ActiveForm::begin(
        [
            'options' => [ 'enctype' => 'multipart/form-data' ],
        
        ]
    ); ?>
    
    <?php
        echo LanguageForm::widget(
            [
                'modelLangs' => $modelLangs,
                'formView'   => '@artweb/artbox/blog/views/blog-category/_form_language',
                'form'       => $form,
            ]
        );
    ?>
    
    <?= $form->field($model, 'image')
             ->widget(
                 \kartik\file\FileInput::className(),
                 [
                     'language'      => 'ru',
                     'options'       => [
                         'accept'   => 'image/*',
                         'multiple' => false,
                         'deleteurl' => $model->isNewRecord?false:Url::to(['/blog/blog-category/delete-image', 'id' => $model->id]),
                         'class'     => $model->isNewRecord?'':'artbox-delete-file',
                     ],
                     'pluginOptions' => [
                         'allowedFileExtensions' => [
                             'jpg',
                             'gif',
                             'png',
                         ],
                         'initialPreview'        => !empty( $model->getImageUrl(0, false) ) ? \artweb\artbox\components\artboximage\ArtboxImageHelper::getImage(
                             $model->imageUrl,
                             'list'
                         ) : '',
                         'initialPreviewShowDelete' => false,
                         'overwriteInitial'         => true,
                         'showRemove'               => true,
                         'showUpload'               => false,
                         'showClose'                => false,
                         'previewFileType'       => 'image',
                     ],
                 ]
             ); ?>
    
    <?= $form->field($model, 'sort')
             ->textInput() ?>
    
    <?php echo $form->field($model, 'parent_id')
                    ->widget(
                        Select2::className(),
                        [
                            'data'          => $parentCategories,
                            'options'       => [ 'placeholder' => \Yii::t('blog', 'Has no parent rubric') ],
                            'pluginOptions' => [
                                'allowClear' => true,
                            ],
                        ]
                    );
    ?>
    
    <?= $form->field($model, 'status')
             ->checkbox() ?>
    
    <div class="form-group">
        <?= Html::submitButton(
            $model->isNewRecord ? 'Create' : 'Update',
            [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ]
        ) ?>
    </div>
    
    <?php ActiveForm::end(); ?>

</div>