内容块可以是文本、HTML 或 Markdown 块其与页面或布局分开编辑。它们旨在仅容纳静态内容并支持基本的模板变量。局部文件 更灵活并且应该用于生成动态内容。
内容块文件位于主题目录的 /content 子目录中。内容文件支持以下扩展名。
| Extension | Description |
|---|---|
| html | Used for HTML markup (WYSIWYG editor). |
| htm | Used for HTML markup (code editor). |
| txt | Used for plain text. |
| md | Used for Markdown syntax. |
扩展影响内容块在后台用户界面中的显示模式,无论是使用所见即所得编辑器、代码编辑器还是 Markdown 编辑器。它还决定了网站上块的渲染方式;例如,Markdown 块在显示前会转换为 HTML。
使用 {% content 'file.htm' %} 标签来渲染一个内容块在一个 页面,局部页面 或 布局 中。
本示例展示了一个完整的页面渲染一个内容块。
url = "/contacts"<div class="contacts">
{% content 'contacts.html' %}
</div>另一个使用md扩展名渲染 Markdown 的示例。
{% content 'my-markdown.md' %}有时您可能需要将变量从外部代码传递给内容块。尽管内容块不支持 Twig 标记,但它们确实支持使用带基本语法的变量。您可以通过在 {% content %} 标记中的内容块名称之后指定变量来将变量传递给内容块。
传递名为name的变量,值为John到内容块.
{% content 'welcome.htm' name='John' %}在内容块内部,可以使用单个 花括号 访问变量。
<h1>This is a demo for {name}</h1>More information on variable use can be found in the Markup guide.
:::
您可以使用 View::share 方法注册对所有内容块全局可用的变量。
View::share('site_name', 'October CMS');放置此方法的常见位置是 插件注册文件 的注册或启动方法内部。使用上述示例,变量 {site_name} 将在所有内容块中可用。
<p>Welcome to {site_name}</p>