Для того чтобы сбросить кэш Css и js для Asset то нужно поставить в конфиге:
Код: Выделить всё
'components' => [
'assetManager' => [
'appendTimestamp' => true,
],
],
Код: Выделить всё
'components' => [
'assetManager' => [
'appendTimestamp' => true,
],
],
если можно, то можете дать пример как это реализовать?zelenin писал(а):судя по коду, registerCssFile создает бандл, который работает по тем же правилам, что и остальные.
Код: Выделить всё
$this->getAssetManager()->bundles[$key] = new AssetBundle([
Код: Выделить всё
'cssOptions' => $options,
Код: Выделить всё
$depends = ArrayHelper::remove($options, 'depends', []);
да указано у меня в конфиге:caHek2x писал(а):ну как я понимаю по этой строке:
то что вы укажите в вашем assetmanager ... те настройки и будут браться ...
Код: Выделить всё
'assetManager' => [
'appendTimestamp' => true,
],
Код: Выделить всё
$url = Yii::$app->request->BaseUrl.'/js/jquery.bxslider/jquery.bxslider.css';
$this->registerCssFile($url."?v=".@filemtime($url), ['depends' ......
Код: Выделить всё
$file = '/js/jquery.bxslider/jquery.bxslider.css';
$asset = new \yii\web\AssetBundle([
'js' => [ltrim($file, '/')],
'basePath' => '@webroot',
'depends' => [
'frontend\assets\AppAsset'
]
]);
$this->getAssetManager()->bundles[$file] = $asset;
$this->registerAssetBundle($file);
Жаль что так не работает:SilverFire писал(а):Попробуйте так:
Код: Выделить всё
$file = '/js/jquery.bxslider/jquery.bxslider.css'; $asset = new \yii\web\AssetBundle([ 'js' => [ltrim($file, '/')], 'basePath' => '@webroot', 'depends' => [ 'frontend\assets\AppAsset' ] ]); $this->getAssetManager()->bundles[$file] = $asset; $this->registerAssetBundle($file);
Код: Выделить всё
$this->registerCssFile(Yii::$app->request->BaseUrl.'/js/jquery.bxslider/jquery.bxslider.css', ['depends' => ['frontend\assets\AppAsset']]);
Жаль что так не работает:webplus писал(а):SilverFire писал(а):Попробуйте так:
Код: Выделить всё
$file = '/js/jquery.bxslider/jquery.bxslider.css'; $asset = new \yii\web\AssetBundle([ 'js' => [ltrim($file, '/')], 'basePath' => '@webroot', 'depends' => [ 'frontend\assets\AppAsset' ] ]); $this->getAssetManager()->bundles[$file] = $asset; $this->registerAssetBundle($file);
Код: Выделить всё
$this->registerCssFile(Yii::$app->request->BaseUrl.'/js/jquery.bxslider/jquery.bxslider.css', ['depends' => ['frontend\assets\AppAsset']]);
Код: Выделить всё
class AssetHelper
{
public static function registerCssFile($file, $view, $options = [])
{
$asset = new \yii\web\AssetBundle(array_merge([
'js' => [ltrim($file, '/')],
'basePath' => '@webroot',
], $options);
$view->getAssetManager()->bundles[$file] = $asset;
$view->registerAssetBundle($file);
}
}
Код: Выделить всё
AssetHelper::registerCssFile('/js/jquery.bxslider/jquery.bxslider.css', $this, [
'depends' => 'frontend\assets\AppAsset'
])
Ctrl+F5webplus писал(а): Например вот так не работает: $this->registerCssFile(Yii::$app->request->BaseUrl.'/js/jquery.bxslider/jquery.bxslider.css',