Content Blocks
Content Blocks 這裡我們稱為內容塊。內容塊是可以編輯的文字、HTML程式碼或者Markdown塊。主要用來儲存靜態內容,並支援基本的模板變數。與Partial(部件)相比,部件則更加靈活,一般用於生成動態內容。
介紹
內容塊儲存在主題目錄的content子目錄中。支援以下副檔名的檔案:
Extension Description
htm 使用HTML標記語言
txt 使用純文字語言
md 使用Markdown語法
這些副檔名決定了在後端系統介面中的編輯及顯示方式。也決定了在網站前端的顯示方式。Markdown塊在顯示之前會轉換為HTML格式再顯示。
渲染內容塊
使用{% content `file.htm` %}標籤在Page、Partial 或 Layout 中渲染內容塊。渲染Content Blocks的頁面示例:
url = "/contacts"
==
<div class="contacts">
{% content `contacts.htm` %}
</div>
將變數傳遞給內容塊
內容塊不支援Twig標記,但是支援基本的變數,可以通過變數傳遞值給內容塊。
{% content `welcome.htm` name=`John` %}
在Content Blocks中,可以使用單個大括號 { } 訪問變數:
<h1>This is a demo for {name}</h1>
全域性變數
可以使用該View::share方法註冊一個全域性變數,可用於所有Content Blocks。
View::share(`site_name`, `OctoberCMS`);
這段程式碼可以在 外掛註冊檔案 的註冊或啟動方法中呼叫。使用上面的例子,變數{site_name}將在所有Content Blocks中可用。