前段时间要给网站作个高级搜索的功能,但drupal7自带的搜索远远没法知足需求,便有了本身开发的需求php
我之前没有接触过drupal,作这个功能也是困难重重,几乎是从零开始,我将目光放到了自定义模块上html
因为参考书有坑,页面错误不直接显示,我光生成html都弄了好久,最后总算是完成了,下面放出个人正确过程函数
1.在站点目录/sites/all/modules下新建custom文件夹,用于放之后的自定义模块post
2.新建一个文件夹,名字随意,在这个文件夹下面建立文件夹名.info网站
3.在info文件里写上code
name=模块名 description=模块介绍 core=7.x version=版本号
4.建立文件夹名.module,用于管理多个地址,在里面写上orm
<?php function 文件夹名_menu() { return ['你指定的地址' => [ 'title' => '标题', 'page callback' => '回调函数名', 'type' => MENU_CALLBACK, 'access callback' => true, 'file' => '文件夹名.pages.inc' ]]; }
5.建立文件夹名.pages.inc,写上htm
<?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和warningip