Posts
2022
《中国古代文化常识》书摘(二)
·2750 字·6 分鐘
第三章 乐律 # 五音、六律 # 古人把宫商角徵(zhǐ)羽称为五击或五音,大致相当于现代音乐简谱上的1(do)2(re)3(mi)5(sol)6(la)。从宫到羽,按照音的高低排列起来,形成一个五声音阶,宫商角徵羽就是五声音阶上的五个音级,后来再加上变宫、变徵,称为七音。变宫、变徵大致和现代简谱上的7(ti)和#4(fis)相当,这样就形成一个七声音阶。
《中国古代文化常识》书摘 (一)
·4752 字·10 分鐘
📖王力主编的《中国古代文化常识》(ISBN:978755023282,整本都是干货!内容质量高,语言犀利。虽说标题写的是常识,大概Y CHEUNG 没有常识吧,书中有许多颠覆认知的文段。
Cross-Origin Resource Sharing (CORS) 跨來源資源共用錯誤解決方法
·932 字·2 分鐘
最近Y cheung 遇到了兩個典型 CORS error問題,XMLHttpRequest 和 Fetch 請求了跨來源資源被瀏覽器阻擋,記錄一下解決方法。
什麼是Cross-Origin Resource Sharing (CORS) 跨來源資源共用? # Cross-Origin Resource Sharing (CORS) is an HTTP-header based mechanism that allows a server to indicate any origins (domain, scheme, or port) other than its own from which a browser should permit loading resources. CORS also relies on a mechanism by which browsers make a “preflight” request to the server hosting the cross-origin resource, in order to check that the server will permit the actual request. In that preflight, the browser sends headers that indicate the HTTP method and headers that will be used in the actual request.
Mac OS 使用虛擬形象參加線上會議
·985 字·2 分鐘
Y Cheung Work From Home 一個多月了已經,每天在家不停地線上開會真的好累,得想個法子為枯燥無味的開會過程增添一點樂趣,於是就有了本篇教學。使用虛擬形象開會真的是超可愛的,哈哈哈哈。
Drupal 9 Twig 獲取field值速查表
·1006 字·3 分鐘
在Drupal 8 和 Drupal 9 的 twig 模板開發中,常常會需要輸出指定的field,本文列出常見類型的field取值方法,以便查詢。
一般類型 General # Field type How to get value Note Boolean {{ content.field_name[0] }} 值為“On”或“Off”的label Boolean {{ content.field_name['#items'][0].value }} 值為1或0 Date {{ content.field_name[0] }} 值為套用time.html.twig模板的完整日期時間html片段 Date {{ content.field_name[0]['#text] }} 值為完整日期時間格式的純文本 Timestamp {{ content.field_name[0] }} 值為完整日期時間格式的純文本 Timestamp {{ content.field_name['#items'][0].value }} 值為時間戳數字 Email {{ content.field_name[0] }} 值為純文本格式 link {{ content.field_name[0]['#url'] }} 值為連結URL link {{ content.field_name[0]['#title'] }} 值為連結文字 數字類型 Number # Field type How to get value Note Number (float) {{ content.field_name[0] }} 顯示有前綴和後綴並number_decimal格式化 Number (float) {{ content.field_name['#items'][0].value }} 顯示未經格式化的浮點數 Number (integer) {{ content.field_name[0] }} 顯示有前綴和後綴 Number (integer) {{ content.field_name['#items'][0].value }} 顯示未經格式化的整數 Number (decimal) {{ content.field_name[0] }} 顯示有前綴和後綴 Number (decimal) {{ content.field_name['#items'][0].value }} 顯示未經格式化的小數 文字類型 Text # Field type How to get value Note Text (formatted) {{ content.field_name[0] }} 帶格式的文本 Text (formatted) {{ content.field_name[0]['#text'] }} 未經html轉化的文本 Text (formatted) {{ content.field_name['#items'][0].value|striptags }} 純文本 Text (formatted, long) {{ content.field_name[0] }} 帶格式的文本 Text (formatted, long) {{ content.field_name[0]['#text'] }} 未經html轉化的文本 Text (formatted, long) {{ content.field_name['#items'][0].value|striptags }} 純文本 Text (formatted, long with summary) {{ content.field_name[0] }} 帶格式的文本 Text (formatted, long with summary) {{ content.field_name[0]['#text'] }} 未經html轉化的文本 Text (formatted, long with summary) {{ content.field_name['#items'][0].value|striptags }} 純文本 Text (formatted, long with summary) {{ content.field_name['#items'][0].summary }} 摘要 Text (plain) {{content.field_name.0 }} 純文本 Text (plain, long) {{content.field_name.0 }} 純文本 列表類型 List # Field type How to get value Note List (float) {{ content.field_name[0] }} 在管理介面Manage Display中設置該欄位顯示值key或標籤label List (float) {{ content.field_name['#items'][0].value }} 顯示值的key List (integer) {{ content.field_name[0] }} 在管理介面Manage Display中設置該欄位顯示值key或標籤label List (integer) {{ content.field_name['#items'][0].value }} 顯示值的key List (text) {{ content.field_name[0] }} 在管理介面Manage Display中設置該欄位顯示值key或標籤label List (text) {{ content.field_name['#items'][0].value }} 顯示值的key 參照類型 Reference # Field type How to get value Note Fiel {{ content.field_name[0] }} 值為套用file-link.html.twig模板的html片段 File {{ file_url(content.field_name[0]['#file'].uri.value) }} 檔案連結 File {{ content.field_name[0]['#description'] }} 檔案描述 Image {{ file_url(content.field_name[0]['#item'].entity.uri.value) }} 圖片連結 Image {{ content.field_name[0]['#item'].value.alt }} 圖片alt文字 Image {{ content.field_name[0]['#item'].value.title }} 圖片title文字 Image {{ content.field_name[0]['#item'].value.height }} 圖片設置的高度 Image {{ content.field_name[0]['#item'].value.width }} 圖片設置的寬度 Taxonomy Term {{ content.field_taxonomy[0]['#options'].entity.id }} 在Manage display中將format設為Label時顯示term id Taxonomy Term {{ content.field_name[0]['#title'] }} 在Manage display中將format設為Label顯示term label Taxonomy Term {{ content.field_name[0]['#url'] }} 在Manage display中將format設為Label顯示term path 媒體類型 Media # 啟用Media模組後出的media field。
Drupal 9 多語言站點解決 Paragraphs 字段在custom block 中I18翻譯無法正確顯示問題
Drupal 9 多語言站點啟用 Paragraphs 模組,如果在 custom block 中使用了 paragraphs 類型的字段 ,會遇到字段內文字的翻譯無法顯示問題。該 paragraphs 字段的內容始終加載的是 default 的語言內容(通常是英文),需要在custom module 代碼中使用 hook_preprocess_block() 修改一下。
Drupal 9 Webform 發送自定義Email 功能的本地開發環境配置
Drupal 9 Webform 表單提交後可以自定義 email 內容發送通知郵件到指定email地址,本地開發中使用 Mailhog 做測試。
💡關於Mailhog的安裝介紹參看Y Cheung之前的文章《本地開發測試郵件服務 Mailhog》