性感的农民

性感的农民

有个性,不签名

  • 财富值7680
  • 威望值285
  • 总积分11410

个人信息

  • 试试将Response::FORMAT_JSON换成'json',如果OK的话,说明CommonController没有这条语句:use yii\web\Response;

  • 2015-05-25 已签到
    连续签到15天,获得了20个金钱
  • 赞了说说
    😄 现在说说已经支持表情了!
  • 不建议对入口文件index.php的修改,推荐的方法是在配置文件中(比如frontend/config/main.php)用behavior配置:

    return [
        'id' => 'app-frontend',
        'basePath' => dirname(__DIR__),
        'bootstrap' => ['log'],
        'controllerNamespace' => 'frontend\controllers',
        // behavior
        'on beforeRequest' => function ($event) {
            $l_saved = null;
            if (true){
                # use cookie to store language
                $l_saved = Yii::$app->request->cookies->get('locale');
            }else{
                # use session to store language
                $l_saved = Yii::$app->session['locale'];
            }
            $l = ($l_saved)?$l_saved:'en-US';
    
            Yii::$app->sourceLanguage = 'en';
            Yii::$app->language = $l;
            return; 
        },    
        // 组件
        'components' => [
            'user' => [
        ......
    

    处理多语言设置的action处

    /**
    * 设定语言: 1) 设置cookie,2) 跳转回原来的页面
    * 访问网址 - http://.../site/language?locale=zh-CN
    * @return [type] [description]
    */
    public function actionLanguage()
    {
    	$locale = Yii::$app->request->get('locale');
    	if ($locale){
    		#use cookie to store language
    		$l_cookie = new yii\web\Cookie(['name' => 'locale', 'value' => $locale, 'expire' => 3600*24*30,]);
    		$l_cookie->expire = time() + 3600*24*30;
    		Yii::$app->response->cookies->add($l_cookie);
    	}
    	$this->goBack(Yii::$app->request->headers['Referer']);
    }
    

    入口文件在高级版本是init之后产生的,默认不会被放到git库。

  • 这里的文章也许可以说明你的问题。

  • 建议啃教科书吧,这个问题比较通俗的讲出来要不少篇幅的。

  • 回复了 的回答

    通常有两种方法: 用JS,  控制器中对相应字段赋初值。

    呵呵,可能我比较嘴笨,没说清楚。name既然是在field函数中使用,那么一定是$model对象的属性之一,这个成员可以是表的字段,也可以是model中手动加上去的属性。该属性可以是简单数据类型(如字符串,或者数值),也可以是多维数组。一般说来,只要不是DIY得太奇怪,都可以在render这个表单(view)前,将一些model对象的属性赋初值(无论是insert场景还是update场景,update的本来就有初值),然后表单中是可以正确显示的,dropDownList(对应select/option元素)也不例外。

  • 回复了 的回答

    确定clone的根目录下有composer.jsoncomposer.lock
    安装好composer后到命令行到你的根目录下执行:

    php composer.phar global require "fxp/composer-asset-plugin:1.0.0"
    composer install
    

    然后vendor就回来了。

    你的方法就是薛哥的意图,但是个人建议在国内开发还是将vendor放git比较靠谱,尤其是team协同开发的项目。composer对天朝的国民而言是既爱又恨,最好是在国外服务器使用composer,加到git库,然后基友们pull下来即可。

  • 回复了 的回答

    通常有两种方法: 用JS,  控制器中对相应字段赋初值。

    试一下在render你的view之前,控制器中对name赋值,例如$model->name = ‘b';,我忘记了你的语句中是应该用field($model, 'name[]')还是field($model, 'name'),暂时没空验证。

    搞定之后分享一下。

  • 我处理过类似的问题,统计“总、年、月、周”的数据。

    为“周排行统计”专门设计一个辅助表,主表与它是1-m关系,每次获得积分时触发事件,以“日”为单位记录,有相同“日”的数据累加,同时删除7天之前的记录。统计周积分就是过去7天内获得的积分的sum值。

11410/20000
资料完整度
60/100
用户活跃度
0/100

Ta的关注

29

Ta的粉丝

49

Ta的访客

106