Стилизация Recaptcha с использованием Zend PHP - PullRequest
4 голосов
/ 13 июля 2009

Я использую Zend_Service_ReCaptcha в проекте и хочу настроить цветовую схему блока, однако я совершенно не знаю, какую функцию использовать для достижения этой цели. http://framework.zend.com/manual/en/zend.form.standardElements.html#zend.form.standardElements.captcha, кажется, не проливает свет.

Ответы приветствуются, спасибо.

Ответы [ 3 ]

8 голосов
/ 14 июля 2009

Установка этих параметров с помощью параметров элемента формы не будет работать! Эти опции (« theme » и « lang ») должны быть переданы в сервис вместо этого!

Вот Zend_Service_ReCaptcha конструктор:

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

Использование:

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

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

В противном случае, если вы хотите использовать элементы формы, вы должны сначала получить объект службы. Попробуйте что-то вроде этого:

$options = array('theme' => 'white', 'lang' => 'ru');
$form->getElement('captcha')->getCaptcha()->getService()->setOptions($options);
3 голосов
/ 14 июля 2009

Вам необходимо передать параметр темы через параметры капчи элементу формы:

Что-то вроде:

$element = new Zend_Form_Element_Captcha('foo', array(
    'label' => "Please verify you're a human",
    'captcha' => array(
        'captcha' => 'Recaptcha',
        'timeout' => 300,
        'theme'   => 'red'
    ),
));
0 голосов
/ 29 июля 2009

Вы получаете открытый и закрытый ключи при регистрации на http://recaptcha.net/ и задаете их в форме следующим образом: $ recaptcha_service = new Zend_Service_ReCaptcha ($ public, $ private);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...