decor-6-site/site/snippets/blocks/image.php

39 lines
912 B
PHP
Raw Normal View History

2026-01-05 19:33:15 +01:00
<?php
/** @var \Kirby\Cms\Block $block */
$alt = $block->alt();
$caption = $block->caption();
$crop = $block->crop()->toBool();
$link = $block->link();
$ratio = $block->ratio()->or('auto');
$src = null;
if ($block->location() == 'web') {
$src = $block->src()->esc();
} elseif ($image = $block->image()->toFile()) {
$alt = $alt->or($image->alt());
$src = $image->url();
}
?>
<?php if ($src): ?>
<figure
data-crop="<?= $crop ? 'true' : 'false' ?>"
data-ratio="<?= $ratio ?>"
style="--ratio: <?= $ratio ?>;"
>
<?php if ($link->isNotEmpty()): ?>
<a href="<?= Str::esc($link->toUrl()) ?>">
<img src="<?= $src ?>" alt="<?= $alt->esc() ?>">
</a>
<?php else: ?>
<img src="<?= $src ?>" alt="<?= $alt->esc() ?>">
<?php endif ?>
<?php if ($caption->isNotEmpty()): ?>
<figcaption>
<?= $caption->kt() ?>
</figcaption>
<?php endif ?>
</figure>
<?php endif ?>