_form.php 3.4 KB
<?php
    
    use artbox\catalog\models\OptionGroup;
    use artbox\catalog\models\OptionGroupLang;
    use artbox\core\widgets\LanguageForm;
    use kartik\select2\Select2;
    use yii\helpers\Html;
    use yii\helpers\Url;
    use yii\web\JsExpression;
    use yii\web\View;
    use yii\widgets\ActiveForm;
    
    /**
     * @var OptionGroupLang[] $modelLangs
     * @var OptionGroup       $model
     * @var ActiveForm        $form
     * @var View              $this
     */
?>

<div class="product-form">
    
    <?php $form = ActiveForm::begin(); ?>
    
    <?php
        echo Select2::widget(
            [
                'name'          => 'categoryIds',
                'options'       => [
                    'placeholder' => \Yii::t('catalog', 'Search for a categories ...'),
                    'multiple'    => true,
                ],
                'value'         => array_keys($model->categoryIds),
                'data'          => $model->categoryIds,
                'pluginOptions' => [
                    'allowClear'         => true,
                    'minimumInputLength' => 3,
                    'language'           => [
                        'errorLoading' => new JsExpression(
                            "function () { return 'Waiting for results...'; }"
                        ),
                    ],
                    'ajax'               => [
                        'url'      => Url::to([ '/category/list' ]),
                        'dataType' => 'json',
                        'data'     => new JsExpression(
                            'function(params) { 
                                    return {
                                        q:params.term
                                    }; 
                                 }'
                        ),
                    ],
                    'escapeMarkup'       => new JsExpression(
                        'function (markup) {
                                return markup; 
                             }'
                    ),
                    'templateResult'     => new JsExpression(
                        'function (brand) { 
                                return brand.text; 
                             }'
                    ),
                    'templateSelection'  => new JsExpression(
                        'function (brand) {
                                return brand.text; 
                             }'
                    ),
                ],
            ]
        );
    ?>
    
    <?= LanguageForm::widget(
        [
            'modelLangs' => $modelLangs,
            'formView'   => '@artbox/catalog/views/variant-option-group-compl/_form_language',
            'form'       => $form,
        ]
    ) ?>
    
    <?= $form->field($model, 'sort')
             ->textInput() ?>
    
    <?= $form->field($model, 'is_filter')
             ->checkbox(
                 [
                     'class' => 'flat',
                 ]
             ) ?>
    
    <?= $form->field($model, 'status')
             ->checkbox(
                 [
                     'class' => 'flat',
                 ]
             ) ?>
    
    <div class="form-group">
        <?= Html::submitButton(
            $model->isNewRecord ? Yii::t('catalog', 'Create') : Yii::t('catalog', 'Update'),
            [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ]
        ) ?>
    </div>
    
    <?php ActiveForm::end(); ?>

</div>