Yii Asset Manager - CSS с URL-адресом изображения
Я использую следующий код для публикации моего CSS-файла в ресурсах.
Yii::app()->clientScript->registerCssFile( Yii::app()->assetManager->publish( Yii::getPathOfAlias('application').'/../css/combo-autocomplete.css' ));
Он успешно регистрирует CSS и стили работают нормально, но следующий класс CSS использует изображение.
.ui-icon {
background-image: url(../images/down-arrow.png);
}
не загружается, он ссылается на путь внутри папки активов. Ищет изображение внутри
корень / активы / изображения /
Есть ли способ перенаправить URL-адрес изображения в CSS на исходный путь, потому что я не регистрирую мои изображения в качестве активов на данный момент.
Корневые / изображения
1 ответ
Диспетчер ресурсов Yii предназначен для самостоятельной упаковки компонентов, таких как виджеты пользовательского интерфейса (альтернатива заключается в том, чтобы вручную распределять различные файлы в разных местах внутри структуры каталогов приложения). Поэтому, если имеет смысл публиковать что-либо как актив из вашего компонента, имеет смысл публиковать все как актив.
В этом случае вы должны структурировать свой компонент, например, как
component/
assets/
css/
images/
js/
Затем опубликуйте assets/
каталог, использующий менеджер активов Yii вместо публикации файлов один за другим. Если вы сделаете это, они будут опубликованы таким образом, как
assets/
random_hash/
css/
images/
Ваш CSS может просто ссылаться на изображения с url(../images/image.jpg)
без необходимости знать значение random_hash
,