Skip to main content

Drupal 8 教學 - 如何安裝模組

Submitted by admin on Wed, 12/04/2019 - 11:41

這篇文章會介紹如何安裝Drupal的模組,並以一個增加管理員列表運用效率的插件Admin toolbar作為安裝範例。

可外掛由他人撰寫的模組是Druapl能夠保持高度可擴充性的原因。只要有人撰寫了一個模組並把它發佈在社群平台上,其他使用者可以透過圖形介面簡單的安裝,並在自己的網站使用這個新增的功能。

老實說這功能大部分的部落格平台都有,但Drupal模組的好處是通通免費,不會發生給我們一個不上不下的閹割版,然後要付費解鎖進階功能這種狀況。

 

在Drupal中,模組除了要被安裝(install)以外,還需要被“激活”(Enable)才能夠發揮功能。所謂的Install是把該模組的相關檔案放置在網頁主機可存取的檔案系統內,Enable是指讓Drupal core認知到這個模組的存在,才會去執行相關操作。如果想了解的深入一點的話,可以參考自製模組的部分。

不同模組是由相互獨立的第三方編寫而成,儘管願意且能夠把自己的程式碼貢獻在社群上的都是程式高手,在少數不常發生的狀況下,仍然存在著兩個不同的模組會干擾彼此運作的情況。這時候使用者通常會發現在自己Enable某個模組之後,該模組的運作卻不若預期,或者是另外一個原有的功能出問題了,這時候就需要用到Disable新增模組的功能了。

模組可以透過圖形介面或者是composer指令進行安裝,下面這個範例會介紹如何透過圖形介面安裝模組。

如果你在一個主機資源有限的工作站必須透過composer安裝,請參考這篇文章

 

1.啟用網頁安裝模組的功能。

其實透過網頁安裝模組這件事情,也是一個模組所提供的功能。如果你正在操作一個剛剛部屬完的Drupal網站,這個透過網頁安裝模組的模組(好繞口!)應該是還沒有啟用的。第一步會介紹如何啟用這個模組。

如果這個模組在你的網頁已經被啟用了,我們可以直接跳到第二步。

首先,圖同下圖所示,按下管理員欄位中的Extend,或是直接輸入網址[domain]/admin/modules來到模組管理頁面。其中[domain]指的是我們網站的域名,以這個網站為例,就是tw.industion.com。

pic: module_install_02

在圖片中第一個紅框位置有個搜尋欄位,在搜尋框中輸入modules關鍵字來檢索已經存在於本機的模組檔案。輸入後應該能夠找到一個名為Update manager的模組,Update manager是一個Druapl Core自帶的原生模組,不需要另外下載。

我們可以從敘述看到這個模組提供其他模組的更新檢查,以及透過網頁安裝其他模組的功能。Update manager預設是沒有啟用的。請勾選模組名稱左方的checkbox後按下下方的install按鈕。

完成後應該能看到模組已經成功安裝的提示,如下圖綠色區域的訊息所示。

module_install_03.png

 

啟用Update Manager後,我們接著要清除快取。

Drupal會把網頁的部分內容運算過後儲存在一個快取記憶體裡面,稱之為page cache,下次要使用的時候會直接從這一塊記憶體中拿資料,避免重複的運算。清除快取這個步驟可以讓Drupal重新收集網站變更過的資料並重新運算內容,如果以後有安裝或是修改了模組,運作卻不如預期的狀況,也可以試著清除快取看看。

首先點選管理員選單中Configuration選項,在下面的頁面中點選Performance欄位。或是直接透過網址到[domain]/admin/config/development/performance也可以。

module_install_04.png

點進來後看到的第一個按鈕上面寫著Clear all caches,點下去就是了。

module_install_05.png

做完上述的操作後,可以重新回到[domain]/admin/modules的模組管理頁面,裡面會新增一個安裝新模組的按鈕。

 

2.找到符合自己需求的模組

在茫茫模組海中找出自己需要的模組,視乎需求的熱門程度,這可能是最困難的一步。越是冷門的需要就越難找到完全符合需求的模組,但通常可以透過搭配多個不同的模組來達到自記的要求。如果不知道如何去下關鍵字搜尋自己需要的功能的話,可以參考模組介紹裡面的內容。

在這篇教學中以Admin toolbar作為安裝範例。

Admin toolbar是一個可以讓游標移到管理列表上方時,不需點擊,自動產生下方快捷選單的模組。

Admin toolbar方便的功能可以減少讓網站管理員的操作複雜度。大約是每次變更設定時少點幾層網頁,或是少捲幾次滑鼠的程度。看似不多,但要架站初期需要頻繁的調整網頁設定時可以省下相當可觀的時間。

首先,先進到社群中關於這個模組的相關網站:https://www.drupal.org/project/admin_toolbar

然後在這個頁面最下方的下載連結處,找到8.x開頭的版本(因為我們用的是Druapl8,如果是Druapl7的話就找7.x,以此類推),點選右鍵,選擇複製連結網址。如下方圖片所示。

module_install_01

 

複製了模組檔案的下載網址之後,我們重新點選管理列的Extend按鈕,進入網站的模組管理頁面中(/admin/modules),這時候可以看到我們第一步的成果,多了一個install new module的按鈕。或者也可以透過網址[domain]/admin/modules/install來到安裝頁面。

module_install_06.png

 

在[domain]/admin/modules/install的頁面中,我們接著在透過URL安裝模組的欄位(install from url)中貼上剛剛複製的Admin toolbar的模組網址,點擊install安裝。

當然,如果剛剛我們在模組網頁中直接把模組的壓縮檔下載下來的話,我們可以點選「選擇檔案」選擇剛剛所抓下來的模組壓縮檔上傳。複製並貼上網址的步驟只是省略下載檔案到我們電腦上的步驟而已,Drupal會自己從我們給定的網址去下載檔案。

module_install_07.png

按下install按鈕後,Drupal會透過FTP去下載剛剛貼上的連結。如果我們的主機有針對FTP做過一些安全性設定的話,我們可能會需要輸入密碼才能啟動下載。但正常而言按下按鈕後是不需要其他操作的。

檔案下載並安裝完成後會跳出下圖的頁面,選擇Enable Installed module,我們會被重新導向至[domain]/admin/modules。

module_install_08.png

這時候可以捲動列表,或是在search bar中輸入剛才所安裝的模組的部分名稱來快速找到該模組的欄位,由於我們所安裝的模組名稱為Admin toolbar,我們只要輸入admin之類的片段相關字應該就能快速的找到目標了。

找到Admin toolbar後勾選左邊的checkbox,接著按下最下方的install按鈕即可,這個步驟會告訴Druapl要啟用已經下載的模組。

另外補充一點,有部分的模組與其他模組有相依性關係,例如第二個模組需要第一個模組有被安裝並啟用,若前置條件沒有達成,是沒有辦法啟用第二個模組的。這時候會看到第一個模組的 enable checkbox無法勾選。

下圖紅框處有標示要啟用Admin toolbar這個模組所需要的前置要求,在安裝其他模組無法啟用的時候可以在相同的欄位確認一下。

module_install_09.png

勾選後按下install,跳出Module Admin toolbar has been enabled的訊息後,這個模組算是可以使用了。可以看到在滑鼠游標移到管理列表上時,自動跳出了下拉選單。如果沒有東西出現,可以重複前幾步的清除快取(clear all cache)後再試一次。

module_install_10.png