【发布时间】:2017-03-28 04:18:52
【问题描述】:
我想创建一个包含AssetBundle 的扩展,它提供了一个简单的静态 CSS 文件。在那个静态 CSS 文件中,我想使用一个图像文件,它也是扩展的一部分。
如何知道图像文件的 URL,以便在 CSS 文件中使用它?
如果我将图像文件注册为资产,它将获得一个我们无法预测的随机 URL!所以不可能做这样的事情:
.some-selector {
background: url('/assets/?????/image.jpg');
}
那么,如何做到这一点呢?
为了进一步说明,以下是此类扩展的示例文件夹结构:
-
extension/Widget.php- 一些注册我们 AssetBundle 的小部件 -
extension/AssetBundle.php- 注册 css 的资产包 -
extension/assets/css/style.css- CSS -
extension/assets/images/image.jpg- 我们要在style.css中使用的图像
【问题讨论】:
-
您的预期结果是什么?
-
@LIJINSAMUEL 拥有一个纯静态 CSS 文件,该文件使用扩展程序提供的图像。
-
资产文件夹中的图片?
-
.some-selector { 背景: url('assets/image.jpg'); }
-
@LIJINSAMUEL 不,资产位于扩展程序的
vendor文件夹中,因此它们不会位于应用程序的assets文件夹中。
标签: css yii2 assets yii2-extension yii2-module