2009-07-13 5 views

Répondre

3

Vous devez passer l'option thème par le captcha options à l'élément de forme:

Quelque chose comme:

$element = new Zend_Form_Element_Captcha('foo', array(
    'label' => "Please verify you're a human", 
    'captcha' => array(
     'captcha' => 'Recaptcha', 
     'timeout' => 300, 
     'theme' => 'red' 
    ), 
)); 
+0

Bonjour David le script n'est pas complet de cette façon. Vous devez ajouter les paramètres de clé privée et publique. Cordialement – Michelangelo

8

Réglage via cette option params élément de formulaire ne fonctionnera pas! Ces options ("theme" et "lang") devraient être passées au service à la place!

est ici Zend_Service_ReCaptcha constructeur:

public function __construct($publicKey = null, $privateKey = null, 
           $params = null, $options = null, $ip = null) 
{ 
… 

Utilisation:

$options = array('theme' => 'white', 'lang' => 'ru'); 
$recaptcha = new Zend_Service_ReCaptcha($publicKey, $privateKey, null, $options); 

$this->view->recaptcha = $recaptcha->getHtml(); 

Sinon, si vous wanna des éléments de forme d'utilisation, vous devriez obtenir premier objet de service. Essayez quelque chose comme ça:

$options = array('theme' => 'white', 'lang' => 'ru'); 
$form->getElement('captcha')->getCaptcha()->getService()->setOptions($options); 
0

Vous obtenez les clés publiques et privées lors de votre inscription à http://recaptcha.net/ et les mettre dans votre formulaire comme suit $ recaptcha_service = new Zend_Service_ReCaptcha ($ publique, $ privé);