Community Documentation

Quick contact block

Last updated July 22, 2012. Created by alex_stanhope on March 21, 2008.
Edited by dodorama, kalabro, orbisnull, Kami Petersen. Log in to edit this page.

If you're using the Contact module, you can wrap the form inside a block without re-writing it.

Drupal 7.x

<?php
  module_load_include
('inc', 'contact', 'contact.pages');
  print
render(drupal_get_form('contact_site_form'));
?>

Drupal 6.x

<?php
  module_load_include
('inc', 'contact', 'pages');
  print
drupal_get_form('contact_mail_page');
?>

Validation should just work!

Drupal 5.x

<?php
print drupal_get_form('contact_mail_page');
?>

If you want to tweak form fields you have to indirect both the _page() call and the _submit() call.

<?php
function local_contactblock_page()
{
   
$form = contact_mail_page();
   
// override default value to select a different category
   
$form['cid']['#default_value'] = 0;
    return(
$form);
}

function
local_contactblock_page_submit($form_id, $form_values)
{
    return(
contact_mail_page_submit($form_id, $form_values));
}

print
drupal_get_form('local_contactblock_page');
?>

Comments

Validation doesn't seem to

Validation doesn't seem to work.
I added this when tweaking the form in drupal 6:

<?php
function mailinglist_page_submit($form, &$form_state)
{
    return(
contact_mail_page_submit($form, &$form_state));
}

function
mailinglist_page_validate($form, &$form_state)
{
    return(
contact_mail_page_validate($form, &$form_state));
}
?>

That's not correct. There's

That's not correct. There's no need to add tweaks for validation if you use the contact_mail_page API form.

How to lessen a field?

The default contact form has the following fields: Name, email, subject, content.
but I only need one filed-content, nothing else.(it's a wise choice when you need a simple clean contact form on PRODUCT page.)

could we have the choice?

thanks

About this page

Drupal version
Drupal 5.x, Drupal 6.x, Drupal 7.x

Reference

Drupal’s online documentation is © 2000-2013 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License. Comments on documentation pages are used to improve content and then deleted.