1、在前台view中最简单不过的就是像之前那样一个文件一个文件的引入,于是在顶部使用use调用代码段
use yii\helpers\Html
然后在下面的Html中可以这样调用
<?=Html::jsFile('@web/***/js/***.js')?>//这里***代表你的目录名或者文件名
<?=Html::cssFile('@web/***/css/***.css')?>//***同上
这样的话就不需要动其他文件,直接引入文件就好了,需要哪个引入哪个,当然这样写的话就是每次得写很多行代码去加载,最好还是写到配置文件中,但是用配置文件来引入这个问题我暂时还没弄通,后面如果找到原因我会分享给大家
2、前台这样引入,那么在controller中怎么自定义样式文件呢
在控制器中加上以下代码
public $layout = 'layout'//在类中定义一个变量,名为$layout
注意的是这个layout在你的view中有个目录叫layouts,在这个目录下,我新建了一个文件名为layout.php,在其中我加上一句代码
<?php echo $content?>
这样控制器就会自动去找当前视图目录下的layouts目录下的加载视图文件的php文件
以上的几行简短的代码就解决了新手不知道该如何去加载CSS,JS文件的问题,大家如果觉得写***Asset.php文件会有问题,就用我这种办法,后期等熟悉了yii2之后在改用其他的办法去加载
另外,我再补充下,在view中怎么去跳转链接到其他的视图文件
同样在顶部先引入类库
use yii\helpers\Url
然后再需要链接跳转的地方这样写:
<?phpecho Url::toRoute('post/index')?>//post为你的当前控制器名,index为view模版
在页面里引入bootstrap的css和js文件的方法是通过modules的loader加载的。1、加载js文件:varpath=require('path')module.exports={context:path.resolve('js'),entry:"./index",output:{path:path.resolve('build/js/'),publicPath:'/public/assets/js/',filename:"bundle.js"}2、加载css文件:{test:/\.css$/,loaders:'style-loader!css-loader',exclude:/node_modules/}3、完整的写法如图:公共js在布局文件引入,也就是main.php单独view的js以及公共js都是使用$this->registerJs()
$this->registerJsFile()
$this->registerCss()
等方法引入
如果不行(上述方法一般可行,我在yii2就是这么用的),你可以使用use View(前面的命名空间忘记了,你找一下,里面有上所述的方法)
然后实例化$view = new View()然后$this->registerJs()等等