Image grid logic

This commit is contained in:
Marek Bachmann 2022-12-08 20:39:51 +01:00
parent 74ff7bae59
commit d270a98e86
1 changed files with 24 additions and 12 deletions

View File

@ -3193,9 +3193,9 @@ class Item
{
if ($item['has-media']) {
if (count($attachments['visual']) > 1) {
$img_tags_fc = array();
$img_tags_sc = array();
$count = 0;
$img_tags_landscape = array();
$img_tags_portrait = array();
foreach ($attachments['visual'] as $attachment) {
$src_url = Post\Media::getUrlForId($attachment['id']);
$preview_url = Post\Media::getPreviewUrlForId($attachment['id'], ($attachment['width'] > $attachment['height']) ? Proxy::SIZE_MEDIUM : Proxy::SIZE_LARGE);
@ -3205,22 +3205,34 @@ class Item
'preview' => $preview_url,
'attachment' => $attachment,
]);
// @todo add some fany ai to divide images equally on both columns
if ($count % 2 == 0) {
$img_tags_fc[] = $img_tag;
} else {
$img_tags_sc[] = $img_tag;
}
++$count;
($attachment['width'] > $attachment['height']) ? ($img_tags_landscape[] = $img_tag) : ($img_tags_portrait[] = $img_tag);
}
$img_grid = Renderer::replaceMacros(Renderer::getMarkupTemplate('content/image_grid.tpl'), [
$landscapesCount = count($img_tags_landscape);
$portraitsCount = count($img_tags_portrait);
// @todo add some fany ai to divide images equally on both columns
$img_tags_fc = array();
$img_tags_sc = array();
if ($landscapesCount == 0) {
// only portrait
for ($i = 0; $i < $portraitsCount; $i++) {
($i % 2 == 0) ? ($img_tags_fc[] = $img_tags_portrait[$i]) : ($img_tags_sc[] = $img_tags_portrait[$i]);
}
}
if ($portraitsCount == 0) {
// ony landscapes
for ($i = 0; $i < $landscapesCount; $i++) {
($i % 2 == 0) ? ($img_tags_fc[] = $img_tags_landscape[$i]) : ($img_tags_sc[] = $img_tags_landscape[$i]);
}
}
return Renderer::replaceMacros(Renderer::getMarkupTemplate('content/image_grid.tpl'), [
'columns' => [
'fc' => $img_tags_fc,
'sc' => $img_tags_sc,
],
]);
return $img_grid;
}
}