drupal7自定义模块之表单(新手向)

前段时间要给网站做个高级搜索的功能,但drupal7自带的搜索远远无法满足需求,便有了自己开发的需求

我以前没有接触过drupal,做这个功能也是困难重重,几乎是从零开始,我将目光放到了自定义模块上

由于参考书有坑,页面错误不直接显示,我光生成html都弄了很久,最后总算是完成了,下面放出我的正确过程

1.在站点目录/sites/all/modules下新建custom文件夹,用于放以后的自定义模块

2.新建一个文件夹,名字随意,在这个文件夹下面创建文件夹名.info

3.在info文件里写上

name=模块名
description=模块介绍
core=7.x
version=版本号

4.创建文件夹名.module,用于管理多个地址,在里面写上

<?php
function 文件夹名_menu()
{
    return ['你指定的地址' => [
        'title' => '标题',
        'page callback' => '回调函数名',
        'type' => MENU_CALLBACK,
        'access callback' => true,
        'file' => '文件夹名.pages.inc'
    ]];
}

5.创建文件夹名.pages.inc,写上

<?php
function 回调函数名()
{
    drupal_set_title('标题,似乎可以不要');
    $form=drupal_get_form('表单生成函数名');
    return drupal_render($form);
}
function 表单生成函数名(){
$form['tip']=['#markup'=>'这只是普通的文本'];
$form['name'] = [
        '#title' => '姓名',
        '#type' => 'textfield'
    ];
 $form['dropselect'] = [
        '#title' => '下拉',
        '#type' => 'select',
        '#options' => ['1'=>'a','tes'=>'dsf']
    ];
$form['submit'] = [
        '#type' => 'submit',
        '#value' => '提交'
    ];
//指定提交方法为get,不些就是post
    $form['#method'] = 'get';
}

drupal的提交地址默认是自身地址,也就是说要接收提交参数必须做判断处理,如果要对提交的表单做提示,用drupal_set_message('提示', '类型'),类型我自己用的有sucess和warning

猜你喜欢

转载自my.oschina.net/u/3470006/blog/2055994
今日推荐