function form_builder_field_render in Form Builder 7.2
Same name and namespace in other branches
- 6 includes/form_builder.admin.inc \form_builder_field_render()
- 7 includes/form_builder.admin.inc \form_builder_field_render()
Render a single field independent of other settings.
@todo form rendering a form method.
2 calls to form_builder_field_render()
- form_builder_field_json in includes/
form_builder.admin.inc - Menu callback to display a field as a JSON string.
- _form_builder_add_element in includes/
form_builder.admin.inc - Menu callback helper for adding or cloning a field.
File
- includes/
form_builder.admin.inc, line 718 - form_builder.admin.inc Administrative interface for editing forms.
Code
function form_builder_field_render($form_type, $form_id, $element_id, $wrapper = FALSE) {
module_load_include('inc', 'form_builder', 'includes/form_builder.api');
module_load_include('inc', 'form_builder', 'includes/form_builder.cache');
// Load the current state of the form and prepare it for rendering.
$loader = Loader::instance();
$form_obj = $loader
->fromCache($form_type, $form_id);
if (!$form_obj) {
$form_obj = $loader
->fromStorage($form_type, $form_id);
$form_obj
->save();
}
$form_state = array(
'submitted' => FALSE,
'build_info' => array(
'args' => array(
$form_obj,
$form_type,
$form_id,
),
),
'values' => array(),
'method' => 'get',
);
$form = drupal_retrieve_form('form_builder_preview', $form_state);
drupal_prepare_form('form_builder_preview', $form, $form_state);
$form['#post'] = array();
$form = form_builder('form_builder_preview', $form, $form_state);
// Get only the element wanted and render it.
$element = FormBase::fromArray($form)
->getElementArray($element_id);
if ($wrapper) {
$element['#theme_wrappers'][] = 'form_builder_element_wrapper';
}
return drupal_render($element);
}