九月 3, 2019 | 前端與Vue

【D8教學】Drupal8超新手入門開發系列-twig

前言 在Drupal8的開發中,twig佔了非常重要的一部份,D8版型系統中要呼叫後端的變數、寫HTML、對變數做處理等等都是使用twig,此篇文章先初步介紹新手遇上twig需要注意哪些事情。 如何修改twig 在專案開始時會需要設定settings.php若有多人協同開發則還會有settings.local.php若為多人協同開發在settings.local.php設定$settings['twig_debug'] = TRUE;即可使用twig修改成指定檔名的twig。 打開開發人員工具可以看到以下twig的提示:

前言

在Drupal8的開發中,twig佔了非常重要的一部份,D8版型系統中要呼叫後端的變數、寫HTML、對變數做處理等等都是使用twig,此篇文章先初步介紹新手遇上twig需要注意哪些事情。

如何修改twig

在專案開始時會需要設定settings.php若有多人協同開發則還會有settings.local.php若為多人協同開發在settings.local.php設定$settings['twig_debug'] = TRUE;即可使用twig修改成指定檔名的twig。 打開開發人員工具可以看到以下twig的提示:

第一個紅框裡面是系統提示的建議修改檔名,越上層影響的範圍越小,以上圖為例,若將檔名修改為block--views-block--wash-machine-introduce-block-1.html.twig則twig只會針對這個名為wash-machine-introduce-block-1的views block產生變化,若檔名改成block--views.html.twig只要是views的block都會有影響,所以修改twig的第一個小細節就是檔名選擇,不能隨便亂選,否則會影響他人的程式。

第二個紅框則會告訴你預設的twig是哪個檔案,找到該檔案並複製到專案所使用的theme資料夾內的templates,並修改成第一個紅框提示的檔名,就能開始調整版面啦。

twig變數

較常需要修改的twig通常跟views及content type有關,會需要修改views所呼叫的變數,或者針對特定content type的文章內頁進行修改,這時也會使用到twig,若是上述兩種,進入twig檔通常會看到{{ label }} }label是文章內頁的標題,content是views的所有欄位內容或者文章的內容。在我新增的content type中有下圖這些欄位:假設今天我要將列表頁圖片還有摘要顯示出來,就需要呼叫field_list_img & field_description,所以看到下圖的twig我呼叫了這兩個變數,由於這些都在content的陣列底下,所以使用上會變成{{ content.你呼叫的變數 }}。

結語

在Drupal8中對於初學者來說能正確將變數呼叫出來,在正常的版型編排上就足夠了,當然後續還有進階版的twig資料處理及preprocess等更強大更深入的內容,未來將進一步介紹進階版twig實用篇。

hashtags: