gpt4 book ai didi

drupal - 使用 drupal_get_form() 传递参数

转载 作者:行者123 更新时间:2023-12-04 10:02:12 26 4
gpt4 key购买 nike

这是我使用钩子(Hook)的自定义模块,

假设如果我想将参数传递给 custom1_default_form 函数调用,我应该如何传递参数?

<?php

function custom1_block($op,$delta=0){
if($op=='list'){
$block = array();
$block[0]['info']=t('hello world');
return $block;
}else if($op=='view'){
$block_content = '<p>THIS IS MY FIRST BLOCK</p>';
$block['subject'] = 'HELLO WORLD';
$block['content'] =drupal_get_form('custom1_default_form');
return $block;
}
}

function custom1_default_form () {
$form = array();
$form['nusoap_urls']['txt_name'] =
array('#type' => 'textfield',
'#title' => t('Please enter your name'),
'#default_value' => variable_get('webservice_user_url',''),
'#maxlength' => '40',
'#size' => '20',
// '#description' => t('<br />Root directory used to present the filebrowser user interface.')

);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save Details'),
);
return $form;
}

function custom1_default_form_validate (&$form, &$form_state) {

if(($form_state['values']['txt_name']) == '') {
form_set_error('user_webservice', t('Enter a name'));
}
}

function custom1_default_form_submit ($form_id, $form_values) {
// drupal_set_message( print_r($_POST));

// $message = 'You have submitted the ' . $form_id . ' form which contains the following data:<pre>' . print_r($form_state['values'],true) . '</pre>';

//drupal_set_message(t($message));
//drupal_set_message(t($form_values['values']['txt_name']));
// print_r($form_values['values']);
$GET_TXT_FIELD_VALUE = $form_values['values']['txt_name'];
$INSERT_QUERY = "INSERT INTO sample (test_name) VALUES ('$GET_TXT_FIELD_VALUE')";
if (db_result(db_query("SELECT COUNT(*) FROM {sample} WHERE test_name = '%s';", $GET_TXT_FIELD_VALUE))) {
// User doesn't exist
drupal_set_message(t('ALREADY EXIST.....'));
}else{
db_query($INSERT_QUERY)or die('Execution Failed');
if(db_affected_rows()==1){
drupal_set_message(t('VALUE INSERTED SUCCESSFULLY'));
}else{
drupal_set_message(t('VALUE INSERTED FAILED'));
}
}
}

最佳答案

如果要通过 URL 传递参数,请使用 arg() :

function custom1_default_form() {
// Assuming the URL is http://example.com/admin/content/types:
$arg1 = arg(1); // $arg1 = 'content'
$arg2 = arg(2); // $arg2 = 'types'
// ...
}

如果您只想通过 drupal_get_form() 将参数传递给表单调用,只需将参数作为附加参数添加到 drupal_get_form() :
$block['content'] = drupal_get_form('custom1_default_form', $arg1, $arg2);

// ...

function custom1_default_form($form_state, $arg1, $arg2) {
// ...
}

关于drupal - 使用 drupal_get_form() 传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3887321/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com