自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云客的技术博客

本博客已弃用,请移步新地址,搜索:“水滴间”,或域名访问:“indrupal”,后缀“com”,云游天下 做客四方,一个程序员的点滴记录...

原创 公告:本博客从2019-8-22正式弃用,读者请到新站点查阅

由于本博客发布的长篇原创系列:《云客Drupal8源码分析》是一个综合性全面介绍Drupal系统的系列(已超过70万字,尚在继续),有许多示例和操作需要运行,需要一个配套模块,因此云客开发了“yunke_help”模块,该模块是纯粹免费且开源的,没有任何商业性质,仅用于帮助本系列的读者学习drup...

2019-08-22 19:11:02 186 0

原创 Drupal8开发学习入门指引

我是云客,《云客drupal8源码分析》系列的作者,伴随着drupal8第一个正式版本发布到现在,该系列已经发布100期,超过60万字,作为中国投入精力最大、同时也是时间最早的第一批用户之一,云客觉得有义务帮助初学者准备好行囊,叮嘱好一路上的注意事项,之前也零星写过一些入门方面的资料,会在本文末给...

2019-01-30 09:31:18 1256 0

原创 云客Drupal8源码分析之系统AJAX(三):后端原理

以下内容仅是一个预览,完整内容请见文尾: 该篇内容在drupal8学习过程中具有极其重要的地位,除讲述AJAX API后端系统原理外,着重讲述请求格式、系统核心流程控制等,阅读后将对系统主干流程了然于心,鉴于其重要价值,因此收费阅读,款项全部捐赠用于社区建设 全文九千字,目录如下: --格式协...

2019-08-01 18:16:40 100 0

原创 云客Drupal8源码分析之系统AJAX(二):前端原理

前端概述: drupal AJAX API前端系统主要是指核心库:core/drupal.ajax,下文简称AJAX库,前端AJAX行为均由该库完成,她主要依赖以下几个重要的库: jquery库core/jquery:整个前端系统是建立在jquery基础之上的 jquery表单库core/j...

2019-07-25 19:11:04 112 0

原创 云客Drupal8源码分析之系统AJAX(一):概述与示例

这是很多读者期待的一个激动人心的时刻,从本篇起,本系列将分多集连续全面介绍Drupal系统的AJAX实现,在阅读前需要掌握一些必须的前置知识,请先阅读本系列以下主题: 《全局设置与前端API》 《jQuery表单库jquery.form.js详解》 此外需要读者熟悉jQuery,如果JS编程...

2019-07-18 20:40:41 260 0

原创 jQuery表单库jquery.form.js

本主题是《云客drupal源码分析》的番外篇,在drupal系统中用于支持AJAX API,由于这是一个独立实用的库,因此专门用一个主题介绍 简介: jQuery表单库(jquery.form.js库)以jQuery为基础,用于处理表单AJAX提交,使得表单AJAX提交简单、容易,且能完整...

2019-07-11 18:25:51 3829 0

原创 云客Drupal8源码分析之前端JavaScript(五)表单库与安全边距库

本主题接着《前端JavaScript(四)》讲述,推荐按序号阅读 核心库core/drupal.form: 文件: core/misc/form.es6.js 该库做以下事情: 一、为jquery对象添加两个扩展方法: drupalSetSummary(callback) 设置一个生成...

2019-07-04 16:15:07 113 0

原创 云客Drupal8源码分析之前端JavaScript(四)防抖与消息处理

