Авторизация в модальном окне

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

Авторизация в модальном окне

Сообщение benny » 02 ноя 2013, 23:19

Добрый день! Знания пхп у меня ноль заранее извиняюсь за тупизну.

Хотел вход сделать в модальном окне, делал следующее: в main.php добавлял код модального окна и в него вставлял код формы из login.php , а в controller.php ставил ссылку на открывание окна для кнопки авторизации. Получается в результате при нажатии на авторизацию окно работает, но самой формы внутри нету только
Код: Выделить всё
    <p class="note"><?php echo Yii::t('common''Fields with <span class="required">*</span> are required.'); ?></p>
эта строчка срабатывает, а полей формы нету, чтобы она заработала подозреваю надо как то в main.php подключить ее? Либо вообще я делаю все неверно? и форма логин пхп должна быть всегда там где она по дефолту, а подключать на main.php надо через запрос какой то? Побывал сам уже туда сюда все копировал результат ноль.
Не думай, а пробуй!
Аватара пользователя
benny
Незнакомец
 
Сообщения: 21
Зарегистрирован: 26 окт 2013, 11:55
Очки репутации: 0

Re: Авторизация в модальном окне

Сообщение Mono » 02 ноя 2013, 23:47

все гораздо проще. надо ссылке домен/site/login присвоить класс fancy
Mono
Гражданин
Гражданин
 
Сообщения: 155
Зарегистрирован: 14 сен 2013, 02:29
Очки репутации: 0

Re: Авторизация в модальном окне

Сообщение benny » 03 ноя 2013, 08:43

Пытаюсь сделать это все для кнопки - добавить объявление, чтобы открывался вход в модальном окне. Уже запутался подскажите куда класс fancy внедрять?
Я делаю так в controller.php добавил его внизу, но в модальном окне всплывает The requested content cannot be loaded. Please try again later.
Код: Выделить всё
        $this->aData['userCpanelItems'] = array(
            array(
                'label' => tt('Add ad', 'common'),
                'url' => array('/userads/main/create'),
                'visible' => param('useUserads', 0) == 1,
                'linkOptions' => array('class' => 'fancy'),
            ), 
Последний раз редактировалось benny 03 ноя 2013, 09:02, всего редактировалось 2 раз(а).
Не думай, а пробуй!
Аватара пользователя
benny
Незнакомец
 
Сообщения: 21
Зарегистрирован: 26 окт 2013, 11:55
Очки репутации: 0

Re: Авторизация в модальном окне

Сообщение Cornil » 03 ноя 2013, 08:53

Предполагаю, что проблема в другом.
При переходе на/userads/main/create движок делает редирект 302 либо на форму авторизации, либо на форму подачи объявления. Поэтому содержимое и не грузится. А так все правильно выглядит...
Cornil
Гражданин
Гражданин
 
Сообщения: 77
Зарегистрирован: 18 фев 2013, 22:08
Очки репутации: 14

Re: Авторизация в модальном окне

Сообщение Mono » 03 ноя 2013, 11:50

мой кусок из controller.php
Код: Выделить всё
array(
                'label' => tt('Add ad', 'common'),
                'url' => array('/site/login'),
                'itemOptions'=>array('id' => 'add_ad'),
                'linkOptions' => array('class' => 'fancy'),
                'visible' => param('useUserads', 0) == 1 && Yii::app()->user->isGuest
            
), 
            array
(
                'label' => Yii::t('common', 'Control panel'),
                'url' => $baseUrl . '/userads/main/index', 'active' => (isActive('userads')||isActive('apartments.create')),
                'visible' => Yii::app()->user->getState('isAdmin') === null && !Yii::app()->user->isGuest,
            ),
            
            array
('visible' => Yii::app()->user->getState('isAdmin') === null && Yii::app()->user->isGuest),
            array(
                'label' => tt('Login', 'common'), 
                
'url' => array('/site/login'),
                'visible' => Yii::app()->user->getState('isAdmin') === null && Yii::app()->user->isGuest,
                'linkOptions' => array('class' => 'fancy'), 


и в /protected/views/site/login.php
сделать так, чтобы в модальное окно не лезли скрипты с основной страницы.
Код: Выделить всё
 'id'=>'login-form',
    'enableClientValidation'=>false,
    'action' => '/site/login',  


как это работает можно глянуть тут http://nekretnine-srbija.net/ ( правда я еще css правил для окон)
Mono
Гражданин
Гражданин
 
Сообщения: 155
Зарегистрирован: 14 сен 2013, 02:29
Очки репутации: 0

Re: Авторизация в модальном окне

Сообщение benny » 03 ноя 2013, 15:10

Только не получилось закрыть ненужный код в файле login.php

Mono писал(а):и в /protected/views/site/login.php
сделать так, чтобы в модальное окно не лезли скрипты с основной страницы.
Код: Выделить всё
 'id'=>'login-form',
    'enableClientValidation'=>false,
    'action' => '/site/login',  




Мой дефолтынй login.php
Код: Выделить всё
<?php
$this
->pageTitle=Yii::app()->name . ' - '.Yii::t('common','Login');
$this->breadcrumbs=array(
    Yii::t('common','Login') 
);
?>

<h1><?php echo Yii::t('common', 'Login'); ?></h1>

<?php
if(demo()){
?>
    <p><a href="#" onclick="demoLogin(); return false;"><?php echo tc('Log in as user'); ?></a> <?php echo tc('or'); ?> <a href="#" onclick="adminLogin(); return false;"><?php echo tc('log in as administrator'); ?></a>.</p>
<?php
}
?>
<p><?php echo Yii::t('common', 'Already used our services? Please fill out the following form with your login credentials'); ?>:</p>

<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'login-form',
    'enableClientValidation'=>false,
    /*'clientOptions'=>array(
        'validateOnSubmit'=>true,
    ),*/


)); ?>

    <p class="note"><?php echo Yii::t('common', 'Fields with <span class="required">*</span> are required.'); ?></p>

    <div class="row">
        <?php echo $form->labelEx($model,'username'); ?>
        <?php echo $form->textField($model,'username'); ?>
        <?php echo $form->error($model,'username'); ?>
    </div>

    <div class="row">
        <?php echo $form->labelEx($model,'password'); ?>
        <?php echo $form->passwordField($model,'password'); ?>
        <?php echo $form->error($model,'password'); ?>
    </div>

    <div class="row rememberMe">
        <?php echo $form->checkBox($model,'rememberMe'); ?>
        <?php echo $form->label($model,'rememberMe'); ?>
        <?php echo $form->error($model,'rememberMe'); ?>
    </div>

    <div class="row">
        <?php if(param('useUserads')): ?> <?php echo CHtml::link(tt("Join now"), 'register'); ?> | <?php endif; ?> <?php echo CHtml::link(tt("Forgot password?"), 'recover'); ?>
    </div>

    <div class="row buttons">
        <?php echo CHtml::submitButton(Yii::t('common', 'Login')); ?>
    </div>

