2010-11-24 37 views

Répondre

3

Deux façons:

1. Écrivez votre propre configuration admin

C'est la méthode préférée s'il y a des différences significatives entre les deux formes. Ce fichier va dans le dossier config du module. "moduleName" doit être remplacé par le nom du module.

class moduleNameGeneratorConfiguration extends BaseModuleNameGeneratorConfiguration 
{ 
    public function getForm($object = null, $options = array()) 
    { 
    $options = array_merge($this->getFormOptions(), $options); 
    if ($object && $object->exists()) 
    { 
     return new EditModelForm($object, $options); 
    } 
    else 
    { 
     return new NewModelForm($object, $options);   
    } 
    } 
} 

2. Séparer la logique à l'intérieur de la forme

Cela peut être gênant s'il y a des différences importantes, mais vous pouvez simplement appeler isNew l'intérieur de la forme nécessaire, par exemple

public function configure() 
{ 
    if ($this->isNew()) 
    { 
    //do new stuff 
    } 
    else 
    { 
    //do edit stuff 
    } 
} 
0

Vous pouvez créer la même structure de répertoire que dans l'application Frontend et remplacer les formes de générateur. Par exemple, créez un fichier indexSuccess.php dans votre module Backend. Lors du chargement de ce module, il utilisera le fichier indexSuccess.php maintenant. La manière la plus simple de procéder consiste à copier les données de votre dossier/cache - Copiez les fichiers du module backend générés et modifiez-les comme vous le souhaitez.

1

j'ai pu faire des choses différentes dans la "nouvelle" et "modifier" dans la même forme, en utilisant

$this->isNew() 
0

Vous pouvez spécifier quel champ sont disponibles sous une forme en fonction de l'action, voir The form section only exists as a fallback for the edit and new sections.

Par exemple:

generator: 
    param: 
     form: 
     display: 
      group1:    [name, description] 
     edit: 
     title:    Edit item %%name%% 
     fields: 
      #group1:    [name, description] -> inheritance 
      group2:    [only_displayed_when_editing_field] 
     new: 
     title:    New item 
     fields: 
      group1:    [name] #override