Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Implements hook_field_widget_form_alter().
- */
- function mymodule_field_widget_form_alter(&$element, &$form_state, $context) {
- if (arg(5) == 'fields' || arg(4) == 'fields') {
- if (isset($element['value'])) {
- $name = $context['field']['field_name'];
- // PREPEND.
- $val = 0;
- if (isset($form_state['field'][$name][LANGUAGE_NONE]['instance']['settings']['pre_on'])) {
- $val = $form_state['field'][$name][LANGUAGE_NONE]['instance']['settings']['pre_on'];
- }
- $element['#element_validate'][] = 'village_widget_validate';
- $element['pre_on'] = array(
- '#title' => t('Render Prefix as Prepend'),
- '#type' => 'checkbox',
- '#default_value' => $val,
- );
- // APPEND.
- $val = 0;
- if (isset($form_state['field'][$name][LANGUAGE_NONE]['instance']['settings']['app_on'])) {
- $val = $form_state['field'][$name][LANGUAGE_NONE]['instance']['settings']['app_on'];
- }
- $element['#element_validate'][] = 'village_widget_validate';
- $element['app_on'] = array(
- '#title' => t('Render Suffix as Append'),
- '#type' => 'checkbox',
- '#default_value' => $val,
- );
- }
- }
- }
- ?>
- <?
- /**
- * Form validation handler for village_field_widget_form_alter().
- */
- function mymodule_widget_validate($element, &$form_state) {
- if (isset($element['pre_on']['#value'])) {
- $form_state['values']['instance']['settings']['pre_on'] = $element['pre_on']['#value'];
- }
- if (isset($element['app_on']['#value'])) {
- $form_state['values']['instance']['settings']['app_on'] = $element['app_on']['#value'];
- }
- }
- ?>
- <?php
- /**
- * Implements hook_form_element().
- */
- function mytheme_form_element(&$variables) {
- // Default suffix.
- $suffix = isset($element['#field_suffix']) ? ' <span class="field-suffix">' . $element['#field_suffix'] . '</span>' : '';
- // Check for field settings.
- if(isset($element['#field_name'])){
- if (isset($element['#bundle'])) {
- $field_instance = field_info_instance($element['#entity_type'], $element['#field_name'], $element['#bundle']);
- if(isset($field_instance['settings']['app_on'])){
- // Our Bootstrapped suffix.
- $addoncls .= 'input-prepend ';
- $suffix = isset($element['#field_suffix']) ? ' <span class="field-suffix add-on">' . $element['#field_suffix'] . '</span>' : '';
- }
- }
- }
- // Complied element.
- $output .= '<div class="'.$addoncls.'">' . $prefix . $element['#children'] . $suffix . "</div>";
- return $output;
- }
- ?>
- $field_instance = field_info_instance($element['#entity_type'], $element['#field_name'], $element['#bundle']);
- $field_instance['settings']['app_on'];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement