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?

Ответы на вопрос(1)

Ваш ответ на вопрос