13.6.2.19 Doc::preEdition()

[Hameçon]hook] (ou hook) utilisé par l'action d'affichage du formulaire html du document FDL:OPENDOC. Elle est appelée avant la composition du template.

13.6.2.19.1 Description

void preEdition (  )

Cette méthode permet de réaliser des opérations afin d'ajuster l'affichage du formulaire de document. Ces opérations peuvent être :

  • ajout d'un fichier javascript ou css,
  • modification des visibilités d'attributs,
  • modification d'une propriété d'attributs,
  • etc.

13.6.2.19.1.1 Avertissements

À la différence de Doc::preRefresh() qui est appelé lors de consultation et lors de l'édition, cette méthode n'est appelée que lors de l'édition.

13.6.2.19.2 Valeur de retour

Aucune.

13.6.2.19.3 Erreurs / Exceptions

Aucune.

13.6.2.19.4 Historique

Aucun.

13.6.2.19.5 Exemples

13.6.2.19.5.1 Ajout d'asset ccs et js

Ajout d'une css et d'un fichier JavaScript spécifique si c'est un formulaire de création de document.

class MyFamily extends \Dcp\Family\Document
{
  public function preEdition() {
    if ($this->getProperty("initid") == 0) {
        global $action;
        $action->parent->addJsRef("MYAPP/Layout/mySpecialCreate.js");
        $action->parent->addCssRef("MYAPP/Layout/mySpecialCreate.css");
    }
}

Voir addjsRef et addCssRef pour l'ajout d'asset.

13.6.2.19.5.2 Modification de visibilité et caractère obligatoire

Rendre obligatoire l'attribut my_level à la création.

class MyFamily extends \Dcp\Family\Document
{
  public function preEdition() {
    if ($this->getProperty("initid") == 0) {
        $myAttribute=$this->getAttribute(\Dcp\AttributeIdentifiers\MyFamily::my_level);
        $myAttribute->setVisibility('W');
        $myAttribute->setNeeded(true);
    }
}

Attention, cela impacte juste le formulaire et non la caractère réellement obligatoire de l'attribut. Ce caractère obligatoire peut aussi être maîtrisé par les contrôles de vue.

13.6.2.19.6 Notes

Aucune.

13.6.2.19.7 Voir aussi

×