wodrow
- wodrow 评论了教程 basic版本把验证的提示修改成中文显示
可以在配置里写上
$config = [ 'id' => 'basic', 'basePath' => dirname(__DIR__), 'bootstrap' => ['log'], 'language'=>'zh-CN', 'sourceLanguage'=>'zh-CN', 'timezone'=>'Asia/Shanghai', 'charset' => 'utf-8', ..., ];
进行i18n国际化
- wodrow 2015-05-15 已签到连续签到19天,获得了20个金钱
- wodrow 2015-05-14 已签到连续签到18天,获得了20个金钱
- wodrow 发表了说说qq api不提供qq号,扯淡啊
- wodrow 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()的时候就会把注入的资源全部替换到页面上的每一个标记中。至于要指定注入到某一个标记中,需要指定上面的注入资源函数的第二个参数。需要好好跟踪里面的函数,仔细琢磨下