[TOC]
内容块是文本,HTML或[Markdown](#3)块,可以与页面或布局分开编辑。它们仅用于保存静态内容并支持基本的模板变量。[部件](#3)更加灵活,并应被用于生成动态内容。
## **介绍**
内容块文件驻留在主题目录的**/ content**子目录中。内容文件支持以下扩展:
| 扩展 | 描述 |
| --- | --- |
| **HTM** | 用于HTML标记。 |
| **txt** | 用于纯文本。 |
| **MD** | 用于Markdown语法。 |
扩展会影响内容块在后端用户界面(使用WYSIWYG编辑器或纯文本编辑器)中的显示方式以及块在网站上的呈现方式。Markdown块在显示之前会转换为HTML。
## **渲染内容块**
使用`{% content 'file.htm' %}`标记在[页面](#3),[部分](#3)或[布局中](#3)呈现内容块。呈现内容块的页面示例:
~~~
url = "/contacts"
==
<div class="contacts">
{% content 'contacts.htm' %}
</div>
~~~
## **将变量传递给内容块**
有时您可能需要将变量从外部代码传递到内容块。虽然内容块不支持使用Twig标记,但它们确实支持使用具有基本语法的变量。您可以通过在`{% content %}`标记中的内容块名称之后指定变量来将变量传递给内容块:
~~~
{% content 'welcome.htm' name='John' %}
~~~
在内容块中,可以使用单个*大括号*访问变量:
~~~
<h1>This is a demo for {name}</h1>
~~~
可以[在标记指南中](#3)找到更多信息。
### **全局变量**
您可以使用该`View::share`方法注册全局可用于所有内容块的变量。
~~~
View::share('site_name', 'OctoberCMS');
~~~
可以在[插件注册文件](#3)的寄存器或引导方法内调用此代码。使用上面的示例,变量`{site_name}`将在所有内容块中可用。
- 安装程序
- 安装
- 配置
- CMS
- 主题
- 页面
- 部件
- 布局
- 内容
- 组件
- 媒体
- 标记指南
- AJAX
- 介绍
- 事件处理
- 更新部件
- 数据属性API
- JavaScript API
- 额外特征
- 主题
- 开发主题
- 插件
- 注册
- 版本
- 使用Composer
- 构建组件
- 设置和配置
- 本地化
- 任务调度
- 扩展插件
- 后台
- 控制器和AJAX
- 视图和部件
- 小工具
- 表单
- 列表
- 关联
- 重新排序
- 导入导出
- 用户和权限
- 用户界面指南
- 数据库
- 基本用法
- 结构
- 查询构造器
- 模型
- 关联
- 附件
- 集合
- 访问器和修改器
- 序列化
- 特性
- 行为
- 服务
- 应用
- 行为
- 缓存
- 集合
- 错误&日志
- 事件
- 表单&HTML
- 文件系统/CDN
- 哈希&加密
- 助手函数
- 邮件
- 分页
- 分析器
- 队列
- 请求&输入
- 响应&视图
- 路由
- Session
- 验证
- 控制台
- 命令
- 脚手架
- 开发
- API文档
- 附录
- 单元测试
- 质量指南
- 开发指南