wodrow

wodrow

linux student

  • 财富值39125
  • 威望值120
  • 总积分42255

个人信息

  • 回复了 的回答

    刚刚研究出来,是如何引入资源文件,不过已经有高手解答了,哈哈

    代码看了又看,还是不怎么会啊

  • 可以在配置里写上

    $config = [
        'id' => 'basic',
        'basePath' => dirname(__DIR__),
        'bootstrap' => ['log'],
        'language'=>'zh-CN',
        'sourceLanguage'=>'zh-CN',
        'timezone'=>'Asia/Shanghai',
        'charset' => 'utf-8',
        ...,
    ];
    

    进行i18n国际化

  • 2015-05-15 已签到
    连续签到19天,获得了20个金钱
  • 回复了 的回答

    看LoginForm里有一个 User::find() 什么的玩意

    没有 User::find() 这玩意

  • 2015-05-14 已签到
    连续签到18天,获得了20个金钱
  • 发表了说说
    qq api不提供qq号,扯淡啊
  • 回复了 的说说
    求页面缓存的解决方案,请大家支招!
    yii应该有组件能做到和tp的S函数一样缓存数据吧 其他可用memcache 可以页面静态化,伪静态化
  • 2015-05-13 已签到
    连续签到17天,获得了20个金钱
  • 回复了 的回答

    一切尽在Controller的render方法中,只有在控制器中render才会加载layout,在View的render方法中是不会自动加载layout

    // Controller::render()
     public function render($view, $params = [])
     {
        // 读取views文件夹中的视图文件
        $content = $this->getView()->render($view, $params, $this);
        // 把获取到的视图内容,用laytou包含起来,其中layout中会有这么一句echo $this->content 就是输出视图文件的内容
        return $this->renderContent($content);
     }
    

    layout怎么引用进来我们已经知道了,那么在视图文件中怎么把资源注入到layout的头部或者底部呢?

    View::registerJs();
    View::registerJsFile();
    View::registerCss();
    View::registerCssFile();
    

    每个Asset中都会用到以上这些资源注入方法,而在Layout中会有View::head()、View::beginBody()、View::endBody() 这些标记,在页面的输出<![CDATA[YII-BLOCK-HEAD]]>就这一串这样子的字符。在View::endPage()的时候就会把注入的资源全部替换到页面上的每一个标记中。至于要指定注入到某一个标记中,需要指定上面的注入资源函数的第二个参数。

    需要好好跟踪里面的函数,仔细琢磨下

副董事长 等级规则
42255/50000
资料完整度
100/100
用户活跃度
30/100

Ta的关注

81

Ta的粉丝

34

Ta的访客

109