Advertisement
Guest User

Untitled

a guest
Nov 25th, 2014
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. <?php
  2. /**
  3. * Implements hook_field_widget_form_alter().
  4. */
  5. function mymodule_field_widget_form_alter(&$element, &$form_state, $context) {
  6. if (arg(5) == 'fields' || arg(4) == 'fields') {
  7. if (isset($element['value'])) {
  8. $name = $context['field']['field_name'];
  9. // PREPEND.
  10. $val = 0;
  11. if (isset($form_state['field'][$name][LANGUAGE_NONE]['instance']['settings']['pre_on'])) {
  12. $val = $form_state['field'][$name][LANGUAGE_NONE]['instance']['settings']['pre_on'];
  13. }
  14. $element['#element_validate'][] = 'village_widget_validate';
  15. $element['pre_on'] = array(
  16. '#title' => t('Render Prefix as Prepend'),
  17. '#type' => 'checkbox',
  18. '#default_value' => $val,
  19. );
  20. // APPEND.
  21. $val = 0;
  22. if (isset($form_state['field'][$name][LANGUAGE_NONE]['instance']['settings']['app_on'])) {
  23. $val = $form_state['field'][$name][LANGUAGE_NONE]['instance']['settings']['app_on'];
  24. }
  25. $element['#element_validate'][] = 'village_widget_validate';
  26. $element['app_on'] = array(
  27. '#title' => t('Render Suffix as Append'),
  28. '#type' => 'checkbox',
  29. '#default_value' => $val,
  30. );
  31. }
  32. }
  33. }
  34. ?>
  35.  
  36. <?
  37. /**
  38. * Form validation handler for village_field_widget_form_alter().
  39. */
  40. function mymodule_widget_validate($element, &$form_state) {
  41. if (isset($element['pre_on']['#value'])) {
  42. $form_state['values']['instance']['settings']['pre_on'] = $element['pre_on']['#value'];
  43. }
  44. if (isset($element['app_on']['#value'])) {
  45. $form_state['values']['instance']['settings']['app_on'] = $element['app_on']['#value'];
  46. }
  47. }
  48. ?>
  49.  
  50. <?php
  51. /**
  52. * Implements hook_form_element().
  53. */
  54. function mytheme_form_element(&$variables) {
  55. // Default suffix.
  56. $suffix = isset($element['#field_suffix']) ? ' <span class="field-suffix">' . $element['#field_suffix'] . '</span>' : '';
  57. // Check for field settings.
  58. if(isset($element['#field_name'])){
  59. if (isset($element['#bundle'])) {
  60. $field_instance = field_info_instance($element['#entity_type'], $element['#field_name'], $element['#bundle']);
  61. if(isset($field_instance['settings']['app_on'])){
  62. // Our Bootstrapped suffix.
  63. $addoncls .= 'input-prepend ';
  64. $suffix = isset($element['#field_suffix']) ? ' <span class="field-suffix add-on">' . $element['#field_suffix'] . '</span>' : '';
  65. }
  66. }
  67. }
  68. // Complied element.
  69. $output .= '<div class="'.$addoncls.'">' . $prefix . $element['#children'] . $suffix . "</div>";
  70. return $output;
  71. }
  72. ?>
  73.  
  74. $field_instance = field_info_instance($element['#entity_type'], $element['#field_name'], $element['#bundle']);
  75. $field_instance['settings']['app_on'];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement