我有类别的模块:
+modules/
+category/
+assets/
+css/
+js/
+images/
+components/
+controllers/
+models/
+views/
-CategoryModule.php
将css和jss包含在所有视图中的最佳方法是什么?
答案 0 :(得分:3)
在CategoryModule
init
方法中发布并注册 - 这将使您的css和js在类别模块中可用。
像这样:
public function init() {
$path = $this->assetManager->publish(Yii::getPathOfAlias('application.modules.category.assets'));
$this->clientScript->registerCssFile($path . '/css/some-css.css', 'screen, projection');
$this->clientScript->registerScriptFile($path . '/js/some-js.js');
}
答案 1 :(得分:1)
在views / layout下创建模块布局文件,并在模块配置文件中将其命名为
$this->layoutPath = Yii::getPathOfAlias('application.modules.moduleName.views.layouts');
$this->layout = '/layouts/layoutname';
将所有js和css文件注册为@PeterM提到
答案 2 :(得分:0)
在views文件夹中创建文件夹“layouts”。在该layouts文件夹中创建main.php。
在您的帐户中添加以下代码:
<link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl; ?>/css/style.css" type="text/css" media="screen"/>
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/cycle.js"></script>
这是您的默认布局。所以添加,
<?php echo $content; ?>
这是在所有视图中包含css和js的另一种方法。
答案 3 :(得分:-1)
轻松使用此静态方法
<?php Yii::app()->clientScript->registerCssFile(Yii::getPathOfAlias('application.modules.curriculo.assets') . '/bootstrap/datepicker/css/datepicker.css'); ?>
<?php Yii::app()->clientScript->registerScriptFile(Yii::getPathOfAlias('application.modules.curriculo.assets') . '/bootstrap/datepicker/js/bootstrap-datepicker.js'); ?>
答案 4 :(得分:-2)
这可以帮到你:
http://www.yiiframework.com/wiki/249/understanding-the-view-rendering-flow/
详细解释了所有三个部分(beginContent,container和endContent)。