registration.php 10.9 KB
<?php
/**
 * @var $user common\models\User
 * @var $user_info common\models\UserInfo
 */
    use yii\captcha\Captcha;
    use yii\widgets\ActiveForm;
    use kartik\select2\Select2;
    use yii\web\JsExpression;

?>
<div class="section-box content">
    <div class="section-box registration">
        <div class="box-wr">
            <div class="box-all">
                <div class="registration-title style">Регистрация</div>
                <div class="registration-form style">
                    <?php $form = ActiveForm::begin(); ?>

                        <div class="input-blocks-wrapper">
                            <div class="input-blocks">
                                <?= $form->field($model, 'username')->textInput(['class'=>'custom-input-2'])?>
                            </div>
                            <div class="input-blocks-help-wr">
                                <div class="input-blocks-help">Логин должен содержать не менее 3-х символов, начинаться с английской буквы и заканчиваться буквой или цифрой. Допускаются английские буквы, цифры и знаки 'тире', 'подчеркивание', 'точка'</div>
                            </div>
                        </div>

                        <div class="input-blocks-wrapper">
                            <div class="input-blocks">

                                <?= $form->field($model, 'password')->passwordInput(['class'=>'custom-input-2'])?>

                            </div>
                            <div class="input-blocks-help-wr">
                                <div class="input-blocks-help">Пароль должен содержать не менее 6-ти символов.</div>
                            </div>
                        </div>

                        <div class="input-blocks-wrapper">
                            <div class="input-blocks">
                                <?= $form->field($model, 'email')->textInput(['class'=>'custom-input-2'])?>
                            </div>
                            <div class="input-blocks-help-wr">
                                <div class="input-blocks-help">На этот адрес электронной почты будет отправлено уведомление о регистрации.</div>
                            </div>
                        </div>

                        <div class="who-you-are style">
                            <div class="who-you-are-title style">Кто Вы</div>
                            <div class="who-you-are-form-wr style">
                                <div class="who-you-are-form">

                                    <div class="register-val-company">
                                        <?php
                                        $model->type = '1';
                                         echo $form->field ($model, 'type',['options'=> ['class'=>'check-radio-wr']])
                                            ->label (false)
                                            ->radioList (
                                                [1 => 'Частное лицо', 2 => 'Компания'],
                                                [
                                                    'item' => function($index, $label, $name, $checked, $value) {
                                                        $return = '<div class="custom-form-buttons">';
                                                        $return .= '<input class="custom-radio" id="custom-radio-'.$value.'" '.($checked ? "checked" : "" ).' type="radio" name="' . $name . '" value="' . $value . '" >';
                                                        $return .= '<label for="custom-radio-'.$value.'" ><span></span>' . $label .'</label>';
                                                        $return .= '</div>';
                                                        return $return;
                                                    }
                                                ]
                                            );
                                        ?>
                                    </div>

                                    <div class="check-radio-wr">
                                        <?= $form->field($model, 'is_freelancer', [ 'template' => "{input}\n{label}\n{error}" , 'options'=>['class'=>'custom-form-buttons'] ])
                                            ->label('<span></span>Я - Фрилансер')
                                            ->checkbox([
                                                'class'    => 'custom-check',
                                            ], false); ?>

                                        <?= $form->field($model, 'is_customer', [ 'template' => "{input}\n{label}\n{error}", 'options'=>['class'=>'custom-form-buttons'] ])
                                            ->label('<span></span>Я - заказчик')
                                            ->checkbox([
                                                'class'    => 'custom-check',
                                            ], false); ?>
                                    </div>


                                    <div class="input-blocks-wrapper register-company-block">
                                        <div class="input-blocks">
                                            <?= $form->field($model, 'name')->textInput(['class'=>'custom-input-2'])?>
                                        </div>
                                    </div>

                                    <div class="input-blocks-wrapper">
                                        <div class="input-blocks">
                                            <?= $form->field($model, 'firstname')->textInput(['class'=>'custom-input-2'])?>
                                        </div>
                                    </div>
                                    <div class="input-blocks-wrapper">
                                        <div class="input-blocks">
                                            <?= $form->field($model, 'lastname')->textInput(['class'=>'custom-input-2'])?>
                                        </div>
                                    </div>
                                    <div class="input-blocks-wrapper">
                                        <div class="input-blocks">
                                            <?=
                                            $form->field($model, 'city')->widget(Select2::classname(), [
                                                'options' => ['placeholder' => 'Выбор города ...'],
                                                'pluginOptions' => [
                                                    'allowClear' => true,
                                                    'minimumInputLength' => 3,
                                                    'ajax' => [
                                                        'url' => \yii\helpers\Url::to(['site/city']),
                                                        'dataType' => 'json',
                                                        'data' => new JsExpression('function(params) { return {q:params.term}; }')
                                                    ],
                                                    'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
                                                    'templateResult' => new JsExpression('function(city) { return city.text; }'),
                                                    'templateSelection' => new JsExpression('function (city) { return city.text; }'),
                                                ],
                                            ]);
                                            ?>
                                        </div>
                                    </div>

     



                                    <div class="input-blocks-wrapper city-two">
                                        <div class="input-blocks">
                                            <label for="input-txt-7">Город не в списке</label>
                                            <input class="custom-input-2" id="input-txt-7" type="text">
                                        </div>
                                        <div class="form-help-two">Если вашего города нет в списке, введите его. </div>
                                    </div>
                                    <div class="input-blocks-wrapper captcha-wr">
                                        <?= $form->field($model, 'verifyCode')->widget(Captcha::className(), [
                                            'options' => ['class' => 'custom-input-2'],
                                            'template' => '
                                                        <div class="input-blocks-wrapper captcha">
                                                            <div class="input-blocks-captcha">
                                                                {image}
                                                            </div>
                                                        </div>
                                                        <div class="input-blocks-wrapper">
                                                            <div class="input-blocks">
                                                                <label for="signupform-verifycode">Введите проверочный код</label>
                                                                {input}
                                                            </div>
                                                        </div>
                                                        ',
                                        ])->label(false) ?>
                                        </div>
                                    <div class="input-blocks-wrapper button">
                                        <button type="submit" value="Submit">Зарегистрироваться</button>
                                    </div>
                                </div>
                            </div>
                        </div>

                    <?php ActiveForm::end()?>
                </div>
            </div>
        </div>
    </div>

</div>
<script>
   var registerValCompany =  $('.register-val-company .custom-radio:checked').attr('value');
   var regHideBlock = $('.register-company-block .form-group')
   if(registerValCompany==1) {
       regHideBlock.css({display:'none'})
   }

   $('.register-val-company .custom-radio').change(function(){
       var newRegisterValCompany = +$(this).attr('value')
       if(newRegisterValCompany==1){
           regHideBlock.css({display:'none'})
       } else {
           regHideBlock.css({display:'block'})
       }

   })

</script>