视图可用变量

每类页面能拿到哪些变量,以及跨栏目取数据的频道契约。

视图里的变量分两类:全站共享的和页面局部的。

全站共享

任何视图都能直接使用:

变量 说明
$site 站点实体,常用 $site->name
$company 企业档案(名称、电话、邮箱、地址)
$nav 导航树
$channels 频道契约,见下
$ui 界面文案字典,支持多语言
$url(...) URL 构造器
$base 站点根路径,拼静态资源用

频道契约

$channels 按栏目 key 索引,每项都带该栏目的完整条目集合:

@php($sec = $channels['ch-dev'] ?? null)
@if ($sec)
  <h3>{{ $sec['name'] }}</h3>
  @foreach ($sec['items'] as $item)
    <a href="{{ $url('article', $item) }}">{{ $item->title }}</a>
  @endforeach
@endif

这是跨栏目取数据的唯一途径。详情页本身只拿得到 related(上限 6 条), 要画全站目录树就得走 $channels。

页面局部

列表页

$articles、$pagination、$columnTitle、$columnUrl、$channel。

详情页

$article、$breadcrumbs、$prev、$next、$related、$fieldSchema。

正文用 RichText::render($article->content, $article->content_format) 渲染, 它按格式分派到 Markdown 或 HTML 净化,直接输出原始字段会丢排版。