Musings of ErisDS
beta
ErisDS

Archive > Tag > forms

Perusing my Google Analytics data shows up some interesting results. For starters the top search query which sends people to my blog is “symfony accessing object in a form”. This has been consistent for several months, but there is no article on my blog which answers that question. I imagine this must be very frustrating for people so it’s about time I added the answer here as a snippet.

Back in April I posted a Snippet on Symfony Form Formatters. Since then I’ve done a bit more work with them and thought I’d share my custom form formatter for displaying forms as definition lists. Forms are often marked up as unordered lists, but with their label-input structure I find they often make semantic sense as definition lists.

Symfony is one of my favourite bits of technology. I’ve got plans to write several articles and tutorials on it, but as I know many people haven’t yet heard of it, or are unaware of how it could help them, I thought it best to write an introductory article. So, here is an explanation of what Symfony is, why I use it, and why you may want to start using it too.

By default Symfony displays forms in tables, with each new input being a table row. If you want to display your forms more semantically with fieldsets and lists, Symfony has a list formatter built in. You can tell an individual form to display as a list using the code below.

1
2
3
4
5
6
  <?php
    // lib/form/MyModelForm.class.php
    public function configure() {
      $this->widgetSchema->setFormFormatterName('list');
    }
?>

I often forget how to set default values for form fields. Mainly because it’s a function of sfForm rather than sfFormField I think. I the snippet below ‘field’ you are setting the default value for, and $value should be the default value.

1
  $this->setDefault('field', $value);

The following snippets provide access to the Symfony User object from various parts of a Symfony project.