第二节 drupal的基本机制

来源:互联网 发布:nginx htaccess 编辑:程序博客网 时间:2024/06/03 23:39
要想学好drupal,首先要对drupal的机制要了解。个人感觉drupal还是比较难入门,特别是对只对php有所了解,但是没有实战经验的人,就更难理解了。作为一名计算机专业的学生,自己也接触过一些语言。其实说白了一通则白通。搞清楚机制后,要用到哪个函数查看开发手册就行了。

    在drupal开发时最常使用的机制就是钩子机制。有人问我什么是钩子?其实就是一些函数而已,但是这些函数功能都是分门别类的,功能各不相同。而且有固定的格式。

     前几天看到一个笑话,说一个老程序员退休之后练书法。写下的第一个作品是hello world,所以我决定就以一个hello world来做第一个《零基础drupal教程》的例子,来阐述drupal的钩子机制。

     下面我们来建立一个hello world模块。

     第一步:在sites/all/modules/custom下面建立一个hello world的文件夹。

     第二部:在hello world里面建立两个文件,hello_world.info和hello_world.module,这两个是建立一个模块必不可少的文件。

     第三部:要往里面写代码。

   hello_world.info文件代码如下:

   ; $Id$
   name = hello world
   description = 零基础drupal教程第一个例子-hello world
   package = Pro Drupal Development
   core = 6.x
   version = "6.17"

  以上就是info文件的代码,参数很好理解就说一下package,这个就是模块启用时候在列表区域的名称。

  core就是内核版本。

  下面就是hello_world.module的代码:

 <?
  function hello_world_menu(){
    $items['hello'] = array(
      'title' => t('hello world'),
      'description' => t('第一个例子'),
      'page callback' => 'hello_world',
      'access callback' => true,
      'type' => MENU_CALLBACK,
   );
   return $items;
 }
  function hello_world(){
     return "hello world!";
  }

 

    上面就是hello_world.module的代码。这个就用到了一个menu的钩子,写法是 文件名+钩子名。这里要注意:一个文件夹下面,所有的文件名都一样,比如hello world下面的 hello_world.info 和 hello_world.module区别只是在文件格式上。那么钩子名前面的文件名也要一致。所以就是hello_world.menu,这是drupal的命名规则。接下来为大家讲解这些参数的作用。

 

menu这个钩子主要是为了增加新页面的。

$items['hello']里面的hello是个相对路径,也就是说这个页面的路径是localhost/teach/hello;(这里的teach就是你的项目名称,第一节已经讲过)

title 就是页面的标题;

description 是这个页面的描述,一般都是说明这个页面是要干什么的;

page callback是这个页面要调用的函数,后面就是要调用的函数名称

access callback是页面的访问权限,设为true就是谁都可以访问

type 就是页面的位置,MENU_CALLBACK就是通过输入地址才让页面显示出来,它还有好几种格式,用到了再详细说明

return $items 一定得记得写

下面就是自己 定义的函数 写法是function  hello_world(){}

这个页面我让它显示一个hello world! 就直接  return "hello world!";

   下面保存这两个文件,到管理->模块  模块列表下面启用这个hello world模块,然后再浏览器地址栏输入 localhost/teach/hello,就会看到这个页面的内容,显示了hello world!

原创粉丝点击