我有图像中显示的目录结构。
如果我有这个代码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"