ActiveForm begin — как собрать свою форму?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
frmaxm
Сообщения: 193
Зарегистрирован: 2015.03.12, 22:16

ActiveForm begin — как собрать свою форму?

Сообщение frmaxm »

Доброй ночи всем)
Совсем недавно стал изучать Yii2, да и вообще Yii) ПО этому сразу извините если вопрос детский!


Сделал авторизацию, регистрацию на Yii2.
И тут вдруг решили делать popup-окно регистрации и авторизации.
У меня стопор...Сделал добавление модели в нужную вьюху с попапом....

Код: Выделить всё

<?php $model = new SignupForm(); ?>
    <?php $this->render('@app/views/site/user/singup.php', ['model' => $model]); ?>
ну и конечно сама вьюха

Код: Выделить всё


<?php
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
/* @var $this yii\web\View */
/* @var $form yii\bootstrap\ActiveForm */
/* @var $model \frontend\models\SignupForm */
$this->title = 'Signup';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class=reg-block id=reg-block> 
        
        <?php $form = ActiveForm::begin([
        'enableClientValidation' => true,
        'enableAjaxValidation' => true,
            'id' => 'form-signup',
            'options' => ['class' => 'reg-from-popup'],
            'fieldConfig' => [
                'template' => '<div class="class1"><label><span></span>{input}</label></div>',
                'labelOptions' => [],
            ],
        ]); ?>
    
    <div class=class_a>
        <?= $form->field($model, 'username') ?>    
    </div>
            
    
            
            <?= $form->field($model, 'email') ?>
            
            <?= $form->field($model, 'password')->passwordInput() ?>
    
        <?= Html::submitButton('Готово!', ['class' => 'card-redd red', 'name' => 'signup-button']) ?>
    
        <?php ActiveForm::end(); ?>
    
    
    
    </div>
Итак и этак кручу этот ActiveForm - а нужна мне форма не получается
вот форма на которую я молюсь...

Код: Выделить всё

<!--            <form class=reg-from-popup action="javascript:void(null);"> 
            <div class=class_a> 
                <div class=class1> 
                    <label for=name><span>Ваше имя</span><input id=name type=text name=name></label> 
                </div>
                <div class=class1> 
                    <label for=last-name> <span>Фамилия</span> <input id=last-name type=text name=lastname></label> 
                </div> 
            </div> 
            <div class=class_a>
                <div class=class1-l> 
                    <label for=mail> <span>Электронная почта</span> <input id=mail type=email name=login></label> 
                    <p class=p-att>Емайл это серьезно.</p> 
                </div> 
            </div> 
            <div class=class_a> 
                <div class=class1> 
                    <label for=pwd> <span>Пароль</span> <input id=pwd class=error type=password name=password></label> 
                </div>
                    <div class=class1-h> 
                <button class="card-redd red" onclick="singup();">Готово!</button> </div> 
            </div> 
        </form>-->
    
 
Если кто может помочь - буду очень признателен. А то я завис в манах.
deka6pb
Сообщения: 10
Зарегистрирован: 2014.04.01, 22:20

Re: ActiveForm begin — как собрать свою форму?

Сообщение deka6pb »

а что конкретно не работает?
Demon_id
Сообщения: 421
Зарегистрирован: 2011.10.29, 00:13

Re: ActiveForm begin — как собрать свою форму?

Сообщение Demon_id »

Код: Выделить всё

<?php
echo $form->field($model, 'name')->begin();
echo Html::activeLabel($model,'name');
echo Html::activeTextInput($model, 'name', ['class'=>'form-control', 'maxlength' => 255]);
echo Html::error($model,'name', ['class' => 'help-block']);
echo $form->field($model, 'name')->end();
?>
frmaxm
Сообщения: 193
Зарегистрирован: 2015.03.12, 22:16

Re: ActiveForm begin — как собрать свою форму?

Сообщение frmaxm »

