48 lines
1.8 KiB
PHP
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)));
|
|
}
|
|
}
|