Skip to main content

apply_layout

Function apply_layout 

Source
pub fn apply_layout(
    content: &str,
    config: &ViewConfig,
) -> Result<String, ViewError>
Expand description

应用布局(对齐 PHP compiler() + parseLayout()

PHP 流程:

  1. compiler() 检查 layout_on,如果开启则读取布局模板并替换 {__CONTENT__}
  2. parseLayout() 检查 {layout} 标签,如果存在且未被 compiler() 处理则应用

Rust 合并为单函数,按 PHP 顺序执行:

  1. 应用配置布局(layout_on=true),处理 {__NOLAYOUT__}
  2. 解析 {layout} 标签(对齐 parseLayout()

§参数

  • content — 模板内容
  • config — 视图配置

§返回

应用布局后的内容

§错误

  • 如果 layout_on=true 且布局文件不存在,返回 ViewError::TemplateNotFound
  • 如果 {layout} 标签指定的布局文件不存在,返回 ViewError::TemplateNotFound