イメージに示されているディレクトリ構造があります。
このコードがあればHomePage.ss
<img src="../../images/sprites.jpg" />
この相対パスが正しくないのはなぜですか?Failed to load the given url.
イメージに示されているディレクトリ構造があります。
このコードがあればHomePage.ss
<img src="../../images/sprites.jpg" />
この相対パスが正しくないのはなぜですか?Failed to load the given url.
Silverstripe はタグを使用するため、すべての相対 URL は現在のページの URL ではなくルート URL に対して相対的です。
の受け入れられた答えは、テーマ内の画像にリンクする正しい方法です
Silverstripe のドキュメントに基づいて、フレームワーク URL を使用して画像にアクセスできます。
<img src="$ThemeDir/images/sprites.jpg" alt="">
SilverStripe について知っておくべきことは、テンプレートを読み取って出力することです。したがって、URL がある場合mysite.com/home
、ファイルがフォルダー内にあるように見え/home
ます。URL がmysite.com/page/subpage
ある場合、フォルダーがあったように表示されます。/page/subpage
これは、テンプレートで "../images/sprites.jpg" のような相対パスを使用できないことを意味します (CSS では使用できます)。
@Mark がコメントで既に述べているように、$ThemeDir
m を使用してテーマ フォルダーへのパスを出力するため、画像は次のようになります。<img src="$ThemeDir/images/sprites.jpg" />
パスがわからない場合は、正しいURLを入力してURLから画像を読み込みます...
例:
img src = "http://www.yourwebsite.com/themes/simple/images/img/sprite.jpg"
右クリックしてブラウザから画像の場所を確認し、正しいURLをコピーします。
img src="../../../images/sprites.jpg"
img src="../../../images/**img**/sprites.jpg"