PDA

View Full Version : استفاده از کپچا در تمامی کنترلرها!



mohsen_31369
چهارشنبه 09 بهمن 1392, 15:33 عصر
با سلام خدمت همه دوستان
شاید شما خواسته باشید که از یک کپچا (captcha) که در یک کنترلر ایجاد کرده اید در مابقیه کنترلر ها نیز از آن استفاده نمایید و دوباره نیاز به ایجاد یک اکشن جدید در کنترلر نباشید.
در مدلتان در قسمت rules این کد را وارد نمایید


array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements(), 'captchaAction' => 'site/captcha'),

در قسمت view هم این کد را قرار دهید


<?php $this->widget('CCaptcha', array('captchaAction' => 'site/captcha')); ?>

همانطور که می بینید ، مقدار captchaAction را برابر site/captcha قرار دادیم که به طور پیش فرض اکشن کپچا در Yii می باشد. شما می توانید action دیگری به جای آن قرار دهید.

engmmrj
چهارشنبه 09 بهمن 1392, 20:35 عصر
با سلام خدمت همه دوستان
شاید شما خواسته باشید که از یک کپچا (captcha) که در یک کنترلر ایجاد کرده اید در مابقیه کنترلر ها نیز از آن استفاده نمایید و دوباره نیاز به ایجاد یک اکشن جدید در کنترلر نباشید.
در مدلتان در قسمت rules این کد را وارد نمایید


array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements(), 'captchaAction' => 'site/captcha'),

در قسمت view هم این کد را قرار دهید


<?php $this->widget('CCaptcha', array('captchaAction' => 'site/captcha')); ?>

همانطور که می بینید ، مقدار captchaAction را برابر site/captcha قرار دادیم که به طور پیش فرض اکشن کپچا در Yii می باشد. شما می توانید action دیگری به جای آن قرار دهید.
نمیشه به عنوان componet استفاده کرد ؟

mohsen_31369
شنبه 12 بهمن 1392, 09:12 صبح
منظورتون رو متوجه نمی شم ؟
شما می تونید هر نوع کامپوننت برای yii بنویسید و از طریق yii::app()->yourComponent بهش دسترسی داشته باشید.