本主题接着《前端JavaScript(三)》讲述,推荐按序号阅读 核心库core/ drupal.debounce: 文件: /core/misc/debounce.es6.js 为全局对象Drupal添加了一个方法: Drupal.debounce(func, wait, immedi...

2019-06-27 18:36:42 116 0

原创 云客Drupal8源码分析之前端JavaScript(三)表单状态处理

以下内容仅是一个预览,完整内容请见文尾: 表单的状态是指是否启用、可见、选中、展开等等,状态会依据用户的交互动作而实时变化,该篇讲解实现原理,并在原系统之上提供了一个扩展,可以实现任意复杂的条件比较,如正则比较、范围比较等等,该篇提供实现复杂表单不可或缺的知识点,详细程度和深度远超官网文档,讲述...

2019-06-13 20:18:57 92 0

原创 云客Drupal8源码分析之前端JavaScript(二)jQuery、进度条等

本主题接着《前端JavaScript(一)》讲述,推荐按序号阅读 核心库core/jquery: 该库用于加载大名鼎鼎的jquery,在Drupal8.7中使用的是v3.2.1版本,此时最新的jquery版本是v3.4.1,网络上有v3.2.1版本的chm格式中文参考手册下载,drupal中大...

2019-06-06 08:45:28 115 0

原创 云客Drupal8源码分析之前端JavaScript(一)全局设置与前端API

由于drupal前端js内容庞大,本系列将分多个主题逐个讲述较常用和较重要的前端资源库,并以序号进行标识,推荐按序号阅读 前言: 在开始前端js探索前有一些注意事项: ES6升级: 从Drupal8.4开始核心使用ES6开发js程序,但为每个ES6版本的js文件都添加了自动转码的ES5版本...

2019-05-30 18:37:56 139 0

原创 云客Drupal8源码分析之前端js中的翻译

从本主题开始《云客Drupal8源码分析》系列将连续发布和前端js相关的内容,如果您对JavaScript还不熟悉或者需要来一次系统性的整理回顾,在此云客为您准备了以下资料: 《PHP开发者的JavaScript快速文档》 首发于爱码文档汇(nowicode.com),您也可以到云客的博客阅...

2019-05-23 19:25:32 141 0

原创 PHP开发者的JavaScript快速教程(phper简明js教程)

本文提供word格式文档,下载链接: https://pan.baidu.com/s/1CcM2Dl4_rG0qe0omxPG8zQ 提取码: 9isx 前言: 每一位PHP开发者或多或少的都掌握一些JavaScript知识,本文写在《云客Drupal8源码分析》前端相关章节发布前,意在帮助沉...

2019-05-16 18:32:00 310 0

原创 云客Drupal8源码分析之菜单上下文连接Menu contextual links

drupal可以为页面中的局部区域提供额外的链接,通常用这些链接指向和这个区域相关的页面,这些链接就是本篇所说的菜单上下文链接,在drupal中被大量运用,她们位于哪里呢?以默认安装为例:以管理员身份登录系统后,打开首页,当鼠标悬停在某个块上时,该块右上方将出现一个图标,默认样式为一个圆圈,里面有...

2019-05-09 18:58:34 151 0

原创 云客Drupal8源码分析之菜单本地动作MenuLocalActions

菜单本地动作Menu local actions用来为目标路由提供操作动作,在路由对应页面中以操作按钮呈现,比如在呈现某内容列表的路由页面提供一个添加新内容的按钮,可参考内容管理页(/admin/content)的“添加内容”按钮 本地动作块: 路由页面是以本地动作块来呈现本地动作按钮的,因...

2019-04-25 17:31:44 127 0

原创 云客Drupal8源码分析之菜单本地任务MenuLocalTasks

菜单本地任务(Menu local tasks)这个名字读者可能会感觉有点生涩,其实通常她就是页面主要内容上方的选项卡栏,可以联想下windows操作系统的任务栏,其中就是一些选项卡,但通常叫任务栏,drupal采用该称呼也体现了其重视计算机术语的统一性;不管是管理主题还是前端主题都用到了她,比如...

2019-04-18 18:00:20 130 0

原创 云客Drupal8源码分析之导航菜单Navigation menus

菜单系统概述: drupal8的菜单系统主要包含四大部分:导航菜单Navigation menus、本地任务Local tasks、本地动作Local actions、上下文链接Contextual links,都非常有用,本篇讲解第一部分:导航菜单,后简称菜单 菜单概述: 在讲述菜单前,需要先...

2019-04-10 14:15:24 274 0

原创 云客Drupal8源码分析之节点实体访问控制处理器

以下内容仅是一个预览,完整内容请见文尾: 本篇讲解节点实体的访问控制,总结了访问检查链,对“域”、“授权id”进行了清晰论述(该知识点可能是中文资料第一次提及,在英文资料中也非常罕见),带权限控制的实体查询极可能出现错误使用,内部原理和直觉感受不一致,本篇说明了这种权限的范围,以及完整的权限控制...

2019-04-03 18:34:46 106 0

原创 云客Drupal8源码分析之实体访问控制处理器AccessControlHandler

实体访问控制处理器用于判断账户是否有某种实体操作权限,是整个权限系统的一部分,专门针对实体,本系列已经发布了权限系统上下集,请务必先查看再阅读本篇内容。 是否允许对实体执行某种操作,由该实体类型定义的访问控制处理器来判断,她是相对于实体类型而存在的,换句话说一个实体访问控制器只处理该类型的实体,...

2019-03-28 17:28:05 130 0

原创 云客Drupal8源码分析之分页器pager

以下内容仅是一个预览,完整内容请见文尾: 分页器pager是指页面中的分页链接条,用于数据量很大时需要分多页展示的情况,本篇讲解了数据选择、额外链接参数、个性化分页器、实现同页面多个分页器等知识点,涵盖分页器所有方面的内容,提供大量代码示例,并实现了一个带总数显示和跳转功能的增强型分页器,见下图...

2019-03-21 20:04:25 130 0

原创 云客Drupal8源码分析之实体列表构建器EntityListBuilder

实体列表构建和实体视图构建有相似之处,但并不是一样的概念,从字面意思看列表构建似乎是用于产生实体的索引页面(比如摘要列表页),但产生索引页面是视图构建器的工作,而列表构建则是用于管理工作:用来列出实体以便操作它们 列表路由: 比如“管理-结构-内容类型”(地址:/admin/structure/...

2019-03-14 18:06:51 180 0

原创 云客Drupal8源码分析之实体视图显示及格式化器

在实体视图构建器中构建完实体的基本渲染数组后,会调用实体视图显示对象继续构建实体字段对象的渲染数组,然后合并到基本数组中(合并过程基本数组的优先级更高)以形成完整实体渲染数组,实体视图显示对象内部又依据配置调用字段格式化器来构建每一个字段对象的渲染数组。实体显示对象在视图构建器中的调用入口如下: ...

2019-03-07 18:54:52 615 0

原创 云客Drupal8源码分析之实体视图构建器EntityViewBuilder

实体视图显示和表单显示在实现上有许多相似之处,许多类都共用了相同基类,有许多概念和知识已经在本系列的实体表单显示主题中介绍过,如显示模式及其定义等,本篇不再重复介绍,将假设读者已阅读过实体表单显示主题;视图这个词可能会让人感觉生涩,可以将其理解为查看、显示,实体视图构建就是产生实体的查看页面或数据...

2019-02-28 19:10:24 174 0

原创 云客Drupal8源码分析之音译转化Transliteration

音译转化Transliteration服务用于依据发音将Unicode字符串转化为US-ASCII字符串,这和翻译是不同的概念,对于中国人来说最直观的理解就是将中文文字转变为拼音,Unicode涵盖世界所有语言的字符,因此该服务可转换所有的语言,而不仅仅用于中文;在drupal中通常用于依据用户输...

2019-02-21 16:20:54 130 0

转载 懒者生存

找到让人偷懒的方法,你就可以赚钱。 听到有人抱怨每天写博客太累,太复杂,不够简单,机会来了。Twitter,微博客,最简单的方式写博客。 听到有人抱怨说网页太多了,信息泛滥,yahoo搜索结果不准确,机会来了,google,最简单最快的网页搜索。  当早年的计算机USB接口在机箱的背后,我们...

2019-02-15 12:11:49 80 0

原创 drupal心得:难的价值、未来趋势、拥抱王者

   今天是云客drupal8源码分析第100篇发布的日子,该篇将作为2018-2019春节前的最后一篇发布,回望研究历时已超过三年,该系列总字数已超过60万字,虽取名为源码分析,实则也是开发者教程,可视为与官网文档平行的中文文档项目,完全原创并非翻译,许多时候和官方英文文档也形成互补,官网没有或...

2019-01-25 11:36:15 489 1

原创 云客Drupal8源码分析之节点表单NodeForm

  节点表单是系统中使用最频繁最重要的表单,她是建立在许多组件和概念之上的,内容广泛,本篇意在起到一个指示和总结作用,帮助想直接操控节点表单的读者明白需要知道些什么,同时就节点表单本身进行介绍,这好似在爬山到了顶上,顶上并没有多少东西,节点表单就是最终的应用,就其本身并没有多少内容,因此本篇会很短...

2019-01-25 10:35:18 156 0

原创 云客Drupal8源码分析之字段控件FieldWidget

   在某些语境下控件等同于表单中的输入标签,如input、select、textarea等,如在谈论前端设计时,而本篇所指字段控件是程序上的控件对象,用于为字段类型产生输入表单的渲染数组,并负责在表单处理流程中提取输入值、标记验证错误等,解决字段类型的用户输入问题,本篇讲解drupal控件的实现...

2019-01-17 16:36:23 159 0

原创 云客Drupal8源码分析之实体表单验证(下)

如果你对以下问题不知道或感兴趣,本篇即是你需要的: 1、如何让某个内容类型的标题或其他表单项只允许录入指定的格式?如:只允许产品型号,其他特征不被允许 2、如何限制用户的发布频率?如:在指定时间内最多只能发布多少篇文章 以下内容仅是一个预览,完整内容请见文尾: 在上篇中介绍了执行验证的各组件的作用...

2019-01-10 18:10:37 106 0

原创 云客Drupal8源码分析之实体表单验证(上)

以下内容仅是一个预览,完整内容请见文尾: 关于实体表单验证主要有三种方式: 1、在表单渲染数组上直接通过属性设置的验证,如:#pattern(正则验证)、#required(必填性验证),这在前后端均会自动验证,但这种验证仅支持单个控件 2、在表单或其子元素上设置的自定义验证器,这将在表单流程中...

2018-12-27 18:58:22 134 0

原创 云客Drupal8源码分析之实体表单显示EntityFormDisplay

以下内容仅是一个预览,完整内容请见文尾: 实体的显示分为表单显示和视图显示,前者用于不同情况下的信息输入,后者用于不同情况下的信息展示,本篇很多内容不止用于本篇所讲的表单主题,也是学习drupal视图构建的前置知识。 显示模式: 一个内容实体类型的编辑表单在不同的情况下可能需要不一样,以用户实体...

2018-12-21 08:57:11 194 0

原创 云客Drupal8源码分析之实体表单entity form

以下内容仅是一个预览,完整内容请见文尾: 实体表单用于提供实体的用户交互,如:创建、编辑、删除等,她建立在表单组件基础之上,提供了对实体的特定支持,在阅读本篇前,请务必先阅读本系列表单相关主题。 实体表单操作的是实体,一切围绕实体对象,当删除、编辑实体时,会使用实体储存处理器加载实体,在新建操...

2018-12-13 20:12:45 197 0

原创 云客Drupal8源码分析之系统管理工具栏toolbar

系统管理工具栏toolbar是指用户登录后页面顶部的黑色条区域,后简称工具栏,里面列出了系统最重要的一些链接,默认有:管理、快捷方式、用户等,点击这些链接后会展开显示对应的子链接。注意这里并没有将工具栏里面的链接称为菜单,在drupal中菜单有明确的定义(请见本系列后续的菜单系统介绍),默认情况下...

2018-12-06 16:57:57 133 0

原创 云客Drupal8源码分析之帮助系统help

一个系统要是没有帮助信息那么会给使用者带来困惑, drupal除了官方网站上面有各种详尽的文档介绍外,还在系统内部内置了帮助系统来提供引导信息,为使用者考虑的很全面,内置帮助系统是由帮助模块来完成的,她通过三种方式向用户提供在线帮助:帮助块、系统帮助主页、模块帮助主页。 帮助块: 帮助模块提供了...

2018-11-29 16:28:49 154 0

原创 云客Drupal8源码分析之条件插件condition plugins

条件插件在块实体配置中被用到(在默认安装下,系统也只有该处用到),用来指定块在什么条件下才显示,见管理后台:管理》结构》区块布局》点击某个块的配置,每一种类型的条件由一个插件负责,这些插件由条件插件管理器来管理: 服务id:plugin.manager.condition 类:Drupal\Cor...

2018-11-22 11:34:14 179 0

原创 云客Drupal8源码分析之块系统block

在drupal中系统流程指向一个控制器,通常控制器返回一个代表特定内容的渲染数组,那么还需要其他内容怎么办?这就是块系统要解决的,她让页面精彩纷呈,可展示多种信息或工具,如果没有她页面会非常单调,某种程度上说她是系统必须的,给各模块展示信息提供页面窗口。 从控制器返回的渲染数组说起: 一个渲染数...

2018-11-15 19:05:53 257 0

原创 云客Drupal8源码分析之系统出入站路径处理

drupal可以让你使用任意URL路径来访问某个页面,从而提供良好的SEO支持和语义性,如此强大的功能是由路径处理子系统完成的,在讲解她之前需要明白一个概念:“内部路径”,也就是路由中指定的路径,任意进来的路径都会被路径处理系统转化为内部路径(非可路由内部url除外),从而让系统内部有一个统一的环...

2018-11-09 12:02:00 164 0

原创 云客Drupal8源码分析之语言Language模块

以下内容仅是一个预览,完整内容请见文尾: 在本系列前面已经发布过一篇语言主题,介绍了一些语言相关的知识以及核心提供的语言相关内容,本篇所讲的语言模块是建立在核心语言组件基础之上的,所以请先阅读那一篇主题;在系统中和语言相关的核心模块有四个: language:本篇主题,站点的多语言基础,支持其他...

2018-11-02 10:04:00 130 0

原创 云客Drupal8源码分析之临时储存与消息服务

前言:临时储存与消息服务之间并没有什么直接关联,由于她们都是系统基础组件,内容也比较简单,为后续主题做准备,所以放在一起讲解。 临时储存概述: 临时储存用来储存一些临时性的数据,超期后会被删除,比如节点在保存前的预览数据,她和缓存不一样,她是临时性的、不能被重建的数据,依据被储存的数据在用户间能...

2018-10-18 17:11:14 153 0

原创 云客Drupal8源码分析之配置实体查询

本系列已经发布过内容实体的实体查询,配置实体也是有实体查询的,比如:块知识库服务(\Drupal\block\BlockRepository)中就用到配置实体查询,以查出相同主题下的块配置实体。配置实体的数据通过配置系统保存,先回顾一下我们获取一个配置值的方式: $config...

2018-10-11 18:42:47 185 0

提示
确定要删除当前文章?
取消 删除