在 Drupal 8/9 可以用 OpenDialogCommand Class 來實作 Dialog 或 Modal Dialog。
但要怎麼讓 Dialog 可以因應載具尺寸自動調整呢?例如電腦版下最多 700px 的大小、而在手機版底下則變成滿版。在網路上搜尋到的範例,大多是
在 Drupal 8/9 可以用 OpenDialogCommand Class 來實作 Dialog 或 Modal Dialog。
但要怎麼讓 Dialog 可以因應載具尺寸自動調整呢?例如電腦版下最多 700px 的大小、而在手機版底下則變成滿版。在網路上搜尋到的範例,大多是
Drupal 8/9 改用 Configuration API 儲存模組的設定值及相關資料,此舉讓網站的設定資料搬遷變得更容易,但如果你遇到 Drupal 8 早期開發的模組(如 Commerce Inventory),因為模組的反安裝機制沒有寫好,以致於模組沒有成功反安裝而留下部分設定資料未能順利刪除時,這時就可以手動來裝這些資料刪掉。例如本文範例遇到的錯誤訊息如下:
如果你看到內文圖像無法顯示,並且圖像標題顯示
This image has been removed. For security reasons, only images from the local domain are allowed.
那應該就是文字格式裡不小心啟用了 Restrict images to this site 的選項,所以把外部圖像過濾掉了,關閉此過濾器就好了。
Ref: How do I override the "This image has been removed" message?
如題,主要就是在分類編輯頁,沒有出現「上層次分類」(parent) 欄位,而當次分類詞太多的時候,又無法用拖拉的方式調整分類詞的階層關係(例如出現在第二頁的分類詞,就無法拉到第一頁的父分類詞下)。這個問題滿奇特,一開始用關鍵字(例如 taxonomy parent disappear)搜尋都找不到真正的答案。
後來直接看程式碼
在 sites/default/services.yml
填入以下內容
parameters:
twig.config:
debug : true
auto_reload: true
cache: false
雖然用 Drupal 8/9 也有幾年的時間,但越來越少有機會用到 Rules,不知道原來 Rules 裡面應該無法直接使用 token 了。遇到此問題,最直覺蹦出來的想法,就是應該會有其他的模組可以解決吧,於是找了 Rules Token 試試看,但效果不如預期。
後來再重新搜尋一次資料,這才發現原來是 Rules 現在支援使用 twig 語法來取得 token 值,也就是說,只要把原本的 [node:title]
改成 {{ node.title }}
就好了。
如果要移除模組時,遇到「欄位即將刪除(fields pending deletion)」,且清除快取或執行 cron 之後還是無法處理時,這時可以試試以下的 drush 指令
drush php-eval 'field_purge_batch(10000);'
Ref: “Fields pending deletion” stopping module unistall - how to delete manually?
如果要讓使用者可以填入 Email 或帳號來登入,是有第三方模組可以直接提供,但如果是想讓使用者填入其他欄位(如「真實姓名」)或引用其他的驗證機制(如「SOAP SSO」),可以用以下方式來達成。
Drupal 7 比較簡單好理解,直接用 hook 機制即可。例如以下的程式碼片段。