【发布时间】:2011-07-25 11:29:53
【问题描述】:
是否可以在 Drupal 6 中使用 Views 指定仅当图像属于页面时才显示图像?我想为每个页面制作一个不同的标题图像,因此每个页面应该只显示属于它的图像,而不显示属于其他页面的图像。或者我可以在没有视图的情况下执行此操作吗?我已经使用 ImageField 为图像添加了字段,但我希望它显示在标题中,而不是带有节点内容的内容。
【问题讨论】:
是否可以在 Drupal 6 中使用 Views 指定仅当图像属于页面时才显示图像?我想为每个页面制作一个不同的标题图像,因此每个页面应该只显示属于它的图像,而不显示属于其他页面的图像。或者我可以在没有视图的情况下执行此操作吗?我已经使用 ImageField 为图像添加了字段,但我希望它显示在标题中,而不是带有节点内容的内容。
【问题讨论】:
也许我误解了,但我不会为此使用视图。我是否正确,您想要在给定页面的标题中显示给定图像?我可以看到两个选项:
1) 如果您的页面基本上显示一个节点,并且如果您使用图像字段添加图像,那么您可以使用 CSS 将其移出内容并进入标题(使用绝对定位)。
类似:
div.field-field-<your field name> {
position: absolute;
top: 50px; /* Adjust to fit your theme */
left: 0px; /* Adjust to fit your theme */
}
您应该确保在您想要的位置为图像留出足够的空间。这个 CSS 应该放在你的主题中。
2)您可以为每个图像使用一个块,将块设置为仅在您想要的页面上显示。转到 /admin/build/block/add 创建一个新块。在“块体”下添加图像 - 这取决于您的设置,但总体思路是选择允许图像的输入格式(即 HTML img 标记)并输入 HTML 以指向该图像,例如。
然后在“页面特定可见性设置”下选择“仅在列出的页面上显示”并输入您想要此图像的页面的路径。
保存块,然后转到 /admin/build/block/list 并将新创建的块拖到您希望它显示的部分(例如标题)中。
选项 2. 意味着您不必了解 CSS/Drupal 主题,并且页面的格式与节点内容无关(您可能想要也可能不想要)。不利的一面是,您最终可能会遇到很多块,这会使事情变得有些笨拙。实现相同方式的更简洁的方法是使用上下文模块:http://drupal.org/project/context
还有其他方法可以实现您想要的(Drupal 非常灵活),但我希望这些是好的起点!
【讨论】: