Grav - 事件鉤子



在本章中,我們將學習 Grav 中的事件鉤子。在外掛章節中,您將看到,外掛的邏輯包含在兩種方法中。這些方法是onPluginsInitializedonPageInitialized;這些方法類似於事件鉤子。要了解更多並控制 Grav 外掛的功能,您需要檢查事件鉤子的可用性。事件鉤子與 Grav 從始至終都有直接關係。您必須瞭解鉤子呼叫的順序以及在這些呼叫時可以使用什麼。

下表列出了在頁面處理過程中啟用的核心 Grav 事件鉤子

序號 事件和描述
1

onFatalException

如果PHP出現致命異常,您可以隨時觸發此事件。Problem 外掛使用它來管理顯示完整解釋的列表,說明 Grav 為什麼會提供致命錯誤。

2

onPluginsInitialized

這是 Grav 中第一個可用的外掛事件。以下物件已按如下所述引入:

  • Uri
  • Config
  • Debugger
  • Cache
  • Plugins
3

onAssetsInitialized

這表示資源管理器已載入並準備使用和管理。

4

onPageNotFound

如果您發現了一個意外頁面,您可以忽略此事件。目前,錯誤外掛用於指定404 錯誤頁面。

5

onPageInitialized

這指定了透過URL請求的頁面,該頁面已載入到 Page 物件中。

6

onOutputGenerated

這指定了Twig 模板引擎的輸出過程。目前,它只是一個HTML字串。

7

onOutputRendered

這是一個輸出過程,傳送到顯示器。

8

onShutdown

這是一個新的且功能強大的事件,允許您執行操作。這在 Grav完成處理並且與客戶端的連線關閉後完成。此單獨的操作不需要任何使用者互動,因此會影響效能。它包括使用者跟蹤和作業處理。

9

onBeforeDownload

這是一個新事件,傳遞到包含檔案的事件物件中。它允許使用者執行日誌記錄,授予和忽略下載所述檔案的許可權。

Twig 事件鉤子

Twig 有自己的事件鉤子集合,如下所述使用。

序號 事件和描述
1

onTwigTemplatePaths

模板路徑的基本位置設定在Twig 物件上。此事件用於新增 Twig 將在其中搜索模板路徑的其他位置。

2

onTwiglnitialized

初始化Twig 模板引擎。

3

onTwigExtensions

它指定核心 Twig 擴充套件程式已準備好使用。此事件鉤子允許您新增自己的 Twig 擴充套件程式。

4

onTwigPageVariables

此 Twig 過程允許您直接處理頁面,即您可以在頁面的 YAML 標頭中找到process:twig:tru。在這裡,您可以向 Twig 新增任何變數,並且在該過程中應可訪問 Twig。

5

onTwigSiteVariables

在此過程中,您將按順序看到 Twig 方法中的完整站點模板。此外,您可以在此過程中向 Twig 新增任何變數。

集合事件鉤子

下表列出了一個集合事件鉤子。

序號 事件和描述
1

onCollectionProcessed

在本節中,一旦過程完成,您就可以控制集合。

頁面事件鉤子

下表列出了頁面事件鉤子的集合。

序號 事件和描述
1

onBuildPagesInitialized

此事件對於外掛控制內容和快取結果很有用。啟用此事件後,頁面將被回收。當快取過期或需要重新整理時,就會發生這種情況。

2

onBlueprintCreated

此事件有助於處理和管理表單。

3

onPageContentRaw

在此過程中,當找到頁面時,標頭已固定,但內容未固定。您將看到 Grav 系統中每個頁面都已觸發。如果您已清除快取或正在清除快取,則會發生此事件。

4

onPageProcessed

一旦頁面測試並固定,Grav 系統中的每個頁面都會被忽略。在這種情況下,效能無關緊要,因為它不會在快取頁面上播放。

5

onPageContentProcessed

您可以看到此事件已忽略,一旦頁面的 content() 技術已修復頁面內容。如果要對後固定內容執行操作,此事件很有用,但請確保結果已快取

6

onFolderProcessed

一旦資料夾經過測試和固定,Grav 系統中的每個資料夾都會被忽略。在這種情況下,效能無關緊要,因為它不會在快取頁面上播放。

廣告

© . All rights reserved.