36 lines
1.8 KiB
PHP
36 lines
1.8 KiB
PHP
<?php
|
|
$n = $n ?? null;
|
|
$layoutArr = [];
|
|
if (!empty($n['layout'])) { $d = json_decode($n['layout'], true); if (is_array($d)) $layoutArr = $d; }
|
|
$hasCanvas = !empty($layoutArr);
|
|
?>
|
|
<section class="page-hero">
|
|
<div class="container">
|
|
<h1><?php echo e($n['title']); ?></h1>
|
|
<p><?php echo e(format_date($n['published_at'])); ?> · <?php echo e($n['author']); ?></p>
|
|
</div>
|
|
</section>
|
|
<div class="container">
|
|
<nav class="breadcrumb"><a href="<?php echo site_url(); ?>">首页</a> / <a href="<?php echo site_url('news'); ?>">新闻动态</a> / <?php echo e($n['title']); ?></nav>
|
|
</div>
|
|
|
|
<?php if ($hasCanvas): ?>
|
|
<?php echo \Core\View::buffer('parts/canvas', ['layout' => $layoutArr, 'item' => $n, 'module' => 'news']); ?>
|
|
<?php else: ?>
|
|
<section class="section" style="padding-top:10px">
|
|
<div class="container" style="max-width:780px">
|
|
<article class="detail-desc" style="font-size:16px"><?php echo e($n['content']); ?></article>
|
|
</div>
|
|
</section>
|
|
<?php endif; ?>
|
|
|
|
<section class="section" style="padding-top:0">
|
|
<div class="container" style="max-width:780px">
|
|
<div style="display:flex;justify-content:space-between;margin-top:40px;gap:12px;flex-wrap:wrap">
|
|
<?php if ($prev): ?><a class="btn btn-ghost" href="<?php echo site_url('news/' . $prev['slug']); ?>">← <?php echo e(mb_substr($prev['title'],0,14)); ?></a><?php else: ?><span></span><?php endif; ?>
|
|
<?php if ($next): ?><a class="btn btn-ghost" href="<?php echo site_url('news/' . $next['slug']); ?>"><?php echo e(mb_substr($next['title'],0,14)); ?> →</a><?php else: ?><span></span><?php endif; ?>
|
|
</div>
|
|
<div style="text-align:center;margin-top:30px"><a class="more-link" href="<?php echo site_url('news'); ?>">返回新闻列表</a></div>
|
|
</div>
|
|
</section>
|