Zdecydowanie zaleca się używanie pakietów zasobów do rejestrowania zewnętrznych plików JS zamiast funkcji registerJsFile(), ponieważ umożliwiają one większą elastyczność i bardziej szczegółową konfigurację zależności. Używanie pakietów zasobów pozwala również łączyć i kompresować wiele plików JS, co jest pożądane w przypadku witryn o dużym natężeniu ruchu.
Możesz więc utworzyć nowy plik AppAsset i umieścić w nim swoje pliki css i javascript.
Tworzenie składnika aktywów Bundle
w katalogu \ aktywów, tworzymy StatusAsset.php:
<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace app\assets;
use yii\web\AssetBundle;
/**
* @author Qiang Xue <[email protected]>
* @since 2.0
*/
class StatusAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [];
public $js = [
'/js/jquery.simplyCountable.js',
'/js/twitter-text.js',
'/js/twitter_count.js',
'/js/status-counter.js',
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
W pliku widoku
use app\assets\StatusAsset;
StatusAsset::register($this);
Resources http://www.yiiframework.com/doc-2.0/guide-output-client-scripts.html https://code.tutsplus.com/tutorials/how-to-program-with-yii2-working-with-asset-bundles--cms-23226
To wo nie dodaje się do określonej akcji. Jest to ogólna procedura dodawania pliku js do wyświetlenia. Aby dodać na podstawie identyfikatora działania, może zajść potrzeba użycia zdarzenia afterAction. –