Browse Source

Controllers+Views: Move tag splitting logic to controller

master
Riyyi 2 years ago
parent
commit
f7c6276a7a
  1. 15
      app/controllers/BlogController.php
  2. 8
      app/views/partials/blog-posts.php

15
app/controllers/BlogController.php

@ -54,9 +54,20 @@ class BlogController extends PageController {
return "<u class=\"text-decoration-none text-reset\" title=\"{$timestamp}\">{$date}</u>";
};
$this->router->service()->tags = function (string $tags): array {
$this->router->service()->tags = function (string $tags): string {
$result = "";
// Remove empty elements via array_filter()
return array_filter(explode(':', $tags));
$splitTags = array_filter(explode(':', $tags), function ($tag) {
return !empty(trim($tag));
});
foreach ($splitTags as $key => $tag) {
$result .= $tag;
$result .= (($key === array_key_last($splitTags)) ? '' : ', ');
}
return $result;
};
}

8
app/views/partials/blog-posts.php

@ -15,13 +15,7 @@
</p>
<?php if (_exists($post, 'tag')) { ?>
<small>
<i>
tags:
<?php $tags = ($this->tags)($post['tag']); ?>
<?php foreach ($tags as $key => $tag) { ?>
<?= $tag . (($key === array_key_last($tags)) ? '' : ', '); ?>
<?php } ?>
</i>
<i>tags: <?= ($this->tags)($post['tag']); ?></i>
</small>
<div class="d-md-none mb-3"></div>
<?php } ?>

Loading…
Cancel
Save