Image grid logic

This commit is contained in:
Marek Bachmann 2022-12-08 20:39:51 +01:00
parent 74ff7bae59
commit d270a98e86

View file

@ -3193,9 +3193,9 @@ class Item
{ {
if ($item['has-media']) { if ($item['has-media']) {
if (count($attachments['visual']) > 1) { if (count($attachments['visual']) > 1) {
$img_tags_fc = array();
$img_tags_sc = array(); $img_tags_landscape = array();
$count = 0; $img_tags_portrait = array();
foreach ($attachments['visual'] as $attachment) { foreach ($attachments['visual'] as $attachment) {
$src_url = Post\Media::getUrlForId($attachment['id']); $src_url = Post\Media::getUrlForId($attachment['id']);
$preview_url = Post\Media::getPreviewUrlForId($attachment['id'], ($attachment['width'] > $attachment['height']) ? Proxy::SIZE_MEDIUM : Proxy::SIZE_LARGE); $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, 'preview' => $preview_url,
'attachment' => $attachment, 'attachment' => $attachment,
]); ]);
// @todo add some fany ai to divide images equally on both columns ($attachment['width'] > $attachment['height']) ? ($img_tags_landscape[] = $img_tag) : ($img_tags_portrait[] = $img_tag);
if ($count % 2 == 0) {
$img_tags_fc[] = $img_tag;
} else {
$img_tags_sc[] = $img_tag;
}
++$count;
} }
$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' => [ 'columns' => [
'fc' => $img_tags_fc, 'fc' => $img_tags_fc,
'sc' => $img_tags_sc, 'sc' => $img_tags_sc,
], ],
]); ]);
return $img_grid;
} }
} }