2013-09-17 13:31:52 3289次浏览 4条回答 0 悬赏 1 金钱

我想实现类似DISCUZ那种,前台头部都有公用的用户登陆功能。

那么我想问,要在前台显示验证码,是不是在前台的每个Controller中都要写actions才行?

能不能所有页面共公UserController中的actions ?

  • 回答于 2013-09-18 15:01 举报

    不需要呀,你可以参考 blog下面的 contact 下面的方法。

    public function actions()
    {
        return array(
            // captcha action renders the CAPTCHA image displayed on the contact page
            'captcha'=>array(
                'class'=>'CCaptchaAction',
                'minLength'=>4,
                'maxLength'=>5,
                'backColor'=>0xFFFFFF,
            ),
            // page action renders "static" pages stored under 'protected/views/site/pages'
            // They can be accessed via: index.php?r=site/page&view=FileName
            'page'=>array(
                'class'=>'CViewAction',
            ),
        );
    }
    
  • 回答于 2013-09-23 15:47 举报

    你可以写到protected/components/Controller.php中,然后控制器都继承Controller

  • 回答于 2013-09-23 15:51 举报

    不需要呀,你可以参考 blog下面的 contact 下面的方法。

    public function actions()
    {
        return array(
            // captcha action renders the CAPTCHA image displayed on the contact page
            'captcha'=>array(
                'class'=>'CCaptchaAction',
                'minLength'=>4,
                'maxLength'=>5,
                'backColor'=>0xFFFFFF,
            ),
            // page action renders "static" pages stored under 'protected/views/site/pages'
            // They can be accessed via: index.php?r=site/page&view=FileName
            'page'=>array(
                'class'=>'CViewAction',
            ),
        );
    }
    

    将此代码附加在protected/components/Controller.php

  • 回答于 2013-09-23 16:13 举报

    直接在某个controller里比如site的actions里写captcha就可以了。。然后验证的地方出了写明是captcha验证方法外,额外传入一个属性captchaAction值为site/captcha

您需要登录后才可以回答。登录 | 立即注册
melody
助理

melody

注册时间:2013-03-27
最后登录:2014-10-05
在线时长:5小时36分
  • 粉丝1
  • 金钱69
  • 威望0
  • 积分119

热门问题