Stick it to THE MAN
Stick it to THE MAN

Reputation: 5701

customizing form templates (new/edit view) for admin generated modules

I am using SF 1.2.9 (with Propel ORM), to build a website. I have generated admin modules for some of my models. I want to modify the template used to display the Form because there are some fields that I dont want to display (but need) - example the 'slug' field in a form.

Since the templates are autogenerated, I cant make the changes there. How can I specify a template to use for rendering a form in the new/edit view?

Upvotes: 0

Views: 1276

Answers (2)

saadtazi
saadtazi

Reputation: 156

To hide or remove fields from a form, I think you should check that link.

To sum up, the admin generator uses a ORM sfForm to render the edit action. So if you remove fields:

// lib/form/doctrine/ADoctrineClassForm.class.php
class ADoctrineClass extends BaseADoctrineClass
{
  public function configure()
  {
    ...
    unset($this['field_name']
    ...

You can also change the widget used the render the field by redefining which widget to use:

//in ADoctrineClass configure method also
$this->widgetSchema['a_field_a_want_to_hide'] = new sfWidgetFormInputHidden()

I hope this helps.

Upvotes: 0

Andrei Dziahel
Andrei Dziahel

Reputation: 969

In general, to override generated templates with your own, you just have to name your template same as generated one.

But looks like you do not need it. Hint: you can choose which fields to show in admin generator. Please consult symfony reference manual to realize how

Upvotes: 2

Related Questions