Yii CAPTCHA url не работает
Я хочу создать регистрационную форму AJAX на моем Yii-проекте. Поэтому на каждой странице у меня есть кнопка входа в систему, которая показывает всплывающее окно, если пользователь не авторизован. В этом всплывающем окне он может видеть регистрационную форму с полем электронной почты, паролем и CAPTCHA (по умолчанию Yii captcha).
Итак, моя модель для регистрации пользователя - это Пользователь. Существует правило проверки:
array('code', 'captcha', 'allowEmpty'=>!Yii::app()->user->isGuest),
Мой контроллер, где все пользовательские действия, это Пользователь (url: site.url / user /), и я добавил туда действие captcha:
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
'foreColor'=>0x000000,
),
В моем следующем коде:
$this->widget('CCaptcha', array(
'clickableImage' => true,
'showRefreshButton' => false,
))
И вот проблема :( Находясь внутри всплывающего окна, которое может отображаться на каждой странице (например, индексная страница, которая принадлежит главному контроллеру), captcha хочет загрузить изображение с этого контроллера (из / main / captcha, а не / user / CAPTCHA,).
Добавление капчи в каждый контроллер - плохая идея, поэтому я добавил
'captchaAction' => '/user/captcha',
Но после этого капча хочет загрузить с URL
http://site.loc/user/captcha/v/4fe99aca1bbed
Сбойная капча удобного для пользователя URL, и я не могу этого избежать (как я думаю, не будучи экспертом по yii, это из-за общей конфигурации пути).
Есть ли простое решение, чтобы решить эту проблему? Должен ли я восстановить URL-адреса или перенастроить CAPTCHA?