說明
主題或更換主題是針對于整個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