Моя проблема была в том что кохана была 3.2, а сайт на 3.1. И все заработало. Я хотела изменить профиль, добавив изменение пароля, не получается, хотя логин, меил, имя меняет,если временно отключить паспорт. Не могли бы вы помочь.
public function action_profile() { if (isset($_POST['submit'])) { $users = ORM::factory('user');
try { $users->where('id', '=', $this->user->id) ->find() ->update_user($_POST, array( 'username', 'first_name', 'password', 'email', ));
$this->request->redirect('account/profile'); } catch (ORM_Validation_Exception $e) { $errors = $e->errors('auth'); } }
$content = View::factory('index/account/v_account_profile') ->bind('user', $this->user) ->bind('errors', $errors);
// Выводим в шаблон $this->template->title = 'Профиль'; $this->template->page_title = 'Профиль'; $this->template->block_center = array($content); }
<?=Form::open('account/profile')?> <table width="300" cellspacing="5"> <tr> <td ><?=Form::label('username', 'Логин')?>:</td> <td><?=Form::input('username', $user->username, array('size' => 30))?></td> </tr> <tr> <td ><?=Form::label('first_name', 'ФИО')?>:</td> <td><?=Form::input('first_name', $user->first_name, array('size' => 30))?></td> </tr> <tr> <td ><?=Form::label('email', 'Email')?>:</td> <td><?=Form::input('email', $user->email, array('size' => 30))?></td> </tr> <tr> <td valign="top" ><?//=Form::label('password', 'Пароль')?>:</td> <td><?=Form::password('password', $user->password, array('size' => 30))?></td> </tr> <tr> <td colspan="2" align="center"><?=Form::submit('submit', 'Сохранить')?></td> </tr> </table> <?=Form::close()?>
|