内容块可以是与页面或布局分开编辑的文本、HTML 或 Markdown 块。它们旨在仅用于存放静态内容并支持基本的模板变量。局部文件 更灵活并且应被用于生成动态内容。
内容块文件位于主题目录的 /内容 子目录中。内容文件支持以下扩展名。
| 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>有关变量使用的更多信息,请参阅 标记指南。
:::
您可以使用 View::share 方法注册对所有内容块全局可用的变量。
View::share('site_name', 'October CMS');放置此方法的常见位置是 插件注册文件 的 register 或 boot 方法内部。使用上述示例,变量 {site_name} 将在所有内容块中可用。
<p>Welcome to {site_name}</p>