52 lines
1.1 KiB
PHP
52 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Zoomyboy\Social\Components;
|
|
|
|
use Cms\Classes\ComponentBase;
|
|
use Illuminate\Support\Collection;
|
|
use Zoomyboy\Social\Models\Page;
|
|
use Zoomyboy\Social\Models\Post;
|
|
|
|
class FacebookPageFeed extends ComponentBase
|
|
{
|
|
|
|
public Collection $posts;
|
|
public string $logo;
|
|
|
|
public function componentDetails(): array
|
|
{
|
|
return [
|
|
'name' => 'FacebookFeed',
|
|
'description' => 'No description provided yet...',
|
|
];
|
|
}
|
|
|
|
public function onRender(): void
|
|
{
|
|
$this->posts = Post::where('page_id', $this->property('pageid'))
|
|
->select('*')
|
|
->withIntro()->with('attachments')->latest()->limit(20)
|
|
->get();
|
|
$this->logo = $this->property('logo');
|
|
}
|
|
|
|
public function defineProperties(): array
|
|
{
|
|
return [
|
|
'pageid' => [
|
|
'type' => 'dropdown',
|
|
'label' => 'Seite',
|
|
],
|
|
'logo' => [
|
|
'label' => 'Logo',
|
|
],
|
|
];
|
|
}
|
|
|
|
public function getPageidOptions(): array
|
|
{
|
|
return Page::get()->pluck('slug', 'id')->toArray();
|
|
}
|
|
|
|
}
|