همانطور که می دانید به صورت پیش فرض امکان فعالسازی کد امنیتی (Captcha) در صفحه ورود جوملا نمی باشد. به همین دلیل برای فعالسازی آن می بایست کدهایی را در قالب پیشفرض بنویسیم.

 در ابتدا تنظیمات مربوط به فعالسازی کد امنیتی را در بسته نصبی تان انجام دهید. (فعالسازی پلاگین، تنظیم کد امنیتی پیش فرض و ... )

سپس می بایست صفحه ورود ( یو login کامپوننت کاربران جوملا) را در قالب پیشفرض تان override نمایید.

در فایل default_login.php قبل از دکمه ثبت تکه کد زیر را وارد نمایید.

<div class="control-group">
	<div class="controls">
		<?php
		$newrecaptcha = false;
		JPluginHelper::importPlugin('captcha');
		$dispatcher = JDispatcher::getInstance();
		$dispatcher->trigger('onInit', array('dynamic_recaptcha_1'));
		$res = $dispatcher->trigger('onDisplay', array(null, 'dynamic_recaptcha_1', 'class="required"'));
		echo isset($res[0]) ? $res[0] : '';
		?>
	</div>
</div>

 

در مرحله آخر نیز در فایل اصلی قالب (index.php) بین تگ <head></head> اسکریپت زیر را قرار دهید.

<script>
	jQuery(document).ready(function() {
		jQuery('#dynamic_recaptcha_1').attr('data-callback', 'recaptchaValidated');
		jQuery('form[name="ulogin"]').on('submit', function() {
			if (!HAS_CAPTCHA) {
				alert('لطفا عبارت امنيتي را تاييد نماييد');
			}else {
				recaptchaValidated();
				return;
			}
			return HAS_CAPTCHA;
		});
	});
	var HAS_CAPTCHA = false;
	function recaptchaValidated() {
		HAS_CAPTCHA = true;
	}
</script>	

 

امیدواریم این آموزش مفید واقع شود

 تیم آموزشی جومینا مارکت/