1

Yii 1.1.8

问题:

我有一个幻灯片(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意味着发布所有子目录和文件,所以也可以。

因此,资产正在发布。

问题:

我不知道在哪里看更多,为了找出为什么这些图像没有出现而扩展工作正常(但没有它们)。

谁能给我一个线索?

提前致谢。

4

1 回答 1

0

您的 CSS 可以简单地使用 url(../images/bkground.jpg) 引用图像,而无需知道资产散列的值。

于 2013-03-16T11:55:34.360 回答