如何在modx革命中获得画廊封面图像?
目前我通过ID调用图库并将其限制为一张图像~但是,这并不能保证该图像将是封面图像。
这是我目前正在做的。
[[!Gallery? &album=`[[!+tv.vehiclegallery]]` &toPlaceholder=`gallery` &thumbTpl=`homepageVehicleThumbTpl` &limit=`1`]]
[[+gallery]]
答案要简单得多!我盯着这个看了好几个小时,还是想不明白,然后我突然想到了。每张专辑的封面总是被称为";cover.jpg"。它将以相应的Album-ID存储在assets文件夹中。
文摘:路径>
产/画廊/[album-id]/cover.jpg 例如:资产/画廊/1/cover.jpg
所以只要你有专辑id,你就可以得到封面。
获取专辑id
如果你想要相册id,这里有一个方法:
- 创建一个名为gallery_album的模板变量,输入类型为galleryalbumlist。
- 让你的首选模板可以访问它。
- 使用该模板打开或创建资源。模板变量将在模板变量选项卡中作为下拉菜单包含所有之前创建的相册。
- 从下拉列表中选择相册
- 当你知道在模板中调用[[+gallery_album]]时,它将输出相册id
代码示例:
链接到modx extra图库:
https://docs.modx.com/current/en/extras/gallery/gallery/index我宁愿在代码段中这样做:
<?php
//getgalleryAlbumCover
$output = '';
$sql = "select * from modx_gallery_albums mga where mga.id = $id";
$album = $modx->query($sql);
if (!is_object($album)) {return;}
$data = $album->fetch(PDO::FETCH_ASSOC);
// just in case ;)
$modx->toPlaceholders($data);
$output = $data['cover_filename'];
return $output;