2

我正在使用 Drupal 7。page.tpl.php 文件中的我的 bg 图像和图像进入 css。

我的html:

<div class="mainimage" id="mainimg" class="clearfix"></div>

和 CSS:

#mainimg {
    background: url("../img/mainimg.jpg") repeat scroll 0 0 transparent;
    height: 500px;
    left: 50%;
    margin-left: -640px;
    position: absolute;
    width: 1280px;
    z-index: 1;
    top:0;
}

我的 bg 图像看到了所有页面。这很正常。但我想在每一页上更改我的 bg 图像。例如

...
mysite.com/index.php -bg image: mainimg.jpg
mysite.com/news -bg image:news.jpg
mysite.com/about -bg image: about.jpg
...

我该如何解决这个问题?

4

3 回答 3

2

您可以使用内置的 Drupal 函数将唯一标识符添加到body,因此您可以在 CSS 中单独定位每个页面。

例如,如果 body 有id="news",您可以通过将其添加到 CSS 来更改背景图像:

#news #mainimg {
    background-image: url("../img/news.jpg");
}
于 2012-06-14T16:20:44.663 回答
1

每个页面使用不同的类。

mysite.com/news

HTML

<div class="mainimage news-bg" id="mainimg" class="clearfix"></div>

CSS

.news-bg {
    background: url("../img/news-bg.jpg") repeat scroll 0 0 transparent;
}

mysite.com/about

HTML

<div class="mainimage about-bg" id="mainimg" class="clearfix"></div>

CSS

.about-bg {
    background: url("../img/about-bg.jpg") repeat scroll 0 0 transparent;
}
于 2012-06-14T16:25:02.413 回答
-1

使图像 php 生成。
1)设置标题(“内容类型:图像/ jpg”);
2)检查请求来自哪个页面并选择图像
3)回显图像的二进制数据。

假设这是在文件 bg.php 中,你必须设置 background-image:url('bg.php');

例子:

function currentPageName() {
    return substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
}
if(currentPageName() == "news.html")
    $imagedata = file_get_contents('path/to/news.jpg');
//etc

header('Content-type: image/jpg');
echo $imagedata;
于 2012-06-14T16:23:10.497 回答