mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-26 11:40:00 +08:00
new asset management WIP
This commit is contained in:
@@ -30,7 +30,7 @@ instead of adding a new one. If you don't provide it, the JS code itself will be
|
||||
An external script can be added like the following:
|
||||
|
||||
```php
|
||||
$this->registerJsFile('http://example.com/js/main.js', [JqueryAsset::className()]);
|
||||
$this->registerJsFile('http://example.com/js/main.js', ['depends' => [JqueryAsset::className()]]);
|
||||
```
|
||||
|
||||
The arguments for [[yii\web\View::registerJsFile()|registerJsFile()]] are similar to those for
|
||||
@@ -76,16 +76,19 @@ If you want to specify additional properties of the style tag, pass an array of
|
||||
If you need to make sure there's only a single style tag use fourth argument as was mentioned in meta tags description.
|
||||
|
||||
```php
|
||||
$this->registerCssFile("http://example.com/css/themes/black-and-white.css", [BootstrapAsset::className()], ['media' => 'print'], 'css-print-theme');
|
||||
$this->registerCssFile("http://example.com/css/themes/black-and-white.css", [
|
||||
'depends' => [BootstrapAsset::className()],
|
||||
'media' => 'print',
|
||||
], 'css-print-theme');
|
||||
```
|
||||
|
||||
The code above will add a link to CSS file to the head section of the page.
|
||||
|
||||
* The first argument specifies the CSS file to be registered.
|
||||
* The second argument specifies that this CSS file depends on [[yii\bootstrap\BootstrapAsset|BootstrapAsset]], meaning it will be added
|
||||
AFTER the CSS files in [[yii\bootstrap\BootstrapAsset|BootstrapAsset]]. Without this dependency specification, the relative order
|
||||
between this CSS file and the [[yii\bootstrap\BootstrapAsset|BootstrapAsset]] CSS files would be undefined.
|
||||
* The third argument specifies the attributes for the resulting `<link>` tag.
|
||||
* The second argument specifies the HTML attributes for the resulting `<link>` tag. The option `depends`
|
||||
is specially handled. It specifies which asset bundles this CSS file depends on. In this case, the dependent
|
||||
asset bundle is [[yii\bootstrap\BootstrapAsset|BootstrapAsset]]. This means the CSS file will be added
|
||||
*after* the CSS files in [[yii\bootstrap\BootstrapAsset|BootstrapAsset]].
|
||||
* The last argument specifies an ID identifying this CSS file. If it is not provided, the URL of the CSS file will be
|
||||
used instead.
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ class can be placed anywhere but the convention for it is to be under `assets` d
|
||||
|
||||
Additionally you may specify `$jsOptions`, `$cssOptions` and `$publishOptions` that will be passed to
|
||||
[[yii\web\View::registerJsFile()]], [[yii\web\View::registerCssFile()]] and [[yii\web\AssetManager::publish()]]
|
||||
respectively during registering and publising an asset. For more details on this see [Setting special options](#setting-special-options).
|
||||
respectively during registering and publishing an asset. For more details on this see [Setting special options](#setting-special-options).
|
||||
|
||||
[alias]: basics.md#path-aliases "Yii Path alias"
|
||||
|
||||
@@ -89,16 +89,16 @@ following way:
|
||||
```php
|
||||
class LanguageAsset extends AssetBundle
|
||||
{
|
||||
public $language;
|
||||
public static $language;
|
||||
public $sourcePath = '@app/assets/language';
|
||||
public $js = [
|
||||
];
|
||||
|
||||
public function registerAssetFiles($view)
|
||||
public function init()
|
||||
{
|
||||
$language = $this->language ? $this->language : Yii::$app->language;
|
||||
parent::init();
|
||||
$language = self::$language ? self::$language : Yii::$app->language;
|
||||
$this->js[] = 'language-' . $language . '.js';
|
||||
parent::registerAssetFiles($view);
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -106,7 +106,8 @@ class LanguageAsset extends AssetBundle
|
||||
In order to set language use the following code when registering an asset bundle in a view:
|
||||
|
||||
```php
|
||||
LanguageAsset::register($this)->language = $language;
|
||||
LanguageAsset::$language = $language;
|
||||
LanguageAsset::register($this);
|
||||
```
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user