【发布时间】:2016-01-06 20:42:06
【问题描述】:
我正在尝试将“ifempty”和“notempty”用于使用电视 (*pageBanner) 创建的横幅样式图像。当没有添加图像时,我需要为页面内容的其余部分添加一个 52px 的间隔。到目前为止,这是我所拥有的:
[[*pageBanner:notempty=`[[$pageImage]]`]]
[[*pageBanner:ifempty=`<div id="no-image-spacer"></div>`]]
<div id="content-wrapper">
[[Breadcrumb? &exclude=`2,3,4,5,6,7,8,15`]]
[[$pageBody]]
</div>
#no-image-spacer 的 CSS:
#no-image-spacer {
padding-top: 52px;
}
和块pageImage:
<img src="[[*pageBanner]]" alt="" class="img-responsive" style="display: block; max-height: 270px; width: 100%; object-fit: cover; padding-top: 52px;" />
当电视中没有图像时它可以工作(创建间隔 div),但是当电视中插入图像时,它会显示图像并在图像下方添加文件名(但不会创建间隔 div)。知道为什么要添加文件名吗?看起来真的很奇怪,但我可能遗漏了一些非常明显的东西。
哦,如果您想查看 chrome 检查器的输出,该网站位于 http://104.193.173.104/modx/index.php。在左侧导航中,地图有一张图片,而其他的则没有。
干杯!
【问题讨论】:
-
这就是你页面中的所有代码吗?
-
@haakon319 忽略最后一条评论,原始帖子已更新整个页面。谢谢!
-
对于文件名,检查图像电视的输出选项,如果不是“默认”。
-
某处
[[*pageBanner]]不是您复制的?尝试显示 pageBanner 本身来测试你会得到什么输出?尝试使用:toPlaceholder?用:else语句替换:ifempty有帮助吗? -
@ZaighamR 谢谢你的想法!它被设置为“默认”,但我正在尝试将其更改为“图像”,从原始的“notempty”语句中调用
[[*pageBanner]],并将所有这些属性从 pageImage 放入电视。可能会简化一些事情并清除错误。我会保持这个张贴。有效!我会发布一个官方答案。
标签: html css modx modx-revolution