gpt4 book ai didi

assets - 如何将文件添加到 Yii2 的供应商目录中具有 $sourcePath 的 Assets ?

转载 作者:行者123 更新时间:2023-12-05 03:14:11 24 4
gpt4 key购买 nike

我正在制作一个基于 JS 插件 (DataTables) 的 Assets 包,该插件已通过 composer 安装在 vendor/ 目录中。 Assets 包类文件如下所示:

<?php
namespace app\assets;

use yii\web\AssetBundle;

class DatatablesAsset extends AssetBundle
{
public $sourcePath = '@vendor/datatables/datatables/media';

public $css = [
'css/jquery.dataTables.min.css',
];
public $js = [
'js/jquery.dataTables.js',
];
public $publishOptions = [
'forceCopy' => true,
];
public $depends = [
'yii\web\YiiAsset',
];
}

这很好用。这些文件从供应商目录复制并发布到 web/assets/[hash] 目录。

但是,我想使用 CSS 文件进一步设置数据表插件的样式,但仍然想为此使用基本插件中包含的图像。由于我不知道要发布到 assets 目录中的目录的 [hash],所以我无法访问这些图像,我该如何解决这个问题?

  • 我可以将 $sourcePath 之外的 CSS 文件添加到 assets/[hash] 目录吗?然后我可以使用相对路径(就像插件本身一样)。这听起来像是最优雅的解决方案。
  • 我能否以某种方式知道 [hash] 并在我的自定义 CSS 文件中引用它?

最佳答案

你在找

<link rel="icon" type="image/ico" href="<?=Yii::$app->assetManager->getPublishedUrl('@vendor/xxxx/yyyyy/assets')?>/xxx/yyy/fav.ico">

或者如果包有自己的别名,你可以使用

<link rel="icon" type="image/ico" href="<?=Yii::$app->assetManager->getPublishedUrl('@pachageName/assets')?>/xxx/yyy/fav.ico">

关于assets - 如何将文件添加到 Yii2 的供应商目录中具有 $sourcePath 的 Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26487864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com