<?php $this->endWidget(); ?>
</div><!-- form -->

<?php $this->widget('ext.eauth.EAuthWidget', array('action' => 'site/login')); ?>

<?php

if(demo()){
    Yii::app()->clientScript->registerScript('login-js', '
        function demoLogin(){
            login("demore@monoray.net", "demo");
        }

        function adminLogin(){
            login("adminre@monoray.net", "admin");
        }

        function login(username, password){
            $("#LoginForm_username").val(username);
            $("#LoginForm_password").val(password);
            $("#login-form").submit();
        }
    '
, CClientScript::POS_END);
}
Не думай, а пробуй!
Аватара пользователя
benny
Незнакомец
 
Сообщения: 21
Зарегистрирован: 26 окт 2013, 11:55
Очки репутации: 0

Re: Авторизация в модальном окне

Сообщение Mono » 03 ноя 2013, 16:59

ну вот же оно, 22 строка

Код: Выделить всё
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form',
    'enableClientValidation'=>false,
 


после этого надо добавить
Код: Выделить всё
'action' => '/site/login', 
Последний раз редактировалось Mono 03 ноя 2013, 17:06, всего редактировалось 2 раз(а).
Mono
Гражданин
Гражданин
 
Сообщения: 155
Зарегистрирован: 14 сен 2013, 02:29
Очки репутации: 0

Re: Авторизация в модальном окне

Сообщение benny » 03 ноя 2013, 17:04

в том все и дело, что не совсем уж дурак)) побывал пишет старое сообщение
The requested content cannot be loaded. Please try again later.
А нет щас принципе не убирает лишнее( а как то побывал по другому делать строчка выпадала cannot be loaded
Последний раз редактировалось benny 03 ноя 2013, 17:07, всего редактировалось 1 раз.
Не думай, а пробуй!
Аватара пользователя
benny
Незнакомец
 
Сообщения: 21
Зарегистрирован: 26 окт 2013, 11:55
Очки репутации: 0

Re: Авторизация в модальном окне

Сообщение Mono » 03 ноя 2013, 17:07

PS. Ошибся немного, эта правка для того чтобы в случае ошибочного ввода открывалась нормальная страница со стилями.

а для того чтобы скрипты не лезли надо править соответсвующий контроллер.
как сделать описано тут - viewtopic.php?f=17&t=383&hilit=fancy
Mono
Гражданин
Гражданин
 
Сообщения: 155
Зарегистрирован: 14 сен 2013, 02:29
Очки репутации: 0

Re: Авторизация в модальном окне

Сообщение benny » 03 ноя 2013, 18:24

Mono благодарю за помощь! от и до! К сожалению не плюсика, не в репутацию добавить ничего не могу. Но могу немного помочь в качества благодарности с графическими элементами для вашего сайта. :-)
Не думай, а пробуй!
Аватара пользователя
benny
Незнакомец
 
Сообщения: 21
Зарегистрирован: 26 окт 2013, 11:55
Очки репутации: 0


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

cron