前段時間要給網站作個高級搜索的功能,但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