我正在尝试在 drupal 7 中构建一个自定义字段。除了所见即所得字段之外,一切都工作得很好。我正在使用下一个代码来构建所见即所得元素:
$element['my_body'] = array(
'#title' => t('Editor'),
'#type' => 'text_format',
'#tree' => true,
'#rows' => 20,
'#format' => 'filtered_html',
);
Run Code Online (Sandbox Code Playgroud)
当它不是所见即所得(常规文本区域)时,所有保存都很好,但是在我将其更改为text_format之后,drupal将字段的值获取为带有2个键(值和格式)的数组,这会在drupal保存值时出错场。据我了解,drupal 期望获得的是两个不同的值(body_filter 和格式),而不是具有 2 个键(值和格式)的 body_filter 数组。
任何人都可以给我提示如何解决这个问题(在 google 和 drupal.org 中找不到任何相关内容)?
谢谢。
无论我在表单中放置什么,提交处理程序都会获得相同的表单值.为什么???????
function edit_schoolinfo_form() {
global $user;
$result = db_query("SELECT * FROM {db} where userid=%d", $user->uid);
$sas_school_info = db_fetch_array($result);
$form = array();
$form['school'] = array('#type' => 'fieldset', '#title' => t('School Information'), '#weight' => - 17,);
$form['school']['principlename'] = array('#type' => 'textfield', '#title' => t('Principle Name '), '#required' => TRUE, '#size' => 45, '#weight' => - 11, '#value' => $sas_school_info['principlename'],);
$form['school']['schoolname'] = array('#type' => 'textfield', '#title' => t('School Name '), '#required' => TRUE, '#size' => 45, '#weight' => - 10,'#value' => $sas_school_info['schoolname'],);
$form['school']['address1'] …Run Code Online (Sandbox Code Playgroud) 我需要在显示Drupal表单之前显示一些自定义HTML/Processing代码.如何返回自定义HTML和表单?我的代码是:
function myfunction() {
global $base_path, $base_url;
$output = ""; // Clear the variable, just in case
include ('includes/SOME_HTML_OUTPUT.inc');
return $output; //NOT GOING TO WORK
return drupal_get_form('my_form');
}
Run Code Online (Sandbox Code Playgroud) 有没有说Drupal验证表格元素,如电子邮件字段,密码,数字字段自动验证让我们说绑定系统验证器
$form['email] = array(
'#title' => t('Email'),
'#type' => 'textfield',
'#validate_as' => array('email', ...),
...
);
所以这是我的形式:
$active = array(0 => t('Poster'), 1 => t('Postcard'), 2=>t('Post it'));
$form['radioimage']['active'] = array(
'#type' => 'radios',
'#default_value' => isset($node->active) ? $node->active : 1,
'#options' => $active,
);
Run Code Online (Sandbox Code Playgroud)
我想知道选择了哪个单选按钮.我试图访问数据,但我不知道它叫什么我甚至不能使用devel由于某种原因.
我在下面试过,但都失败了
$form_state['values']['radioimage']['active'][0]
$form_state['values']['radioimage']['active']
Run Code Online (Sandbox Code Playgroud) 我在drupal中有表格,上传图片并且里面有很少的复选框.这是表格:
$form['checklist_fieldset'] = array(
'#type' => 'fieldset',
'#title' => t('Check List'),
'#collapsible' => FALSE,
'#collapsed' => FALSE,
);
$form['checklist_fieldset']['heating'] = array(
'#type' => 'checkboxes',
'#title' => t('Heating options'),
'#options' => array(
'0' => t('Yes'),
'1' => t('No')
),
'#description' => t('Heating details.')
);
Run Code Online (Sandbox Code Playgroud)
这是我的提交功能,我正在处理图像上传和抓取复选框值.我收到成功消息,图像上传但没有获得复选框的值.
function property_add_view_submit($form,&$form_state){
$validators = array();
if($file = file_save_upload('p_file1',$validators,file_direcotry_path)){
$heating = array_keys($form_state['values']['heating']);
drupal_set_message(t('Property Saved! '.$heating));
dpm( $form_state['values']['heating']);
}
Run Code Online (Sandbox Code Playgroud) 为了寻找一个看似简单的问题的答案,在Drupal社区页面上搜索的时间到目前为止没有结果,所以希望你能帮忙!
任何人都可以用自定义形式用FAPI来描述如何实现'nodereference_autocomplete'类型的输入元素?对于初学者来说,这是一个AJAX装饰的文本字段,它在CCK模块提供的匹配引用节点的字段上自动完成.我想在我自己的Drupal 6模块中利用这个功能.
提交的值必须是引用节点的nid.此外,最受欢迎的是关于将自动完成路径限制为仅包括"文章"和"博客"类型的节点的说明.
感谢您对这个最基本的问题的帮助!
尝试在新的内容类型添加表单中添加一些额外的表单项。
还要尝试增加提交和预览的权重。
function mymodule_form_alter(&$form, &$form_state, $form_id){
//add some $form items here
$form['actions']['submit']['#weight'] = 2000;
$form['actions']['preview']['#weight'] = 2001;
}
Run Code Online (Sandbox Code Playgroud)
但不知何故,提交和预览按钮仍然位于添加的新项目上方。
我想添加键(type_id)和值(type_description)以在drupal表单API中进行选择
$ result_x-> product_types-> RPMProductType是来自数据库的数组结果: - array(4){[0] => object(stdClass)#18(2){["type_description"] => string(10)"Calendered"[ "type_id"] => int(1)} [1] => object(stdClass)#19(2){["type_description"] => string(8)"Extruded"["type_id"] => int(2 )} [2] => object(stdClass)#20(2){["type_description"] => string(6)"Molded"["type_id"] => int(3)} [3] => object( stdClass)#21(2){["type_description"] => string(5)"Other"["type_id"] => int(4)}}
foreach ($result_x->product_types->RPMProductType as $data)
{
$form['manufacturer_add_new_sales']['product_type'] = array(
'#type' => 'select',
'#title' => t('Product Type'),
'#options'=>array($data->type_id=>$data->type_description),
);
}
什么时候这样做我只得到最后一个值,即其他.如何正确循环绑定选择以显示所有数组键 - 值.
先感谢您.
使用Drupal 6.20.
我们可以设置一些这样的表单元素: -
<input type="select" name="somename[]"><option>ohai</option></select>
Run Code Online (Sandbox Code Playgroud)
然后在PHP中循环使用它们
foreach ($somename as $name) { ... }
Run Code Online (Sandbox Code Playgroud)
我想在Drupal中做同样的事情.我有一个select-elements相同的风格列表.元素的数量可能在将来发生变化,因此表单处理必须是动态的.
如果我使用上述方法,每个元素将覆盖前一个元素,因此最终只有一个元素被打印到屏幕上.我不能写name="somename[$someid]",因为不会解释$somename为数组.
Drupal支持这个还是我做它?
另外,还有其他方法可以达到同样的目的吗?
drupal ×10
drupal-fapi ×10
drupal-6 ×5
drupal-7 ×3
drupal-forms ×2
php ×2
forms ×1
validation ×1