Форма «Свяжитесь с нами»

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

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

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

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

Re: Форма «Свяжитесь с нами»

Сообщение Xpycm » 01 май 2013, 20:33

Абсолютно не за что. Обращайтесь
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Форма «Свяжитесь с нами»

Сообщение beeger » 06 сен 2013, 10:48

Xpycm писал(а):
Мало добавить "class" => "fancy".
Также обязательно наличие в контроллере примерно такого кода:

Код: Выделить всё
$isFancy = Yii::app()->request->getParam('isFancy');
if(
$isFancy){
    Yii::app()->clientscript->scriptMap['jquery.js'] = false;
    Yii::app()->clientscript->scriptMap['jquery.min.js'] = false;
    Yii::app()->clientscript->scriptMap['jquery-ui.min.js'] = false;

    $this->renderPartial('view', array(), false, true);
}
else{
    $this->render('view');
}
 



Доброго дня! Пожалуйста, подсткажите как правильно вставить этот код в SiteController.php? Куда не ставлю, либо ошибка (cannot be loaded), либо всю страницу сайта во всплывающем окне выводит. Спасибо!
beeger
Незнакомец
 
Сообщения: 2
Зарегистрирован: 06 сен 2013, 10:19
Очки репутации: 0

Re: Форма «Свяжитесь с нами»

Сообщение Foton » 06 сен 2013, 10:59

Покажите как вы это делаете, чтобы мы могли вам помочь.
Foton
Разработчик
Разработчик
 
Сообщения: 431
Зарегистрирован: 26 янв 2012, 14:58
Очки репутации: 8

Re: Форма «Свяжитесь с нами»

Сообщение beeger » 06 сен 2013, 11:20

добавил в Controller.php
Код: Выделить всё
array(
                'label' => tt('Login', 'common'), 
                
'url' => array('/site/login'),
                'visible' => Yii::app()->user->getState('isAdmin') === null && Yii::app()->user->isGuest,
                'linkOptions' => array('class' => 'sub_menu_login fancy'),
            ),  
,
а дальше добавляю
Код: Выделить всё
$isFancy = Yii::app()->request->getParam('isFancy');
if(
$isFancy){
    Yii::app()->clientscript->scriptMap['jquery.js'] = false;
    Yii::app()->clientscript->scriptMap['jquery.min.js'] = false;
    Yii::app()->clientscript->scriptMap['jquery-ui.min.js'] = false;

    $this->renderPartial('view', array(), false, true);
}
else{
    $this->render('view');
}
 

в SiteController.php, куда конкретно ставить не знаю( по этому методом тыка ставил поле
Код: Выделить всё
public function actionLogin() { 
, но безрезультатно. Спасибо за ответ!
beeger
Незнакомец
 
Сообщения: 2
Зарегистрирован: 06 сен 2013, 10:19
Очки репутации: 0

Re: Форма «Свяжитесь с нами»

Сообщение Xpycm » 06 сен 2013, 19:43

То, что Вы заменили даже отдалённо не похоже на ответы, что на первой странице
viewtopic.php?f=17&t=383#p1972
и
viewtopic.php?f=17&t=383#p2008

Если сами не можете разобраться по ответам с форума - обратитесь к нам и мы сделаем за доп.плату
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Форма «Свяжитесь с нами»

Сообщение defender » 09 сен 2013, 08:52

Сделал всё по выше описанной инструкции, окно открывается нормаль, но вот если данные введены не верно, или просто нажать на «вход» без заполнения данных, то выбрасывает на такую страницу:
http://prntscr.com/1q84ty
defender
Незнакомец
 
Сообщения: 3
Зарегистрирован: 09 сен 2013, 05:15
Очки репутации: 0

Re: Форма «Свяжитесь с нами»

Сообщение fisher » 09 сен 2013, 12:02

Здравствуйте.

Проблема лишь в том, что в урле присутствует параметр isFancy, равный true.
В коде метода actionLogin, файла SiteController.php находится проверка, на данный параметр. И если он "true", то вызывается метод renderPartial(), если его нет, то render();
Вам нужно, если есть параметр isFancy добавить action к форме: Yii::app()->createUrl('site/login');
Чтобы при отправке формы в урле не было isFancy и отработал метод render(), который и подгрузит все стили и js.

Собственно, всё.
Если не получится, то обращайтесь к нам. Мы сделаем за Вас, но за символическую плату.
fisher
Разработчик
Разработчик
 
Сообщения: 285
Зарегистрирован: 15 апр 2013, 09:25
Очки репутации: 8

Re: Форма «Свяжитесь с нами»

Сообщение Mono » 10 окт 2013, 06:05

А как прописать клас fancy для ссылок Регистрация и Напомнить пароль?

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

Re: Форма «Свяжитесь с нами»

Сообщение Koduc » 10 окт 2013, 12:04

Mono писал(а):А как прописать клас fancy для ссылок Регистрация и Напомнить пароль?

Файл protected/views/site/login.php
Строку
Код: Выделить всё
<?php if(param('useUserads')): ?> <?php echo CHtml::link(tt("Join now"), 'register'); ?> | <?php endif; ?> <?php echo CHtml::link(tt("Forgot password?"), 'recover'); ?>

заменить на
Код: Выделить всё
<?php if(param('useUserads')): ?> <?php echo CHtml::link(tt("Join now"), 'register', array('class' => 'fancy')); ?> | <?php endif; ?> <?php echo CHtml::link(tt("Forgot password?"), 'recover', array('class' => 'fancy')); ?>

Затем в файле /protected/controllers/SiteController.php заменить
$this->render('login', array('model' => $model));
на
Код: Выделить всё

        if
(Yii::app()->request->getQuery('isFancy')){
            $this->excludeJs();
            $this->renderPartial('login', array(
            'model' => $model
            
), false, true);
        } else {
            $this->render('login', array('model' => $model));
        }
 

Аналогично проделать для строки $this->render('recover', array('model' => $modelRecover));

Mono писал(а):И второй вопрос, где прописать клас fancy для окна логина, того которое открывается при нажатии на Добавить объявление незалогиненым пользователем?

В файле /protected/components/Controller.php замените
Код: Выделить всё
            array(
                'label' => tt('Add ad', 'common'),
                'url' => array('/userads/main/create'),
                'visible' => param('useUserads', 0) == 1
            
), 

на
Код: Выделить всё
            array(
                'label' => tt('Add ad', 'common'),
                'url' => array('/userads/main/create'),
                'visible' => param('useUserads', 0) == 1 && !Yii::app()->user->isGuest
            
),
            array(
                'label' => tt('Add ad', 'common'),
                'url' => array('/site/login'),
                'linkOptions' => array('class' => 'fancy'),
                'visible' => param('useUserads', 0) == 1 && Yii::app()->user->isGuest
            
), 
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20

Re: Форма «Свяжитесь с нами»

Сообщение Mono » 10 окт 2013, 17:18

Спасибо. Работает)

Только небольшая проблема, при нажатии на ссылки Регистрация и Напомнить пароль с обычной страницы все Ок, открывается всплывающее окно. А если нажимать на них из всплывающего окна логина, то по ним открываются обычные страницы. Ну то есть из всплывающего окна не открывается другое всплывающе окно.
Mono
Гражданин
Гражданин
 
Сообщения: 155
Зарегистрирован: 14 сен 2013, 02:29
Очки репутации: 0

Пред.След.

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

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

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

cron