agree it's not very clean, but thanks for the info. I like this way too. I keeps things fully "automated"
On Jan 23, 3:52 pm, isleshocky77 <[email protected]> wrote: > Jukea, Thanks for the reply. I was just coming back to say I found a > way of doing it but I don't think it's as clean as I would like. > > [CODE] > class RegistrationForm extends sfGuardUserForm > { > public function configure() { > parent::configure(); > > $profile_form = new > RegistrationProfileForm($this->getObject()->getProfile()); > > $this->embedForm('profile', $profile_form); > $this->getWidget('profile')->setLabel(false); > $this->getWidget('profile')->setFormFormatterName > ('listNoDecorator'); > }} > > [/CODE] > > [CODE] > class sfWidgetFormSchemaFormatterListNoDecorator extends > sfWidgetFormSchemaFormatter > { > protected > $rowFormat = "<li>\n %error%%label%\n %field%%help%\n > %hidden_fields%</li>\n", > $errorRowFormat = "<li>\n%errors%</li>\n", > $helpFormat = '<br />%help%', > $decoratorFormat = "\n %content%"; // Only change is this line > removing the <ul></ul>} > > [/CODE] > > [CODE] > // registrationSuccess.php > <?php echo form_tag_for($form, 'account/registration') ?> > <ul> > <?php foreach ($form->getFormFieldSchema() as $field ) : ?> > <?php if ( get_class($field->getWidget()) == 'sfWidgetForm' || > $field->getWidget() instanceOf sfWidgetFormInputHidden) : ?> > <?php echo $field; ?> > <?php else: ?> > <?php echo $field->renderRow() ?> > <?php endif; ?> > <?php endforeach; ?> > <li><input type="submit" value="Register" /></li> > </ul> > <?php echo '</form>' ?> > [/CODE] > > Like I said, I really wish there was a cleaner implementation to > this. One I was thinking of was being able to set the "rowDecorator" > on a specific widget > $this->widgetSchema['profile']->setRowFormat("\n %error%%label%\n > %field%%help%\n%hidden_fields%\n"); > notice I removed the <li></li> > > Any other ideas on a better way to do this would be greatly > appreciated. I'm thinking this has to be a common problem? Or are > most people just solving it through css and I should tell my html/css > coders to deal with it? > > -- > Stephen Ostrow <[email protected]> > > On Jan 23, 3:44 pm, jukea <[email protected]> wrote: > > > yes, it's because the nested form is rendered as a row itself, with > > the widget being the whole form . > > > I guess you might be able to do that by displaying each embedded form > > row like this > > > $this->embedded_forms['myForm']['embedded_form_username']->renderRow > > (); > > > (check sfFormDoctrine (or propel ) to verify embedded_form, i'm not > > sure) > > > Julien > > > On Jan 23, 2:08 pm, isleshocky77 <[email protected]> wrote: > > > > I've run across this problem a few times now. I have a form with an > > > embedded form. But I want it to displayed without being nested within > > > the form. > > > > So instead of: > > > [code] > > > <ul> > > > <li><input id="form[field]" /></li> > > > <li> > > > <ul> > > > <li><input id="embedded_form[field]" /></li> > > > </ul> > > > </li> > > > </ul> > > > [/code] > > > > I would like just: > > > [code] > > > <ul> > > > <li><input id="form[field]" /></li> > > > <li><input id="embedded_form[field]" /></li> > > > </ul> > > > [/code] > > > > I had tried just doing this: > > > [code] > > > <?php foreach ($form->getFormFieldSchema() as $field ) : ?> > > > <?php echo $field->renderRow() ?> > > > <?php endforeach; ?> > > > [/code] > > > > but it still nests the form. So I'm thinking I might be able to build > > > a new decorator, but I'm not sure if that will still nest the form. > > > > And I'm trying to stay away from doing every field manually. > > > > Thanks for any help > > > > -- > > > Stephen Ostrow --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---
