8

Yiiにjsまたはcssファイルを登録して、アセットマネージャーによってロードされた後にロードする方法はありますか?

一部のYii拡張機能のスタイルをオーバーライドするためにcssファイルを使用していますが、Yiiには、拡張機能によって生成されたアセットの前にファイルが含まれています。

拡張子を変更してアセットマネージャーからcssファイルを削除し、手動で追加できることはわかっていますが、registerCssFileこれは私が望む方法ではありません。

これが私が持っているものです:

<head>
...
    <link rel="stylesheet" type="text/css" href="/css/MY_CSS.css" />
...
    <link rel="stylesheet" type="text/css" href="/assets/8e838803/css/EXTENSION_CSS.css" />
...
</head>

これが私が欲しいものです:

<head>
...
    <link rel="stylesheet" type="text/css" href="/assets/8e838803/css/EXTENSION_CSS.css" />
...
    <link rel="stylesheet" type="text/css" href="/css/MY_CSS.css" /> <!-- the last one -->
</head>

どんな助けでもいただければ幸いです!

4

4 に答える 4

11

CClientScriptによって登録されたアセットは、常にタイトルの前に追加されます

あなたの場合、あなたはあなたが望む順序を保証するために、タイトルの後にあなたのCSSを追加するべきです

于 2012-12-10T20:53:36.577 に答える
2

Yii2では、これを実現するための良い方法は、ドキュメントに示されているように、registerCssFileの「depends」オプションを使用することです。

$this->registerCssFile("http://example.com/css/themes/black-and-white.css", [
    'depends' => [BootstrapAsset::className()],
    'media' => 'print',
], 'css-print-theme');
于 2015-08-11T11:02:28.623 に答える
1
//example 1
class someWidget extends YourExtendsionClassName
{
    public function init()
    {
        parent::init();
        Yii::app()->getClientScript()->registerCssFile('/path/to/your/css/file.css');
    }

    // or

    public function run()
    {
        Yii::app()->getClientScript()->registerCssFile('/path/to/your/css/file.css');
            parent::run();
    }
}

//example 2

//Layouts file main.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    
<title>Title</title>
<?php Yii::app()->getClientScript()->registerCssFile('/path/to/your/css/file.css'); ?>
</head>
于 2012-12-11T04:59:54.263 に答える
0

main.phpレイアウトで、タグを見つけ、次のラインコードを入力します。

Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/path/to/css/file');

http://www.codexamples.com/98/how-to-include-javascript-css-in-yii/

于 2013-10-31T15:11:50.673 に答える