原创 雲客Drupal源碼分析之菜單本地動作MenuLocalActions

菜單本地動作Menu local actions用來爲目標路由提供操作動作,在路由對應頁面中以操作按鈕呈現,比如在呈現某內容列表的路由頁面提供一個添加新內容的按鈕,可參考內容管理頁(/admin/content)的“添加內容”按鈕 本地

原创 Drupal開發學習入門指引

我是雲客,《雲客drupal源碼分析》系列的作者,伴隨着drupal8第一個正式版本發佈到現在,該系列已經發布100期,超過100萬字,作爲中國投入精力最大、同時也是時間最早的第一批用戶之一,雲客覺得有義務幫助初學者準備好行囊,叮囑好一路

原创 雲客Drupal源碼分析之菜單上下文連接Menu contextual links

drupal可以爲頁面中的局部區域提供額外的鏈接,通常用這些鏈接指向和這個區域相關的頁面,這些鏈接就是本篇所說的菜單上下文鏈接,在drupal中被大量運用,她們位於哪裏呢?以默認安裝爲例:以管理員身份登錄系統後,打開首頁,當鼠標懸停在某個

原创 雲客Drupal源碼分析之前端JavaScript(四)防抖與消息處理

本主題接着《前端JavaScript(三)》講述,推薦按序號閱讀 核心庫core/ drupal.debounce: 文件: /core/misc/debounce.es6.js 爲全局對象Drupal添加了一個方法:   Drupal.

原创 雲客Drupal源碼分析之音譯轉化Transliteration

音譯轉化Transliteration服務用於依據發音將Unicode字符串轉化爲US-ASCII字符串,這和翻譯是不同的概念,對於中國人來說最直觀的理解就是將中文文字轉變爲拼音,Unicode涵蓋世界所有語言的字符,因此該服務可轉換所有

原创 雲客Drupal源碼分析之字段控件FieldWidget

   在某些語境下控件等同於表單中的輸入標籤,如input、select、textarea等,如在談論前端設計時,而本篇所指字段控件是程序上的控件對象,用於爲字段類型產生輸入表單的渲染數組,並負責在表單處理流程中提取輸入值、標記驗證錯誤等

原创 雲客Drupal源碼分析之實體訪問控制處理器AccessControlHandler

實體訪問控制處理器用於判斷賬戶是否有某種實體操作權限,是整個權限系統的一部分,專門針對實體,本系列已經發布了權限系統上下集,請務必先查看再閱讀本篇內容。    是否允許對實體執行某種操作,由該實體類型定義的訪問控制處理器來判斷,她是相對於

原创 雲客Drupal源碼分析之語言Language模塊

以下內容僅是一個預覽,完整內容請見文尾: 在本系列前面已經發布過一篇語言主題,介紹了一些語言相關的知識以及核心提供的語言相關內容,本篇所講的語言模塊是建立在覈心語言組件基礎之上的,所以請先閱讀那一篇主題;在系統中和語言相關的核心模塊有四個

原创 雲客Drupal源碼分析之系統管理工具欄toolbar

系統管理工具欄toolbar是指用戶登錄後頁面頂部的黑色條區域,後簡稱工具欄,裏面列出了系統最重要的一些鏈接,默認有:管理、快捷方式、用戶等,點擊這些鏈接後會展開顯示對應的子鏈接。注意這裏並沒有將工具欄裏面的鏈接稱爲菜單,在drupal中

原创 雲客Drupal源碼分析之實體表單驗證(下)

如果你對以下問題不知道或感興趣,本篇即是你需要的: 1、如何讓某個內容類型的標題或其他表單項只允許錄入指定的格式?如:只允許產品型號,其他特徵不被允許 2、如何限制用戶的發佈頻率?如:在指定時間內最多隻能發佈多少篇文章 以下內容僅是一個預

原创 雲客Drupal源碼分析之節點實體訪問控制處理器

以下內容僅是一個預覽,完整內容請見文尾: 本篇講解節點實體的訪問控制,總結了訪問檢查鏈,對“域”、“授權id”進行了清晰論述(該知識點可能是中文資料第一次提及,在英文資料中也非常罕見),帶權限控制的實體查詢極可能出現錯誤使用,內部原理和直

原创 雲客Drupal源碼分析之條件插件condition plugins

條件插件在塊實體配置中被用到(在默認安裝下,系統也只有該處用到),用來指定塊在什麼條件下才顯示,見管理後臺:管理》結構》區塊佈局》點擊某個塊的配置,每一種類型的條件由一個插件負責,這些插件由條件插件管理器來管理: 服務id:plugin.

原创 雲客Drupal源碼分析之實體表單entity form

以下內容僅是一個預覽,完整內容請見文尾: 實體表單用於提供實體的用戶交互,如:創建、編輯、刪除等,她建立在表單組件基礎之上,提供了對實體的特定支持,在閱讀本篇前,請務必先閱讀本系列表單相關主題。 實體表單操作的是實體,一切圍繞實體對象,當

原创 雲客Drupal源碼分析之實體視圖顯示及格式化器

在實體視圖構建器中構建完實體的基本渲染數組後,會調用實體視圖顯示對象繼續構建實體字段對象的渲染數組,然後合併到基本數組中(合併過程基本數組的優先級更高)以形成完整實體渲染數組,實體視圖顯示對象內部又依據配置調用字段格式化器來構建每一個字段

原创 雲客Drupal源碼分析之導航菜單Navigation menus

菜單系統概述: drupal8的菜單系統主要包含四大部分:導航菜單Navigation menus、本地任務Local tasks、本地動作Local actions、上下文鏈接Contextual links,都非常有用,本篇講解第一部