在 Concrete5 中加载页面图像属性的缩略图

Loading Thumbnail of a page Image Attribute in Concrete5

我喜欢加载图像属性并为图像分配名为 small(在 Dashboard > System > Files> Thumbnails 中创建)的自定义缩略图。

我在模板中创建了自定义图像属性 blogimage。加载图像属性有效。只需要知道如何加载自定义缩略图。

<?php
    $img = $c->getAttribute('blogimage'); ?>
    <?php if ($img): ?>
    <img src="<?php  echo ($img->getVersion()->getRelativePath()); ?>"/>
<?php endif; ?

如果blogimage是一个Image/File属性的句柄,而$c是一个Page实例,下面的代码

$img = $c->getAttribute('blogimage');

returns null 如果页面没有该属性的值,否则 Concrete\Core\Entity\File\File 实例。

然后

$imgVersion = $img->getVersion();

returns 一个 Concrete\Core\Entity\File\Version instance, which has the getThumbnailURL 方法。

因此,为了使缩略图类型的 URL 具有句柄 small,您只需要这样写:

$img = $c->getAttribute('blogimage');
if ($img !== null) {
    $imgVersion = $img->getVersion();
    $thumbnailURL = $imgVersion->getThumbnailURL('small');
    ?><img src="<?= $thumbnailURL ?>" /><?php
}