40 lines
1.1 KiB
PHP
40 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Home;
|
|
use Artesaos\SEOTools\Traits\SEOTools as SEOToolsTrait;
|
|
use DateTime;
|
|
|
|
class PublicController extends Controller
|
|
{
|
|
use SEOToolsTrait;
|
|
|
|
public function show($slug)
|
|
{
|
|
$home = Home::where('slug', $slug)->firstOrFail();
|
|
$this->seo()
|
|
->setTitle($home->title)
|
|
->setDescription($home->excerpt())
|
|
->addImages(array_map(static function ($picture) {
|
|
return asset($picture);
|
|
}, $home->pictures));
|
|
$this->seo()
|
|
->opengraph()
|
|
->addProperty('article:published_time', $home->created_at->format(DateTime::ATOM))
|
|
->addProperty('article:author', 'Shikiryu');
|
|
|
|
return view('public.view', ['home' => $home]);
|
|
}
|
|
|
|
public function list()
|
|
{
|
|
$homes = Home::where('slug', '!=', null)->paginate(12);
|
|
$this->seo()
|
|
->setTitle('Liste des maisons rêvées')
|
|
->setDescription('La sélection');
|
|
|
|
return view('public.list', ['homes' => $homes]);
|
|
}
|
|
}
|