world-game/site/templates/portfolio.json.php

33 lines
1.1 KiB
PHP
Raw Normal View History

<?php
$specificData = [
'intro' => [
'title' => $page->intro_title()->value(),
'text' => $page->intro_text()->value()
],
'projects' => $page->children()->listed()->map(function($project) {
return [
'title' => $project->title()->value(),
'slug' => $project->slug(),
'url' => $project->url(),
'tagline' => $project->tagline()->value(),
'description' => $project->description()->value(),
'cover' => $project->cover()->toFile()?->url(),
'cover_thumb' => $project->cover()->toFile()?->thumb(['width' => 100])->url(),
'gallery' => $project->files()->filterBy('template', 'image')->limit(5)->map(function($img) {
return $img->url();
})->values(),
'impact' => $project->impact()->split(','),
'category' => $project->category()->value(),
'platforms' => $project->platforms()->split(','),
'apple_link' => $project->apple_link()->value(),
'android_link' => $project->android_link()->value()
];
})->values()
];
$pageData = array_merge($genericData, $specificData);
header('Content-Type: application/json');
echo json_encode($pageData);