Product_Controller::Form PHP Method

Form() public method

allow overriding the type of form used
public Form ( )
    public function Form()
    {
        $formclass = $this->formclass;
        $form = new $formclass($this, "Form");
        $this->extend('updateForm', $form);
        return $form;
    }

Usage Example

 public function Form()
 {
     $form = parent::Form();
     $object = $this->dataRecord;
     $requirements = new RequiredFields(array("Quantity"));
     // First add customisations from global lists
     if ($object->CustomisationListID) {
         foreach ($object->CustomisationList()->Customisations() as $customisation) {
             $field = $customisation->Field();
             $form->Fields()->insertBefore($field, "Quantity");
             // Check if field required
             if ($customisation->Required) {
                 // Manualy make field required (as SS seems to ignore this step)
                 $field->setAttribute("required", true)->addExtraClass("required");
                 $form->getValidator()->addRequiredField($field->getName());
             }
         }
     }
     // If product colour customisations are set, add them to the item form
     if ($object->Customisations()->exists()) {
         foreach ($object->Customisations() as $customisation) {
             $field = $customisation->Field();
             $form->Fields()->insertBefore($field, "Quantity");
             // Check if field required
             if ($customisation->Required) {
                 // Manualy make field required (as SS seems to ignore this step)
                 $field->setAttribute("required", true)->addExtraClass("required");
                 $form->getValidator()->addRequiredField($field->getName());
             }
         }
     }
     return $form;
 }
All Usage Examples Of Product_Controller::Form
Product_Controller