OctoberCMS-7-內容塊

Tianby發表於2019-02-16

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中可用。

相關文章