原创 雲客Drupal源碼分析之實體視圖構建器EntityViewBuilder

實體視圖顯示和表單顯示在實現上有許多相似之處,許多類都共用了相同基類,有許多概念和知識已經在本系列的實體表單顯示主題中介紹過,如顯示模式及其定義等,本篇不再重複介紹,將假設讀者已閱讀過實體表單顯示主題;視圖這個詞可能會讓人感覺生澀,可以將

原创 雲客Drupal源碼分析之配置實體查詢

本系列已經發布過內容實體的實體查詢,配置實體也是有實體查詢的,比如:塊知識庫服務(\Drupal\block\BlockRepository)中就用到配置實體查詢,以查出相同主題下的塊配置實體。配置實體的數據通過配置系統保存,先回顧一下我

原创 雲客Drupal源碼分析之臨時儲存與消息服務

前言:臨時儲存與消息服務之間並沒有什麼直接關聯,由於她們都是系統基礎組件,內容也比較簡單,爲後續主題做準備,所以放在一起講解。 臨時儲存概述: 臨時儲存用來儲存一些臨時性的數據,超期後會被刪除,比如節點在保存前的預覽數據,她和緩存不一樣,

原创 雲客Drupal源碼分析之實體列表構建器EntityListBuilder

實體列表構建和實體視圖構建有相似之處,但並不是一樣的概念,從字面意思看列表構建似乎是用於產生實體的索引頁面(比如摘要列表頁),但產生索引頁面是視圖構建器的工作,而列表構建則是用於管理工作:用來列出實體以便操作它們 列表路由: 比如“管理-

原创 雲客Drupal源碼分析之實體表單顯示EntityFormDisplay

以下內容僅是一個預覽,完整內容請見文尾: 實體的顯示分爲表單顯示和視圖顯示,前者用於不同情況下的信息輸入,後者用於不同情況下的信息展示,本篇很多內容不止用於本篇所講的表單主題,也是學習drupal視圖構建的前置知識。 顯示模式: 一個內容

原创 雲客Drupal源碼分析之系統AJAX(一):概述與示例

這是很多讀者期待的一個激動人心的時刻,從本篇起,本系列將分多集連續全面介紹Drupal系統的AJAX實現,在閱讀前需要掌握一些必須的前置知識,請先閱讀本系列以下主題:  《全局設置與前端API》  《jQuery表單庫jquery.for

原创 雲客Drupal源碼分析之幫助系統help

一個系統要是沒有幫助信息那麼會給使用者帶來困惑, drupal除了官方網站上面有各種詳盡的文檔介紹外,還在系統內部內置了幫助系統來提供引導信息,爲使用者考慮的很全面,內置幫助系統是由幫助模塊來完成的,她通過三種方式向用戶提供在線幫助:幫助

原创 雲客Drupal源碼分析之系統出入站路徑處理

drupal可以讓你使用任意URL路徑來訪問某個頁面,從而提供良好的SEO支持和語義性,如此強大的功能是由路徑處理子系統完成的,在講解她之前需要明白一個概念:“內部路徑”,也就是路由中指定的路徑,任意進來的路徑都會被路徑處理系統轉化爲內部

原创 雲客Drupal源碼分析之節點表單NodeForm

  節點表單是系統中使用最頻繁最重要的表單,她是建立在許多組件和概念之上的,內容廣泛,本篇意在起到一個指示和總結作用,幫助想直接操控節點表單的讀者明白需要知道些什麼,同時就節點表單本身進行介紹,這好似在爬山到了頂上,頂上並沒有多少東西,節

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

以下內容僅是一個預覽,完整內容請見文尾: 關於實體表單驗證主要有三種方式: 1、在表單渲染數組上直接通過屬性設置的驗證,如:#pattern(正則驗證)、#required(必填性驗證),這在前後端均會自動驗證,但這種驗證僅支持單個控件

原创 雲客Drupal源碼分析之塊系統block

在drupal中系統流程指向一個控制器,通常控制器返回一個代表特定內容的渲染數組,那麼還需要其他內容怎麼辦?這就是塊系統要解決的,她讓頁面精彩紛呈,可展示多種信息或工具,如果沒有她頁面會非常單調,某種程度上說她是系統必須的,給各模塊展示信

原创 雲客Drupal源碼分析之前端JavaScript(一)全局設置與前端API

由於drupal前端js內容龐大,本系列將分多個主題逐個講述較常用和較重要的前端資源庫,並以序號進行標識,推薦按序號閱讀 前言: 在開始前端js探索前有一些注意事項: ES6升級: 從Drupal8.4開始核心使用ES6開發js程序,但爲

原创 雲客Drupal源碼分析之前端js中的翻譯

從本主題開始《雲客Drupal源碼分析》系列將連續發佈和前端js相關的內容,如果您對JavaScript還不熟悉或者需要來一次系統性的整理回顧,在此雲客爲您準備了以下資料:   《PHP開發者的JavaScript快速文檔》 首發於愛碼文

原创 雲客Drupal源碼分析之前端JavaScript(三)表單狀態處理

以下內容僅是一個預覽,完整內容請見文尾: 表單的狀態是指是否啓用、可見、選中、展開等等,狀態會依據用戶的交互動作而實時變化,該篇講解實現原理,並在原系統之上提供了一個擴展,可以實現任意複雜的條件比較,如正則比較、範圍比較等等,該篇提供實現

原创 雲客Drupal源碼分析之分頁器pager

以下內容僅是一個預覽,完整內容請見文尾: 分頁器pager是指頁面中的分頁鏈接條,用於數據量很大時需要分多頁展示的情況,本篇講解了數據選擇、額外鏈接參數、個性化分頁器、實現同頁面多個分頁器等知識點,涵蓋分頁器所有方面的內容,提供大量代碼示