移至主內容
首頁  >  Drupal目錄  >  在進行除錯時定位模板檔案

在進行除錯時定位模板檔案

Tag :
twig, debug
Written by Shiuan on 13 December 2023

要知道哪個模板產生了特定元素的標記,您可以使用 Twig 內建的除錯 (debug) 選項。此選項將在輸出旁呈現 HTML 註釋,其中包含正在使用的主題掛鈎、建議的模板文件名稱,以及標示用於呈現標記的特定 Twig 文件。

sites/default/services.yml 啟用 Twig 除錯,將 debug: true 設置在 twig.config下(在生產環境中勿使用它)。如果您在 Drupal 8 中使用多個站點,您應該在正在設計的特定站點 sites/currentsite 目錄中編輯services.yml 文件。如果 services.yml 尚不存在,複製 sites/default 目錄下的 default.services.yml,並將其重新命名為 services.yml。有關 Twig 除錯的詳細說明,請參閱 Debugging compiled Twig Templates

在清除緩存後,檢查頁面的源代碼;您將看到類似下方的代碼:

<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
  * node--view--frontpage--page-1.html.twig
  * node--view--frontpage.html.twig
  * node--1--teaser.html.twig
  * node--1.html.twig
  * node--article--teaser.html.twig
  * node--article.html.twig
  * node--teaser.html.twig
  x node.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/classy/templates/content/node.html.twig' -->

<article data-history-node-id="1" data-quickedit-entity-id="node/1" role="article" class="contextual-region node node--type-article node--promoted node--view-mode-teaser" about="/node/1" typeof="schema:Article" data-quickedit-entity-instance-id="0">
....
</article>

<!-- END OUTPUT from 'core/themes/classy/templates/content/node.html.twig' -->


關於這個除錯輸出,有幾點需要指出:

  1. 檔案名稱建議按照從最具體到最不具體的順序排列。

  2. 正在使用的當前檔案名稱建議旁邊加上一個 'x'。

  3. BEGIN OUTPUTEND OUTPUT 之間,您將找到正在呈現的模板其完整路徑。

返回Drupal
首頁  >  Drupal  >  在進行除錯時定位模板檔案

在進行除錯時定位模板檔案

Tag :
twig, debug
Written by Shiuan on 13 December 2023

要知道哪個模板產生了特定元素的標記,您可以使用 Twig 內建的除錯 (debug) 選項。此選項將在輸出旁呈現 HTML 註釋,其中包含正在使用的主題掛鈎、建議的模板文件名稱,以及標示用於呈現標記的特定 Twig 文件。

sites/default/services.yml 啟用 Twig 除錯,將 debug: true 設置在 twig.config下(在生產環境中勿使用它)。如果您在 Drupal 8 中使用多個站點,您應該在正在設計的特定站點 sites/currentsite 目錄中編輯services.yml 文件。如果 services.yml 尚不存在,複製 sites/default 目錄下的 default.services.yml,並將其重新命名為 services.yml。有關 Twig 除錯的詳細說明,請參閱 Debugging compiled Twig Templates

在清除緩存後,檢查頁面的源代碼;您將看到類似下方的代碼:

<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
  * node--view--frontpage--page-1.html.twig
  * node--view--frontpage.html.twig
  * node--1--teaser.html.twig
  * node--1.html.twig
  * node--article--teaser.html.twig
  * node--article.html.twig
  * node--teaser.html.twig
  x node.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/classy/templates/content/node.html.twig' -->

<article data-history-node-id="1" data-quickedit-entity-id="node/1" role="article" class="contextual-region node node--type-article node--promoted node--view-mode-teaser" about="/node/1" typeof="schema:Article" data-quickedit-entity-instance-id="0">
....
</article>

<!-- END OUTPUT from 'core/themes/classy/templates/content/node.html.twig' -->


關於這個除錯輸出,有幾點需要指出:

  1. 檔案名稱建議按照從最具體到最不具體的順序排列。

  2. 正在使用的當前檔案名稱建議旁邊加上一個 'x'。

  3. BEGIN OUTPUTEND OUTPUT 之間,您將找到正在呈現的模板其完整路徑。