[Drupal] 初試自動化流程工具 Rules

Jiajun Xu 發表於 周日, 06/09/2019 - 01:18

Rules 是 Drupal 裡一個神器級的模組,用來執行一些自動化工作;它除了強大,學問也非常深,還有前輩為此出了一本書這樣。

Rules 常見用法包括:在用戶登入後將其導向某路徑;在用戶發布內容後寄送 email 給管理員;或可搭配 Workflow 等流程工具,將用戶體驗更進一步優化。

它的基本運作模式是這樣的:

  • 事件(Events)→ 觸發
  • 條件(Conditions)→ 過濾
  • 執行動作

以下示範如何設定「在用戶發布文章之後,顯示系統訊息」:

  1. 設定頁面在/admin/config/workflow/rules,點選Add reaction rule
  2. 點開React on event下拉式選單,選取ContentAfter saving a new content item
  3. 接著點選新增條件條件節點Node is of type
    Image removed.
  4. 來到下一頁,有節點跟內容類型兩個「數值」的欄位要輸入。這邊要提醒的是,Rules 在輸入數值的時候,都會有兩種方式:data selectionthe direct input mode
    Image removed.Image removed.
  5. "Node is of type" 的 節點 數值要使用Data selector,游標進到輸入欄位裡,就會自動下可供選擇的數值。選取node(Content)
    Image removed.
  6. "Node is of type" 的 內容類型 數值,則要切換成The direct input mode,直接輸入內容類型機器名稱,例如 "article"。點選儲存完成條件的新增。
  7. 接著新增 動作系統Show a message on the site,點選繼續
    Image removed.
  8. 接著,在 "MESSAGE" 欄位填入你要顯示的訊息;在 "消息類型"(Message type)填入status
    Image removed.
    (我不確定 Message type 除了 status 還可以填入什麼,這步驟是直接抄論壇解答的)
  9. 按下儲存回到 "Edit reaction rule" 頁面,再次儲存就完成 rule 的新增。
  10. 再來新增內容類型 "article" 的 node,看看有沒有成功:
    Image removed.

標籤 (Tags)