本文實(shí)例分析了drupal的url傳值和表單傳值。分享給大家供大家參考。具體分析如下:
drupal的傳值很有意思,不過我做的時(shí)候都是在編寫模塊時(shí)用的,不知道別人怎么做的。
這個(gè)傳值相當(dāng)于普通php的url
地址是.這個(gè)的傳遞方法大概是這樣的:
代碼如下:
$items['aaa/%'] = array(
'title' => 'aaa',
'page callback' => 'show_sub',
'page arguments' => array(1),
'access callback' => true,
'access arguments' => '',
'type' => menu_normal_item,
);
function show_sub($cat1 = ''){
echo $cat1;
}
這樣就把a(bǔ)aa/后面的這個(gè)值傳到函數(shù)show_sub里了。舉個(gè)例子,您訪問的是,在這個(gè)頁面上
就會(huì)輸出hello這個(gè)值。如果page arguments這樣的話
復(fù)制代碼代碼如下:page arguments => array(1,2,3)那么對(duì)應(yīng)的函數(shù)這么傳值
復(fù)制代碼代碼如下:function show_sub($aa = '',$bb = '', $cc = ''){
echo $aa.$bb.$cc;
}那么當(dāng)您訪問
world/fine這個(gè)地址時(shí)就會(huì)輸出helloworldfine。這個(gè)是url傳值。它的具體用法還要大家多多實(shí)驗(yàn),我也不能說的
很清楚。
另一個(gè)想說的是form傳值。它和url傳值有點(diǎn)類似。
復(fù)制代碼代碼如下:print drupal_get_form('test_form', $node);
//表單函數(shù)上就可以接收到了。
function test_form(&$form_state, $node){//注意這里是$node,也就是說可以直接傳進(jìn)來個(gè)數(shù)組的值。
$form['title'] = array(
'#type'=> 'textfield',
'#title' => '主題',
'#default_value' => 11111,//默認(rèn)值
'#maxlength' => 128,//長度
);
return $form;
}
這個(gè)可以隨便放到一個(gè)主題里的page.tpl.php就能看到效果,另一種方法還是hook_menu,原理和url傳值是一樣的。就是
代碼如下:
$items['aaa/%'] = array(
'title' => 'aaa',
'page callback' => 'drupal_get_form',
'page arguments' => array('test_form',1,2,3),
'access callback' => true, //訪問權(quán)限,設(shè)為true的話任何人都能訪問
'access arguments' => '',
'type' => menu_normal_item,
);
function test_form(&$form_state,$aa = '',$bb = '',$cc = ''){//傳遞表單參數(shù)
$form['title'] = array(
'#type'=> 'textfield',
'#title' => '主題',
'#default_value' => $cc,//默認(rèn)值
'#maxlength' => 128,//長度
);
return $form;
}
這個(gè)訪問的時(shí)候form的title就是fine這個(gè)值。
希望本文所述對(duì)大家的drupal建站有所幫助。
2025國考·省考課程試聽報(bào)名