drupal学习总结Word文档格式.docx

上传人:b****5 文档编号:19741874 上传时间:2023-01-09 格式:DOCX 页数:6 大小:17.44KB
下载 相关 举报
drupal学习总结Word文档格式.docx_第1页
第1页 / 共6页
drupal学习总结Word文档格式.docx_第2页
第2页 / 共6页
drupal学习总结Word文档格式.docx_第3页
第3页 / 共6页
drupal学习总结Word文档格式.docx_第4页
第4页 / 共6页
drupal学习总结Word文档格式.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

drupal学习总结Word文档格式.docx

《drupal学习总结Word文档格式.docx》由会员分享,可在线阅读,更多相关《drupal学习总结Word文档格式.docx(6页珍藏版)》请在冰豆网上搜索。

drupal学习总结Word文档格式.docx

钩子

Drupal的所有功能都通过模块来实现,而模块又通过钩子来和系统联系起来,被系统调用的。

钩子可以看作是Drupal的内部事件,不同的事件类型由不同钩子函数来调用,这些钩子函数的命名规则都是由drupal定义好的。

我们只需要了解什么样的事件动作要用什么钩子来实现调用。

这样,当我们在网站上执行某些操作时,drupal就会根据我们操作的类型来查找相应的钩子,通过钩子,调用符合条件的模块。

主题(Themes)

Drupal是被设计为内容和显示分离的,这样既利于开发,也方便维护。

所以,当后台的数据内容要被显示时,就会通过主题(主题函数或主题模版)来进行包装,最后显示在页面上的是数据和主题包装后的效果。

Drupal支持多种模版引擎,比如smarty,PHPTemplate.主题也是通过主题钩子来实现调用的,

首先,我们先写好相应的模版文件,

然后在模块中通过“模块名+theme”来注册这些主题。

最后当模块要输出数据时,就会通过theme(“主题”,“数据”)来调用相应的主题模版,并把数据也传进模版,然后theme函数把整合后的html页面返回。

节点(nodes)

Drupal中的内容类型都被看做是一个节点来管理,并且所有节点的底层结构都是一样的。

这样有利于扩展。

区块(blocks)

区块用来展示一些特定内容的信息。

比如在线用户数,流量统计等,一般用于首页。

一个区块包括标题和内容。

执行过程

1.从index.php开始,Drupal的大多数请求都从这里开始。

2.对于每个请求,Drupal通过一系列的引导指令阶段来引导它自己

3.建立初始链接以供数据库查询使用

4.检查请求IP是否来自一个被禁的主机;

如果是,那么将拒绝访问。

5.Drupal加载足够的支持代码来决定是否需要从页面缓存中提供一个页面。

如果在会话中显示请求来自于匿名用户并且启用了页面缓存,那么将从缓存中返回页面,执行到此停止。

6.在路径阶段,将加载处理路径和路径别名的(aliasing)的代码。

该阶段使得用户可读的URL被转化为Drupal路径,并处理内部Drupal路径的缓存和查询操作。

7.加载一个通用函数库,主题支持,和支持回调映

射,文件处理,Unicode,PHP图片工具集,表单的创建和处理,自动排序的表格,和结果集的分页。

并加载所有启用了的模块。

最后Drupal调用init钩子,这样在对请求正式开始处理以前,将有机会通知相应的模块。

8.现在是时候获得浏览器的请求并将它委托给一个处理它的函数。

9.当Drupal为浏览器请求的URL找到一个存在的回调函数,并且用户有权访问该回调函数,那么控制权将转移给回调函数。

10.回调函数做了流程要求做的事情,并收集满足请求所需要的数据。

11.主体化涉及到将已被取回,操作或者创建的数据转化为HTML。

Drupal将使用管理员选用的主题来为网页提供一个合适的外观,并将生成的HTML移交给web浏览器。

使用方法

环境和目录设置

1.在sitesdefaultsettings.php里设置数据库连接信息。

2.核心模块和主题目录不要动,所有新开发的模块和主题模版都集中在sitesallmodules

和sitesallhemes中。

3.新添加的模块在系统的“管理站点构建”中设置启用/禁用。

4.Drupal中的所有文件和数据库默认都是用的utf-8编码。

模块开发步骤:

1.首先为模块起一个名字,比如叫mytest,然后模块目录名,info文件,module文件都用这个名字命名。

2.在sitesallmodules里建立一个文件夹叫mytest,在mytest文件夹下建立如下文件:

mytest.info:

用来向Drupal提供一些关于我们模块的信息

mytest.install:

启用模块时用来创建数据库信息(如果此模块涉及到改数据库的话)。

mytest.module:

模块内容。

如果有自己的主题模版,在sitesallhemes建立一个主题,模版文件和css,图片等文件都放到这个目录下

3.模块中的钩子函数

1.hook_menu:

菜单钩子,每一个菜单钩子里都是一个联合数组。

从菜单钩子开始,执

行一系列的功能操作。

通过菜单钩子,可以创建网站各个模块功能的入口链接。

菜单钩子的回调类型(type):

1.MENU_CALLBACK普通的菜单回调,不在菜单区块显示,只能通过url访问

2、MENU_NORMAL_TIEM可以在菜单区块显示

3.MENU_DEFAULT_LOCAL_TASK//可以继承父菜单的类型

2.表单函数名_submit($form,$form_values):

提交表单操作。

3.表单函数名_validate($form_id,$form_values):

对表单里输入的内容进行验证,

如果不符合条件,将会提示错误信息。

4.drupal_get_form()生成表单html,

5.User_access():

测试用户是否有访问权限。

有则反回true,没有则反回false.

6.hook_perm():

定义用户权限。

7.hook_user($op,&

$edit,&

$user,$category=NULL)对用户帐号进行操作,以及修改$user对象.

8.节点中用到的钩子

hook_($node)保存一个新的节点时将会调用此钩子

hook_update($node)编辑完一个节点时调用该钩子。

hook_(&

$node)删除一个节点时调用

hook_view($node,$teaser=FALSE,$page=FALSE)显示一个节点信息

hook_access()用来限制对一个节点类型的访问

9.数据库操作:

db_query()执行sql语句,返回一个结果集

db_fetch_object()从结果集中取出一行作为一个对象。

db_fetch_array()取出的结果作为一个数组

10.主题

Hook_theme()注册模块要用到的主题钩子

Theme_主题名()定义主题函数,用这种方法可以不写主题模版,在这里直接定义主

题样式。

Theme(‘主题名’,’参数’):

调用主题函数,此函数返回处理后的html,用于输出到览器。

个人理解

了解drupal的关键在于理解它的模块化框架和钩子系统,它的功能都是通过模块来实现的,每个模块又可以被启用或者禁用,而系统对模块的控制就是通过钩子来实现的。

也就是说模块只有通过钩子才能被系统所调用。

要灵活的运用drupal,我觉的首先要掌握drupal为实现各个功能而定义的钩子函数,这样,当我们在写模块时,就知道什么功能要用什么钩子函数。

[drupal学习总结]相关文章:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1