2012-10-15 34 views
2

我试图使用JFormFieldCaptcha来处理我的自定义jForm。我设法通过注册和联系表格完成工作。但是我想建立一种基于XML文件我自己接触的形式在某种程度上是这样的:在Joomla中使用ReCaptcha与我的自定义表单

<form> 
    <fieldset addfieldpath="<path to JFormFieldCaptcha class>"> 
     <field 
      name="captcha" label="Captcha" description="COM_DEZTOUR_ORDER_CAPTCHA_DESC" 
     type="text" validate="captcha" 
     /> 
    </fieldset> 
</form> 

我想不通为什么这个代码不工作。任何帮助将appriciated!

+1

有可能是为什么这是不工作的原因的Joomla绝对负荷是正确的命名巨大敏感。我可以给出的最佳建议是调试并找到$ data->表单。在表单加载之前查找一个位置,以查看表单字段的提取位置。应该找到那里的错误(或者至少提供给我们更多的信息) –

回答

6

为了使用的Joomla的reCAPTCHA插件 -

1)从http://www.google.com/recaptcha

2)设置这些键的reCAPTCHA插件获取验证码密钥并激活它,如果它不是。

3)进入Global Configuration=>Site=>Default Captcha

,并设置"Default Captcha"=>"Captcha - ReCaptcha"

4)创建其中有您的验证码现场

$form =& JForm::getInstance('myform','path/to/form/form.xml'); 

5 XML表单实例)内创建域形式 -

$fieldSets = $form->getFieldsets(); 
foreach ($fieldSets as $name => $fieldSet) : 
?>   
    <?php 
    foreach ($form->getFieldset($name) as $field): 
    ?> 
     <p> 
     <?php if (!$field->hidden) : ?> 
     <span class="formlabel"><?php echo $field->label; ?></span> 
     <?php endif; ?> 
     <span class="control"><?php echo $field->input; ?></span> 
     </p> 
    <?php 
    endforeach; 
    ?>   
    <div class="clr"></div> 
<?php 
endforeach;    

6)表单提交验证表格后

$post = JRequest::get('post'); 
jimport('joomla.form.form'); 
$form =& JForm::getInstance('myform','path/to/form/form.xml'); 
$res = $form->validate($post); 

XML格式示例 -

<?xml version="1.0" encoding="utf-8"?> 
<form 
    addfieldpath="/administrator/components/com_franchise/models/fields"> 
    <fieldset name="information">   
     <field id="name" 
      name="name" 
      type="text" 
      label="Name" 
      description="" 
      class="inputbox" 
      size="30" 
      default="" 
      required="true" 
     /> 

     <field 
      name="captcha" 
      type="captcha" 
      label="COM_CONTACT_CAPTCHA_LABEL" 
      description="COM_CONTACT_CAPTCHA_DESC" 
      validate="captcha" 

     /> 

    </fieldset> 
</form> 

您也可以尝试这个 - How to use joomla recaptcha plugin to my custom Module

相关问题