在Joomla中使用ReCaptcha和我的自定义表单

Duy*_*ran 3 forms joomla captcha

我正在尝试使用JFormFieldCaptcha来处理我的自定义jForm.我设法完成了注册和联系表格的工作.但是,我想构建自己的联系表单,它基于XML文件,看起来像这样:

<form>
    <fieldset addfieldpath="<path to JFormFieldCaptcha class>">
        <field 
             name="captcha" label="Captcha" description="COM_DEZTOUR_ORDER_CAPTCHA_DESC"
         type="text" validate="captcha"
        />
     </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么这段代码不起作用.任何帮助都会得到满足!

Irf*_*fan 9

为了使用Joomla ReCaptcha插件 -

1)从http://www.google.com/recaptcha获取重新获取密钥

2)将这些键设置为recaptcha插件,如果不是,则将其激活.

3)去 Global Configuration=>Site=>Default Captcha

并设定 "Default Captcha"=>"Captcha - ReCaptcha"

4)创建具有验证码字段的xml表单实例

$form   =& JForm::getInstance('myform','path/to/form/form.xml');
Run Code Online (Sandbox Code Playgroud)

5)在表格内创建字段 -

$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;             
Run Code Online (Sandbox Code Playgroud)

6)表格提交后验证表格 -

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

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>
Run Code Online (Sandbox Code Playgroud)

你也可以尝试这个 - 如何使用joomla recaptcha插件到我的自定义模块