2013年5月18日 北京Think in Drupal 读者交流会(免费)第8次

会地址:北京市海淀区上地十街辉煌国际4号楼1308室。
坐地铁,13号线,到西二旗站下车,A口出来,就是辉煌国际大厦。4号楼1308室。

 原来定于4月底的交流会,因为五一放假的原因取消了,而5月11号的日期也有安排了,所以将第8次聚会,定在了5月18号。

时间: 2013年5月18日 下午 2点 ----5点

聚会的内容:
1,参会人员自我介绍
2,由老葛介绍Drupal主题制作,接着第7次的讲。

3,问答与交流

4,赠送Think in Drupal中文资料次品一本。先到先得,赠完为止

Think in drupal

Think in drupal  淘宝购买地址: http://thinkindrupal.taobao.com/

Think in Drupal 第3集 目录: http://www.thinkindrupal.com/user/1/blog/4833

Think in Drupal 第2集 目录: http://www.thinkindrupal.com/user/1/blog/4821

Think in Drupal 7 第1集 目录: http://www.thinkindrupal.com/node/2972

程序免费下载地址:

Think in drupal(第4集代码下载)

Think in Drupal 5-18------5-27停止发货通知

因去美国波特兰参加DrupalCon,从5月18号---5月27号期间,停止发货。期间如有订单,将在28号统一发货。 

特此通知。

因去上海参加上海图书馆的Drupal讲课,从5月29号---5月31号期间,停止发货。期间如有订单,将在6月10号统一发货。 

特此通知。

 

workflow 7.x-1.1,安装后,添加文章中其表单的位置只能在最后,请问将表单的位置进行调整?

 

workflow 7.x-1.1,安装后,添加文章中其表单的位置只能在最后,请问将表单的位置进行调整?

drupal 和 discuz 相互的比较

drupal 和 discuz 相互的比较。 

1. Discuz 原来是一个论坛,但经过多年的发展,在文章发布,图片展示等方面有了很大的进步。现在又加了不少社交的元素。运行速度和效率也还可以。

2. 感但是从框架的角度,drupal可以实现的功能远大于discuz. 现在drupal是CMF了。 版主能从安全性 和外观设置还有运行速度和效率等方面再深度挖掘比较一下两者么?

区块:实体 VS 插件?(Drupal8系列)

区块系统,一直是Drupal里面的最重要的组成部分,随着技术的发展,尤其是有了CCK模块以后,Drupal用户,很多人希望能够使用CCK扩展区块。其中的一种解决方案,就是把区块处理成为一种节点,这是Drupal6下的解决办法。

到了Drupal7,区块系统并没有升级到实体,但是有第3方模块,BEAN,可以将区块处理成为实体。将区块处理成为实体,是一种趋势。

我们这里所说的,是自定义区块,就是通过Drupal后台创建的区块,我们知道,第3方模块,通过代码也是可以创建区块的,这些通过代码创建的区块,在Drupal7下,是通过钩子函数出现的,在Drupal8下,需要将其改造为插件的形式。

因此,在Drupal8下,通过代码,也就是说通过插件可以定义区块;而对于Drupal后台创建的区块,则是实体的形式,这是通过区块模块的子模块custom_block实现的。

因此,可以说区块既是实体,又是插件。当然这样说还是有点问题的。改造为实体以后,很多相关的第3方模块,将会消失,比如说我开发的block_morelink模块,在Drupal8下,就没有多少实际用处了,除了教学以外。

是的,每一个Drupal主板本的问世,都意味着一大批的第3方模块的消失、淘汰。同时也意味着,一大批新的模块的兴起。

我们最后,来看一下Drupal登录区块,在Drupal8下面的实现:

<?php

 

/**

 * @file

 * Contains \Drupal\user\Plugin\block\block\UserLoginBlock.

 */

在Appserv 环境下,为什么安装 drupal 7 错误显示SQlite ,而不是mysql?

安装在Appserv 环境下,为什么安装 drupal 7 错误显示SQlite ,而不是mysql?  

Database type *

The type of database your Drupal Commons data will be stored in. Your PHP configuration only supports a single database type, so it has been automatically selected.

 

非常奇怪?怎么设置改变呢?

求答案? 谢谢。

 

 

逐渐消失的钩子机制(Drupal8系列)

很早以前,我们学习Drupal的时候,都会被告知,钩子(Hook)机制,是Drupal中最核心的概念。在Drupal7里面,钩子大概分类3类:module_invoke_all调用的钩子,module_invoke调用的钩子,以及主题函数也被称之为主题钩子。

我曾经给人讲过,Drupal7,是最后一个面向过程的版本,而Drupal8则是第一个面向对象的版本。从面向过程,到面向对象,底层的代码经过了一系列的重构,这也使得Drupal能够充分的利用已有的语言层级的先进技术。

实际上,在Drupal7中,核心里面,很多地方都已经使用了面向对象的技术,但是此时的面向对象,只是起到辅助性质的作用,面向过程则是最基础的;但是这并不影响,第三方模块向面向对象的转变,很多的第三方模块,底层都是基于面向对象的。比如说Feeds、Views模块,而我在Drupal7下面所写的Field validation模块,第一版是面向过程的,第2版主要就是基于面向对象的。

在Drupal8中,面向对象是最底层的,钩子机制,将会被转为对应的面向对象的实现。对于module_invoke_all类型的钩子机制,将会专为面向对象的事件订阅机制,比如hook_node_insert;对于module_invoke调用的钩子,将会被转为插件的形式,比如hook_block。在Drupal8里面,钩子机制仍然是存在的,所不同的是,将是起辅助的作用。转换是有一个过程的,Drupal的钩子很多,不是一下子完成的,在转换的过程期间,两种机制同样有效,直到Drupal核心里面的钩子,全部转为事件订阅机制/插件机制以后。我估计,只有在Drupal9的时候,这种转变才会彻底完成。