Yii CAPTCHA-URL ist ungültig
Ich möchte ein AJAX-Registrierungsformular für mein Yii-Projekt erstellen. Ich habe also auf jeder Seite einen Login-Button, der ein Popup anzeigt, wenn der Benutzer nicht berechtigt ist. In diesem Popup sieht er das Registrierungsformular mit E-Mail-Feld, Passwortfeld und CAPTCHA (Standard Yii Captcha).
Mein Modell für die Benutzerregistrierung ist also "Benutzer". Es gibt eine Validierungsregel:
array('code', 'captcha', 'allowEmpty'=>!Yii::app()->user->isGuest),
Mein Controller, auf dem alle Benutzeraktionen ausgeführt werden, ist User (url: site.url / user /), und ich habe dort die Captcha-Aktion hinzugefügt:
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
'foreColor'=>0x000000,
),
In meinem nächsten Code:
$this->widget('CCaptcha', array(
'clickableImage' => true,
'showRefreshButton' => false,
))
Und hier ist ein Problem :( In einem Popup, das auf jeder Seite angezeigt werden kann (Indexseite zum Beispiel, die zum Hauptcontroller gehört), möchte Captcha ein Bild von diesem Controller laden (von / main / captcha, nicht von / user) / captcha).
Das Hinzufügen von Captcha in jedem Controller ist eine schlechte Idee, deshalb habe ich hinzugefügt
'captchaAction' => '/user/captcha',
Aber danach will captcha von einer url laden
http://site.loc/user/captcha/v/4fe99aca1bbed
Das Captcha der benutzerfreundlichen URL ist abgestürzt und ich kann es nicht vermeiden (da ich kein Yii-Experte bin, liegt es an der allgemeinen Pfadkonfiguration).
Gibt es eine einfache Lösung dafür? Sollte ich URLs reparieren oder CAPTCHA neu konfigurieren?