前段时间要给网站做个高级搜索的功能,但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