Drupal 7 开发内部培训资料, 分头诗人

Drupal模块开发指南

Drupal模块就是由PHP写成的包含了子过程的文件集. 因为这些模块在整个站点的上下文中运行, 因此它能使用基于主引擎的所有函数,访问所有的变量和结构. 事实上,一个模块和普通的PHP文件没任何不同: 它更多的是一种基于良好的设计结构和开发模型的概念. 这种类积木性质的方式很适合开源的开发模式, 因此它能允许一群开发者不必冒互相干扰的风险.
这种方法会在引擎的特殊部分执行, 然后这些能够增强现有功能的代码就会被运行. 那些能执行代码的特殊部位,通过定义一定的接口得到实现的被称之为“钩子(hooks)”.
钩子(hook)生效的时候就是引擎调用模块的导出函数的时候. 这可以通过遍历模块目录实现. 假定你的模块的名字是foo (例如modules/foo.module), 并且导出函数被称之为foo_bar(). 如果Drupal安装了一个名叫bar的钩子(hook), 那么引擎就会调用你的foo_bar()函数.

Masonry-jquery插件打造的瀑布流样式效果

如果你善于发现美,如果你善于观察新鲜的事物,如果你是一名有爱的前端攻城师或设计尸,那么你一定不会对下面图片中的结构感到陌生。没错,这就是现在很火的瀑布流。也称砌墙效果。就是这种不稳定结构,就是这种交错之美,震撼着每个浏览者的视神经。对于习惯了传统条条框框布局的读者来说,这种方式无疑会让他们的鼠标自由摇摆...

jquery瀑布流效果插件-Masonry

 

这个效果的应用已经在很多地方出现了,比较常见的轻博中的模板,貌似轻博中都有此类型的模板。
关于实现这种效果的插件有 淘宝的Kissy,效果演示地址:瀑布流布局基本使用示例。
另外就是本文即将提到的jquery插件-Masonry了,官方介绍地址:Masonry的娘家
 

jquery瀑布流效果演示:

 

本站模板地址

 

 

Masonry安装使用:

 

 

Drupal 7.12和Drupal 6.24发布

Drupal 7.12和Drupal 6.24版本今天发布,请各位及时更新自己的Drupal站点。两个版本都解决了安全方面的漏洞,具体请参考http://drupal.org/drupal-7.12

HipHop PHP在Ubuntu上安装和使用

HipHop PHP是facebook的一个开源项目,facebook 90%的流量由它支撑 ,简单的说HipHop PHP是把PHP语言转化成高度优化的C++程序,通过g++编译。目前只支持Linux 和FreeBSD。

Drupal官方中国群邀你加入

 

Drupal 中国用户组,域名http://groups.drupal.org/china,是为中国本土 Drupal 用户提供的交流与合作的平台。您可以在这里自由地发起活动、寻找和共享资源、创建讨论和调查、wiki page、以及drupal求职招聘等。
 
drupal china group
 
The China group is a hub for mainland China Mandarin speakers to share information and coordinate initiatives around the local adoption of Drupal. If you live in China and want to set up events, find resources or share your knowledge, that's the place to be!

Drupal评论表情模块

 

Drupal评论表情模块是在drupal评论表单中添加表情,并且把表情显示在页面的评论中。该模块和QQ模块现在都在沙盒项目中,
 

Drupal QQ模块

 

QQ模块是基于腾讯的登录开放接口开发的drupal模块,主要实现QQ账户登录drupal.目前是drupal沙盒中的项目,处于review阶段。应部分感兴趣的同学要求,目前把地址公布一下,希望对大家有用。
 

Drupal 中的基本概念和相关术语

模块(Module)

  模块是用于扩展 Drupal 特性和功能性的一些代码文件。Drupal 发行包中包含了一系列核心模块,你可以直接启用这些模块来增加 Drupal 的功能。不过 Drupal 核心模块的功能比较简单,提供了一些基本的功能。Drupal 有非常丰富的第三方模块可供使用,你只需要从 Drupal 第三方模块下载页面下载并安装启用即可。你也可以创建自己的自定义模块,不过这需要对 Drupal 有比较深入的了解,也需要熟悉 Drupal API 和具备一定的 PHP 编程能力。
