Yii 1.1.8
问题:
我有一个slidewshow(nivo)扩展,它或多或少有效,但页面上没有显示图像,也没有动画或效果运行。我看到按钮占位符文本,我可以制作下一个和上一个,但没有效果或图像。
情境:
该扩展程序的assets文件夹具有以下结构:
assets/themes/default/default.css
assets/themes/default/arrows.jpg
assets/themes/default/bullets.jpg
assets/themes/default/bkground.jpg
在default.css
我有以下声明:
background:#fff url(bkground.jpg) no-repeat 50% 50%;
(...)
background:url(bullets.png) no-repeat;
等等,所以指向根。
这是此扩展程序的publishAssets()
:
$assets = dirname(__FILE__).'/assets';
$baseUrl = Yii::app()->assetManager->publish($assets);
if(is_dir($assets)){
Yii::app()->clientScript->registerCssFile($baseUrl . '/themes/default/default.css';
} else {
throw new Exception('Error: Couldn\'t publish assets.');
}
尝试:
我已经测试registerCssFile
是否正在返回NULL
,但事实并非如此。所以,我相信default.css
已正确注册。
我已检查过这些文件是否出现在public_html / assets文件夹中,它们确实出现在:
public_html/assets/randomhash/themes/default/default.css
(等等......)
为了确保它,我检查了Yii guts上的发布方法,并且:
publish($path,$hashByName=false,$level=-1,$forceCopy=false)
level=-1
表示发布所有子目录和文件,所以也可以。
所以资产正在公布。
问题:
我不知道在哪里看更多,为了找到为什么这些图像在扩展工作正常时没有出现(但没有它们)。
有人能给我一些线索吗?
提前致谢。
答案 0 :(得分:0)
你的CSS可以简单地用url(../ images / bkground.jpg)引用图像,而不需要知道资产哈希值。