yii2-更改默认显示的通用主页
在views/layouts/目录下新建一个login.php,然后SiteController中更新下面的方法
public function actionIndex()
{
$this->layout = 'login'; // 设置通用的模版为views/layouts/login.php
return $this->render('login'); //render()会将views/site/login.php拼接到通用模版中
}
原理在于:
在yii\base\Controller中存在该函数
public function findLayoutFile($view)
{
$module = $this->module; //如果是web应用,该处的module是app\web\Application
if (is_string($this->layout)) {
$layout = $this->layout; //如果设置了layout属性则$this->layout的值将作为最终的layout值
} elseif ($this->layout === null) {
while ($module !== null && $module->layout === null) {
$module = $module->module;
}
if ($module !== null && is_string($module->layout)) {
$layout = $module->layout; //app\web\Application->layout 继成于app\base\Application->layout,默认值为main,如果没有设置layout属性则返回应用默认的layout
}
}
if (!isset($layout)) {
return false;
}
if (strncmp($layout, '@', 1) === 0) {
$file = Yii::getAlias($layout);
} elseif (strncmp($layout, '/', 1) === 0) {
$file = Yii::$app->getLayoutPath() . DIRECTORY_SEPARATOR . substr($layout, 1);
} else {
$file = $module->getLayoutPath() . DIRECTORY_SEPARATOR . $layout;
}
if (pathinfo($file, PATHINFO_EXTENSION) !== '') {
return $file;
}
$path = $file . '.' . $view->defaultExtension;
if ($view->defaultExtension !== 'php' && !is_file($path)) {
$path = $file . '.php';
}
return $path;
}
因为SiteController->yii\web\Controller->yii\base\Controller,因此只需要在该类的layout成员变量即可达到如下效果。
默认为登录页面,页面的样式可以随意更改
登录成功之后的样式为左右两列
版权声明:本文为博主原创文章,未经博主允许不得转载。
yii2-更改默认显示的通用主页的更多相关文章
- phpcms v9如何更改分页显示条数?
默认显示页码数有10条,比如想更改成显示3条,例如这样 上一页 1 2 3...34 下一页 更改phpcms\libs\functions\global.func.php,找到分页函数,大概在665 ...
- Qt Creator怎样更改默认构建目录
用过VS的朋友都知道,用VS编译工程时会将生成的可执行文件放在当前工程目录下,使每个工程独立地成为一个整体,管理起来颇为方便:而Qt Creator则不同,编译程序时会创建一个与当前工程目录同级的构建 ...
- 更改默认Xcode
更改默认 Xcode 的指令: sudo xcode-select -switch /Applications/Xcode.app 如果系统里面有好几个版本的 Xcode,可以用这个命令指定默认的 ...
- Android之拨号界面图片风格,无信息默认显示界面修改
Android之拨号界面图片风格,无信息默认显示界面修改 点开Dialer app,出现拨号,联系人,收藏三个选项卡,也就是三个Fragment,在三个界面都没有信息的时候会显示一个时钟,联系人,收藏 ...
- webstorm 10 更改默认端口
快捷键 ctrl + Alt + s :打开配置 如图下可以更改 默认端口.快捷键可能跟qq的快捷键冲突,可以关闭qq来设置端口
- iOS不得姐项目--图片帖子模块,大图默认显示最顶部分的处理
一.刚开始的处理,设置Mode属性(self.pictureImageView.contentMode = UIViewContentModeScaleAspectFill;) 和 Clip Subv ...
- jquery easyui datebox 时间控件默认显示当前日期的实现方法
jquery easyui datebox 时间控件默认显示当前日期的实现方法 直接class easyui-datebox后添加一个value="true"就可以
- slidingMenu默认显示菜单
关键词:slidingmenu 默认 显示 打开 菜单 showMenu toggle 问题:要在Activity一打开就显示slidingmenu. 解决: 搜索“slidingmenu 默认打开” ...
- 关于Android4.x系统默认显示方向各种修改
1.设置属性值 在device.mk文件中加入PRODUCT_PROPERTY_OVERRIDES += \ ro.sf.hwrotation=180 2.设置屏幕默认显示方向 在frameworks ...
随机推荐
- Variance
http://mathworld.wolfram.com/Variance.html Variance For a single variate having a distribution with ...
- HDFS的概念
1.数据块 每个磁盘都有默认的数据块大小,这是磁盘进行数据读/写的最小单位.构建于单个磁盘之上的文件系统通过磁盘块来管理该文件系统中的块,该文件系统块的大小可以是磁盘块的整数倍.文件系统快一半为几千字 ...
- 【C++】const
1. 默认状态下,const对象仅在文件内有效,即在不同文件中出现同名const变量的时候,其实相当于这些同名const是不同的东西. 如果想要在文件中共享const变量,可以在const变量不管是声 ...
- JSP中的隐式对象(implicit object)
- 去除行内(inline/inline-block)元素之间的间距
先展示一下,行内元素之间存在间距,实例代码如下: <style> div { color: #fff; padding: 25px 50px; } .inline-f00 { displa ...
- php函数、php定义数组和数组遍历
<?php //php函数//1.简单函数//四要素:返回类型,函数名,参数列表,函数体 /*function Show(){ echo "hello";} Show();* ...
- Cocos2d-x PluginX (一)使用手册
简介 Plugin-x是cocos2d-x最近版本中引入的特性,旨在解决第三方SDK接入的问题,最大程度的简化接入工作,增加可重用性.第一部分主要介绍PluginX如何使用,不涉及设计原理相关内容. ...
- Python快速建站系列-Part.Four-首页内容填充
|版权声明:本文为博主原创文章,未经博主允许不得转载. Part.Three中实现了注册和登录的功能,那这一节完成主页内容的填充,并且主页中要实现简单的可以查找代码的功能. 而且有于公共代码部分存储在 ...
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数009,Measure,测量函数
<zw版·Halcon-delphi系列原创教程> Halcon分类函数009,Measure,测量函数 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替 ...
- 处理mysql上百万条数据的优化
php 处理上百万条的数据库如何提高处理查询速度 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字 ...