Drupal 第三方模块下载页面:http://drupal.org/project/modules
用户、权限和角色
  每一位网站的访问者,不论是使用帐户登录的注册用户,还是匿名用户,都被视为 Drupal 的用户。每个用户都有一个用户ID(User ID - uid),非匿名用户还有用户名、电子邮箱等信息,并且注册用户还可以通过模块为其增加一些其它信息。例如,如果启用了 Drupal 核心的 Profile 模块,就能够为用户定义和添加不同的配置文件字段。
  匿名用户的 uid 是 0,安装 Drupal 时创建的超级用户的 uid 是 1。uid = 1 是 Drupal 中的一个特殊用户,他具备在 Drupal 站点中执行所有操作的权限。
  除 uid 0 和 uid 1 用户之外,Drupal 中的其它用户通常都通过分配角色(roles)来为他们赋予不同的权限。通过创建新的角色,为角色赋予不同的权限,然后再将用户分配为某种角色,从而使用户具备在网站中执行某些特定操作的能力,例如创建文章、发表评论等。用户所能执行的操作,依照分配给他所属的角色的权限而定。
  Drupal 默认有 匿名用户 和 注册用户 两个角色,管理员同样可以通过权限管理页面为这两个角色分配不同的权限。Drupal 的权限管理功能十分精细和灵活,能够为特定的角色分配不同的权限组合。

了解什么是drupal模块的钩子系统

什么是模块

drupal模块是一些由PHP编写的有各种功能的文件的集合。由于drupal模块可以在drupal站点内运行,模块将有权访问drupal核心模块的所有变量和方法。事实上,drupal模块无异于普通PHP文件, 可以被独立的建立并运行,并用于各种不同的功能中。

这种体系允许drupal核心模块访问所有自定义模块中的定义的方法(function), 并完善核心模块的功能。自定义代码被激活并引用的地方叫做“钩子”,drupal对它的接口有着严格的定义。

关于“钩子”

所有自定义模块用钩子来与drupal核心模块合作。他们使一个普通自定义模块能够定义自己的url和页面(hook_menu), 能够添加自己的内容到页面(hook_block, hook_footer, etc.),能够建立属于自己的数据库(table)(hook_schema) 等等。这个页面列出了所有由drupal核心模块提供的可应用钩子, 当然, 自定义模块也可以定义自己的钩子。例如cck模块定义了hook_field_info(drupal 6), 它可以被其他模块用来建立自己的内容字段。大多数拥有自定义钩子的模块都有钩子的结束文档可以参考。

drupal在运行时, 将会在不同的情况下查找可以应用的由自定义模块提供的钩子来增加自己的功能,此时钩子便被激活。例如,当一个用户访问了drupal站点的一个页面时, drupal将为所有的模块提供一个显示各个模块的帮助信息的机会。drupal将检查所有的模块代码,查找是不是有类似于mymodule_help($path, $arg)的方法。注: mymodule是该模块的名字。比如block模块的“帮助信息钩子“(help hook)叫做block_help, node模块的“帮助信息钩子”(help hook)叫做node_help. 钩子可以接受参数, 比如hook_help的参数是$path和$arg, 这两个参数允许开发者来决定在那些页面上来显示帮助信息。

钩子可以被理解城一个事件监听器, 由特定的事件所激活。drupal中的事件可以是:
比如一个节点被删除了,它将激活钩子”hook_delete”;如果您的模块包含了hook_delete, 那么您自己方法将在一个节点被删除时执行。例如你可能有一个计算所有节点数的方法,当一个节点被删除时,您将需要hook_delete来执行这个方法,以便在节点总数上减一。

Drupal 怎么升级?Drupal 的升级步骤/Drupal 升级指南

本升级过程以 Drupal 6.19 -> 6.20 为例,有关 Drupal 升级操作的说明文档(UPGRADE.txt)可以在 Drupal 发行版中找到。
在执行升级操作之前,请确保做好了以下工作:
确保你的系统环境满足 Drupal 的运行的最低系统要求,可参考 http://drupal.org/requirements
确保已经按照步骤#1备份好所有的相关数据
确保已经按步骤#11检查过模块的兼容性
确保已经按步骤#11检查过主题的兼容性
确保已经通读该文档

页面

订阅 RSS - 博客