说明
主题或更换主题是针对于整个cms界面的。october主题是完全基于文件的,可以使用任何版本控制系统进行管理,例如Git。下面对主题的基本说明:
对象 | 描述 |
---|---|
页面 pages | 表示网站的具体内容页 |
部件 partials | 包含可重复使用的HTML标记块 |
布局 layouts | 定义页脚手架 |
内容 contents | 文本,HTML或Markdown块,可以引用到页面或布局文件。 |
资源 assets | 是资源目录,如图像,CSS和JavaScript文件。 |
主题都有一个单独的目录,通常有切仅有一个活跃的主题用于显示网站。此示例显示“网站”主题目录。
themes/
website/ <=== Theme starts here
pages/ <=== Pages directory
home.htm
layouts/ <=== Layouts directory
default.htm
partials/ <=== Partials directory
sidebar.htm
content/ <=== Content directory
intro.htm
assets/ <=== Assets directory
css/
my-styles.css
js/
images/
修改主题可修改config/cms.php中的 'activeTheme' => 'demo'配置项。或登录后台
设置(setting)->内容管理(cms)->前端主题( Front-end Theme)相应进行查找更换、编辑!
子目录
october cms支持页面,部分,布局和内容文件的单级子目录.资源目录可以有任何结构。这简化了组织大型网站。在下面的示例目录结构中,您可以看到pages和partials目录包含blog子目录,content目录包含home子目录。
themes/
website/
pages/
home.htm
blog/ <=== Subdirectory
archive.htm
category.htm
partials/
sidebar.htm
blog/ <=== Subdirectory
category-list.htm
content/
footer-contacts.txt
home/ <=== Subdirectory
intro.htm
要从子目录引用部分或内容文件,请在模板名称之前指定子目录名称。从子目录中渲染部分的示例
{% partial "blog/category-list" %}
注意:模板路径总是绝对的。如果在一个部分中,您将从同一个子目录中渲染另一个部分,您仍然需要指定子目录名称。
模板结构
url = "/blog"
layout = "default"
==
function onStart()
{
$this['posts'] = ...;
}
==
<h3>Blog archive</h3>
{% for post in posts %}
<h4>{{ post.title }}</h4>
{{ post.content }}
{% endfor %}
配置部分
配置部分设置模板参数。支持的配置参数特定于不同的CMS模板,并在相应的文档文章中进行了说明。配置部分使用简单的INI格式,其中字符串参数值用引号括起来。页面模板的示例配置部分:
url = "/blog"
layout = "default"
[component]
parameter = "value
PHP代码部分
PHP部分中的代码在渲染模板之前每次执行。PHP部分对于所有CMS模板是可选的,其内容取决于定义它的模板类型。PHP代码部分可以包含可选的打开和关闭的PHP标签,以便在文本编辑器中启用语法高亮。应该始终在分隔符的另一行上指定打开和关闭标签==。
url = "/blog"
layout = "default"
==
<?
function onStart()
{
$this['posts'] = ...;
}
?>
==
<h3>Blog archive</h3>
{% for post in posts %}
<h4>{{ post.title }}</h4>
{{ post.content }}
{% endfor %}
在PHP部分,您只能使用PHP use关键字定义函数并引用命名空间。PHP部分中不允许使用其他PHP代码。这是因为PHP页面被解析时转换为PHP类。使用命名空间引用的示例:
url = "/blog"
layout = "default"
==
<?
use Acme\Blog\Classes\Post;
function onStart()
{
$this['posts'] = Post::get();
}
?>
==
作为设置变量的一般方法,您应该使用数组访问方法$this,虽然为简单起见,您可以将对象访问用作只读,例如
// Write via array
$this['foo'] = 'bar';
// Read via array
echo $this['foo'];
// Read-only via object
echo $this->foo;
使用的twig模版引擎,查看twig语法,http://twig.sensiolabs.org/documentation