File: D:/HostingSpaces/Neopoints/momsecurity.be/app/Posts/Kms/PostModelService.php
<?php declare(strict_types=1);
namespace App\Posts\Kms;
use App\Posts\Models\Post;
use Komma\KMS\Core\Attributes\Models\Traits\HasThumbnailInterface;
use Komma\KMS\Core\ModelService;
use Komma\KMS\Core\Sections\SidebarListItem;
use Komma\KMS\Helpers\KommaHelpers;
class PostModelService extends ModelService
{
public function __construct()
{
$this->modelClassName = Post::class;
parent::__construct();
}
public function getModelsForSideBar(): array
{
parent::getModelsForSideBar();
$posts = $this->modelClassName::orderBy('date', 'desc')->get();
$sidebarList = [];
$posts = $posts->load('documents');
foreach ($posts as $post) {
//New SidebarListItem
$sidebarListItem = new SidebarListItem();
/** @var HasThumbnailInterface $post */
$post->generateThumbnail();
//Set the values for the sidebar
$sidebarListItem->setId($post->id);
$sidebarListItem->setName($post->getSidebarName());
$sidebarListItem->setThumbnail($post->getThumbnail());
$sidebarListItem->alsoSearchInAttributesOfModel($post);
$sidebarList[] = $sidebarListItem;
}
return $sidebarList;
}
}