Конкретно собираю, вот так

Пишу

Код: Выделить всё

<?php $form = ActiveForm::begin([
        'action' => '/site/singup',
        'enableClientValidation' => true,
        'enableAjaxValidation' => true,
            'id' => 'form-signup',
            'options' => ['class' => 'reg-from-popup'],
            'fieldConfig' => [
                'template' => '<div class="r-f-pp">{label}{input}</div>',
                'labelOptions' => [],
            ],
        ]); ?>
    
    <div class=r-f-b>
        <?= $form->field($model, 'username') ?>    
        <?= $form->field($model, 'lastname') ?>    
    </div>
    <div class=r-f-b>
        <?= $form->field($model, 'email') ?>
    </div>
    <div class=r-f-b>
        <?= $form->field($model, 'password')->passwordInput() ?>
    
        <?= Html::submitButton('Готово!', ['class' => 'card-button blue', 'name' => 'signup-button']) ?>
    </div>
        
    
        <?php ActiveForm::end(); ?>
Последний раз редактировалось frmaxm 2015.03.12, 23:29, всего редактировалось 1 раз.
frmaxm
Сообщения: 193
Зарегистрирован: 2015.03.12, 22:16

Re: ActiveForm begin — как собрать свою форму?

Сообщение frmaxm »

Но этой формой и не пахнет)

Код: Выделить всё

<form class=reg-from-popup action="javascript:void(null);"> 
            <div class=class_a> 
                <div class=class1> 
                    <label for=name><span>Ваше имя</span><input id=name type=text name=name></label> 
                </div>
                <div class=class1> 
                    <label for=last-name> <span>Фамилия</span> <input id=last-name type=text name=lastname></label> 
                </div> 
            </div> 
            <div class=class_a>
                <div class=class1-l> 
                    <label for=mail> <span>Электронная почта</span> <input id=mail type=email name=login></label> 
                    <p class=p-att>Емайл это серьезно.</p> 
                </div> 
            </div> 
            <div class=class_a> 
                <div class=class1> 
                    <label for=pwd> <span>Пароль</span> <input id=pwd class=error type=password name=password></label> 
                </div>
                    <div class=class1-h> 
                <button class="card-redd red" onclick="singup();">Готово!</button> </div> 
            </div> 
        </form>
Не пойму вообще как сделать вот эту связку

Код: Выделить всё

 <div class=class_a> 
                <div class=class1> 
                    <label for=name><span>Ваше имя</span><input id=name type=text name=name></label> 
                </div>
                <div class=class1> 
                    <label for=last-name> <span>Фамилия</span> <input id=last-name type=text name=lastname></label> 
                </div> 
            </div>
+ ко всему сейчас стал отсылать данные в контроллер приходит белеберда...
MWdzbDFpWUN2ARgfWgIVIhwgKhh6ASglclIgGgcKawleMiImYFs/dg==: ["SignupForm"]
form-signup: ["signup-button"]
undefined: 0
Когда была просто вьюха без попапа работало как надо %)
frmaxm
Сообщения: 193
Зарегистрирован: 2015.03.12, 22:16

Re: ActiveForm begin — как собрать свою форму?

Сообщение frmaxm »

Может я не ясно объясняю в чем проблема?
frmaxm
Сообщения: 193
Зарегистрирован: 2015.03.12, 22:16

Re: ActiveForm begin — как собрать свою форму?

Сообщение frmaxm »

В основном я хочу свой вид формы получить,
большую часть уже получилось написать...

не могу понять как в АктивФорм записать вот эту часть

Код: Выделить всё

<div class=class_a> 
                <div class=class1> 
                    <label for=name><span>Ваше имя</span><input id=name type=text name=name></label> 
                </div>
                <div class=class1> 
                    <label for=last-name> <span>Фамилия</span> <input id=last-name type=text name=lastname></label> 
                </div> 
            </div>
 
Ответить