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();
 | |
|     }
 | |
| 
 | |
| }
 |