使用主题从 css 获取 Cakephp 图像

发布于 2024-09-12 09:18:19 字数 967 浏览 5 评论 0原文

我在我正在做的应用程序中使用主题,并且需要一个全局 css/img/js 文件夹

我尝试使用 app/webroot 作为此文件夹,但无法从主题获取任何 css 来显示图像。

我有一个像 :: /app/views/themed/my_theme/webroot/css/file.css 这样的设置,

其中一些 css 看起来像:

...
body{
     background-image: url('../img/file.jpg');
}
...

如果我在 /app/views 中有图像/themed/my_theme/webroot/img/file.jpg 一切都 100% 正常工作,但是当我将图像放入 /app/webroot/img/file.jpg 时,它不会显示。我已经尝试了各种组合,

我也尝试使用像 app/plugins/my_plugin/webroot/img/file.jpg 这样的插件目录,但是我尝试过的各种路径也不会显示图像。

我有什么想法可以让图像显示出来吗?我不介意它是用于 webroot/ 还是在 plugins/xyz/ 中,只要我可以在许多不同的主题中使用相同的图像,而不必

在图像位于 /webroot/img 中时复制图像,我可以使用完整的图像像 url(http://locahost/my_app/img/file.jpg) 这样的路径并且它有效。

不起作用的东西

url("img/file.jpg")

url("/img/file.jpg")

url("../img/file.jpg")

url("/. ./img/file.jpg")

url("../../img/file.jpg")

谢谢。

im using themes in an app im doing, and need a global css/img/js folder

i have tried using app/webroot as this folder, but cant get any css from a theme to show the images.

I have a setup like :: /app/views/themed/my_theme/webroot/css/file.css

With some css that looks like:

...
body{
     background-image: url('../img/file.jpg');
}
...

if i have the image in /app/views/themed/my_theme/webroot/img/file.jpg everything works 100% but when i put the image in /app/webroot/img/file.jpg it will not show. i have tried all sorts of combinations for the

i have also tried using a plugin dir like app/plugins/my_plugin/webroot/img/file.jpg but the various paths ive tried will not show the image either.

any ideas how i can get the image to show? i dont mind if its for webroot/ or in plugins/xyz/, just as long as i can use the same image in many different themes with out having to duplicate the images

when the image is in /webroot/img i can use the full path like url(http://locahost/my_app/img/file.jpg) and it works.

things that dont work

url("img/file.jpg")

url("/img/file.jpg")

url("../img/file.jpg")

url("/../img/file.jpg")

url("../../img/file.jpg")

thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

紫﹏色ふ单纯 2024-09-19 09:18:19

在你的 CSS 文件中

body{
背景图片: url('/img/file.jpg');

将使用根区域在 /app/webroot/img/file.jpg 中查找图像

In your CSS file

body{
background-image: url('/img/file.jpg');
}

This will use the root area to find the image in /app/webroot/img/file.jpg

陌若浮生 2024-09-19 09:18:19

CSS 具有相对于其放置路径的图像 URL。

来自 my_theme 的 CSS 文件在浏览器中的链接方式类似于 site.com/theme/my_theme/css/style.css 。因此,如果您想在主题的 CSS 中使用 app/webroot/img 中的图像,请使用 url(../../../img/image.png)

CSS has urls for images relative to the path it is placed in.

CSS files from my_theme are linked like site.com/theme/my_theme/css/style.css in the browser. So if you want to use an image from app/webroot/img in your theme's CSS, use url(../../../img/image.png)

沧笙踏歌 2024-09-19 09:18:19

我没有尝试过,但 cookbook 说:

如果您想保留您的主题资源
建议在 app/webroot 内
您将 app/webroot/themed 重命名为
应用程序/webroot/主题。

I have not tried that but the cookbook says:

If you want to keep your theme assets
inside app/webroot it is recommended
that you rename app/webroot/themed to
app/webroot/theme.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文