60 lines
1.6 KiB
PHP
60 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
class TokenPageStaticOptionApiController extends Controller
|
|
{
|
|
public function show($slug)
|
|
{
|
|
// Key map per halaman (slug => daftar key)
|
|
$keys = [
|
|
'banner_title',
|
|
'banner_subtitle',
|
|
'banner_image',
|
|
'promo_text',
|
|
'promo_cta',
|
|
'promo_link',
|
|
'team_1_name',
|
|
'team_1_position',
|
|
'team_1_photo',
|
|
'content_body',
|
|
];
|
|
|
|
$prefix = "token_page_{$slug}_";
|
|
|
|
$data = [];
|
|
foreach ($keys as $key) {
|
|
$data[$key] = get_static_option($prefix . $key);
|
|
}
|
|
|
|
// Struktur default
|
|
$structured = [
|
|
'slug' => $slug,
|
|
'sections' => [
|
|
'banner' => [
|
|
'title' => $data['banner_title'],
|
|
'subtitle' => $data['banner_subtitle'],
|
|
'image' => $data['banner_image'],
|
|
],
|
|
'promosi' => [
|
|
'text' => $data['promo_text'],
|
|
'cta' => $data['promo_cta'],
|
|
'link' => $data['promo_link'],
|
|
],
|
|
'team' => [
|
|
[
|
|
'name' => $data['team_1_name'],
|
|
'position' => $data['team_1_position'],
|
|
'photo' => $data['team_1_photo'],
|
|
]
|
|
],
|
|
'content' => $data['content_body'],
|
|
]
|
|
];
|
|
|
|
return response()->json($structured);
|
|
}
|
|
}
|