1

イー 1.1.8

問題:

多かれ少なかれ機能しているslidewshow(nivo)拡張機能がありますが、ページに画像が表示されず、アニメーションやエフェクトも実行されません。ボタンのプレースホルダー テキストが表示されます。次と前を作成できますが、効果や画像はありません。

シナリオ:

その拡張機能のアセット フォルダーには、次の構造があります。

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 ガッツの publish メソッドをチェックして、次のようにしました。

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 に答える