1

我有类别的模块:

+modules/
 +category/
    +assets/
      +css/
      +js/
      +images/
    +components/
    +controllers/
    +models/
    +views/
    -CategoryModule.php

将 css 和 jss 包含到所有视图中的最佳方式是什么?

4

5 回答 5

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');
}
于 2013-04-20T11:10:26.833 回答
1

在视图/布局下创建模块布局文件并在模块配置文件中调用它

$this->layoutPath = Yii::getPathOfAlias('application.modules.moduleName.views.layouts');
        $this->layout = '/layouts/layoutname';

将所有 js 和 css 文件注册为@PeterM 提到的

于 2013-04-20T11:43:21.377 回答
0

在您的视图文件夹中创建一个文件夹“布局”。在该布局文件夹中创建 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 的另一种方法。

于 2013-04-21T13:11:55.280 回答
-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'); ?>
于 2014-05-09T18:46:12.437 回答
-2

这应该可以帮助您:

http://www.yiiframework.com/wiki/249/understanding-the-view-rendering-flow/

详细解释了所有三个部分(beginContent、container 和 endContent)。

于 2013-04-22T07:38:32.120 回答