#css #yii #recaptcha
#css #yii #recaptcha
Вопрос:
В настоящее время я использую это расширение в своем проекте Yii http://www.yiiframework.com/extension/recaptcha /
он работает нормально. но с тех пор я хочу сделать свой сайт более отзывчивым. я внес некоторые изменения в код, и он перестал работать.
это моя предыдущая настройка, которая работала нормально
/*<![CDATA[*/
var RecaptchaOptions = {
theme : 'white',
lang : 'en',
tabindex : 0
};
/*]]>*/
это мои текущие настройки
/*<![CDATA[*/
var RecaptchaOptions = {
theme : 'custom',
custom_theme_widget : 'responsive_recaptcha',
lang : 'en',
tabindex : 0
};
/*]]>*/
ниже мой CSS
*,
*:after,
*:before {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
#responsive_recaptcha {
background-color: #b71800;
padding: 0.5em;
border-radius: 1em;
position: relative;
overflow: auto;
max-width: 480px;
font: 0.75em/1em "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #ffffff;
}
#responsive_recaptcha a {
color: #ffffff;
text-decoration: none;
}
#responsive_recaptcha img,
#responsive_recaptcha #recaptcha_image {
width: 100% !important;
height: auto !important;
-webkit-border-radius: 0.5em;
-moz-border-radius: 0.5em;
border-radius: 0.5em;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
}
#responsive_recaptcha .solution {
margin-top: 0.5em;
padding: 0.5em;
padding-top: 1em;
-webkit-border-radius: 0.5em;
-moz-border-radius: 0.5em;
border-radius: 0.5em;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
background-color: #fbe098;
color: #000000;
display: block;
}
#responsive_recaptcha .solution input {
display: block;
width: 100%;
margin: 0.5em auto;
-webkit-appereance: none;
border: 1px solid #f7c236;
font: inherit;
font-size: 150%;
outline: none;
}
#responsive_recaptcha .solution input:focus {
border-color: #b71800;
}
#responsive_recaptcha .options {
margin-top: 0.5em;
-webkit-border-radius: 0.5em;
-moz-border-radius: 0.5em;
border-radius: 0.5em;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
}
#responsive_recaptcha .options a {
background-color: #c5523d;
display: block;
padding: 0.5em;
border-top: 1px solid #000000;
border-left: 1px solid #000000;
border-right: 1px solid #000000;
}
#responsive_recaptcha .options a:first-child {
border-radius: 0.5em 0.5em 0 0;
}
#responsive_recaptcha .options a:last-child {
border-radius: 0 0 0.5em 0.5em;
border-bottom: 1px solid #000000;
}
@media screen and (min-width: 480px) {
#responsive_recaptcha .solution {
float: left;
width: 66%;
margin-top: 0.5em;
padding: 1em;
}
#responsive_recaptcha .solution input {
margin: 0.35em auto;
width: 90%;
}
#responsive_recaptcha .options {
float: right;
width: 34%;
padding-left: 0.5em;
}
}
когда я использую свою пользовательскую тему, больше ничего не отображается. Есть идеи, чего мне не хватает?
Ответ №1:
я просто делал это пару месяцев назад. вот мое решение
откройте свою extensions/recaptcha/EReCaptcha.php
и измените run()
функцию на эту
/**
* Renders the widget.
*/
public function run()
{
$body = '';
if ($this->hasModel()) {
$body = CHtml::activeHiddenField($this->model, $this->attribute) . "n";
}
/*
* Added the HTML below to support our custom responsive theme!!
*/
echo $body . '<div id="responsive_recaptcha" style="display:none">
<div id="recaptcha_image"></div>
<div class="recaptcha_only_if_incorrect_sol" style="color:red">Incorrect please try again</div>
<label class="solution">
<span class="recaptcha_only_if_image">Type the two words:</span>
<span class="recaptcha_only_if_audio">Enter the numbers you hear:</span>
<input type="text" id="recaptcha_response_field" name="recaptcha_response_field" />
</label>
<div class="options">
<a href="javascript:Recaptcha.reload()" id="icon-reload">Get another CAPTCHA</a>
<a class="recaptcha_only_if_image" href="javascript:Recaptcha.switch_type('audio')" id="icon-audio">Get an audio CAPTCHA</a>
<a class="recaptcha_only_if_audio" href="javascript:Recaptcha.switch_type('image')" id="icon-image">Get an image CAPTCHA</a>
<a href="javascript:Recaptcha.showhelp()" id="icon-help">Help</a>
</div>
</div>'.
recaptcha_get_html($this->publicKey,
null,
($this->useSsl ? true : Yii::app()->request->isSecureConnection));
}
это должно сработать 🙂