2012-10-15 64 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

相關問題