Guest User

Untitled

a guest
Jul 19th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. sub render_field {
  2. my ($self, $fieldname) = @_;
  3.  
  4. my $field = $self->form->field($fieldname);
  5. ## figure out what field template we need to load based on the field
  6. my @templates_to_try = (
  7. $self->form->name . '/' . $fieldname,
  8. $self->form->name . '/' . $field->field_type,
  9. $fieldname,
  10. $field->field_type
  11. );
  12.  
  13. ## Order for trying templates should be:
  14. ## formname/fieldname
  15. ## formname/fieldtype
  16. ## fieldname
  17. ## fieldtype
  18.  
  19. ## --jk need to set up $vars and such.
  20. my $output;
  21. my $vars = {};
  22. my $template_found = 0;
  23. foreach my $template_name (@templates_to_try) {
  24. my $res = $self->template->process($template_name, $vars, \$output);
  25. if ($res) {
  26. $template_found = 1;
  27. last;
  28. }
  29. }
  30. if (!$template_found) {
  31. ## crap. throw an error or something, we couldn't find ANY matching template.
  32. croak "Unable to find any template for " . $self->form->name . ':' . $field->name . " tried: " . join(", ", @templates_to_try);
  33. }
  34. return $output;
  35. }
Add Comment
Please, Sign In to add comment