Files
totalsport/common/Controller/Web/Home.php
2020-04-10 14:39:18 -04:00

48 lines
1.8 KiB
PHP

<?php
namespace ProVM\TotalSport\Common\Controller\Web;
use Psr\Container\ContainerInterface as Container;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
use Slim\Views\Blade as View;
use Spyc;
class Home {
public function __invoke(Request $request, Response $response, Container $container, View $view): Response {
$banner = (object) [
'title' => 'BUSCAMOS LA MEJOR EXPERIENCA',
'contenido' => 'Eventos hechos a tu medida'
];
$servicios = $this->loadData($container, 'servicios');
$frase = (object) [
'titulo' => 'Lorem ipsum dolor sit amet, consectetur adipiscing',
'contenido' => 'elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation'
];
$clientes = [];
for ($i = 0; $i < 20; $i ++) {
$clientes[$i] = '<div class="ui fluid placeholder"><div class="circular image"></div>' . $i . '</div>';
}
$testimonios = $this->loadData($container, 'testimonios');
$eventos = $this->loadData($container, 'eventos');
foreach ($eventos as &$evento) {
if (!isset($evento->image)) {
$evento->image = '<div class="ui fluid placeholder"><div class="rectangular image"></div></div>';
}
if (!isset($evento->servicio)) {
$evento->servicio = mt_rand(0, count($servicios) - 1);
}
}
return $view->render($response, 'home', compact('banner', 'servicios', 'frase', 'clientes', 'testimonios', 'eventos'));
}
protected function loadData(Container $container, string $file_name) {
$filename = implode(DIRECTORY_SEPARATOR, [
$container->get('folders.data'),
$file_name . '.yml'
]);
return json_decode(json_encode(Spyc::YAMLLoad($filename)));
}
}