[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация YII
lodas
Здравствуйте уважаемые форумчане. Объясню суть моей проблемы:
В themes->...->layoys->main.php у меня есть блок аутентификации. Как работает стандартная аутентификации я понял. Но как это скрепить с моим блоком в main.php?

1) У меня есть обычная модель таблицы Active Record со всеми полями, нужно отдельно создать модель этой же таблицы с типом CFormModel?

2)Как мне потом рендером передать модель в themes/nazv_themi/layouts/main.php.
КОД: ВЫДЕЛИТЬ ВСЁ
$this->render('themes/nazv_themi/layouts/main.php',array('model'=>$model,));


Так путь до main.php не получается прописать, как можно по другому?
AlmazDelDiablo
1. Нет, новую модель создавать не надо. ActiveRecord самодостаточен.
2. Блок авторизации сделайте с помощью виджета, для него выделите собственное представление и уже там рендерьте форму.

_____________
Блог | VK | GitHub | Twitch
lodas
AlmazDelDiablo, подскажите пожалуйста как можно сделать этот блок авторизации с помощью виджета?

<form action="prise.html" method="зщые">
<p
class="legen">Логин</p>
<input
type="text" class="search_query_top" name="login" value="Введите логин" />
<p
class="legen">Пароль</p>
<input
type="password" class="search_query_top" name="pass" value="Введите пароль"/></label>
<p
class="legen2"><a href="">Забыли пароль?</a>|<a href="">Регистрация</a></p>
<input
type="submit" class="button_order_cart" value="" title="Войти"/>
</form>
AlmazDelDiablo
Вот тут довольно подробно расписано, как делаются виджеты: http://www.simplecoding.org/yii-php-framew...m-vidzhety.html

И еще. При создании формы с помощью модели, поля всё же лучше создавать через CHtml::active*, а названия полей указывать в самой модели, в attributeLabels() и выводить в шаблон через CHtml::activeLabel().
Пример:
<p><?php echo CHtml::activeLabel($model, 'name'); ?></p>
<?php echo CHtml::activeTextField($model, 'name', array('class' => 'search_query_top')); ?>


_____________
Блог | VK | GitHub | Twitch
lodas
Спасибо, попробую разобраться.
Цитата
И еще. При создании формы с помощью модели, поля всё же лучше создавать через CHtml::active*, а названия полей указывать в самой модели, в attributeLabels() и выводить в шаблон через CHtml::activeLabel().


Вы имели в виду что поля в виджете лучше прописывать с помощью хелперов CHtml::*?
Michael
Цитата (lodas)
Вы имели в виду что поля в виджете лучше прописывать с помощью хелперов CHtml::*?

естественно.
А поля модели с помощью методов active, оно сформирует верный хтмл, который при сабмите можно присваивать атрибудам модели и вперед на валидацию.

_____________
There never was a struggle in the soul of a good man that was not hard
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.