13.6.2.15 Doc::postImport()
[Hameçon][hook] (ou hook) utilisé par la méthode
ImportSingleDocument::import()
. Cette méthode est
appelée après l'enregistrement en base de données d'un document lors d'une
importation.
Cette méthode n'est pas utilisée pour les importations de familles de document.
13.6.2.15.1 Description
string postImport ( array $extra = array() )
Cette méthode permet de réaliser un post-traitement après l'enregistrement.
13.6.2.15.1.1 Avertissements
Cette méthode est appelée qu'il s'agisse d'une création ou d'une mise à jour.
La méthode Doc::store()
doit être appelée depuis cette
méthode si des attributs ont été modifiées par cette méthode.
13.6.2.15.2 Liste des paramètres
- (array)
extra
-
Contient les valeurs supplémentaires indiquées dans le fichier d'importation. Ces paramètres supplémentaires peuvent servir à réaliser le post-traitement.
13.6.2.15.3 Valeur de retour
Message d'information. Ce message est indiqué dans le rapport d'importation.
13.6.2.15.4 Erreurs / Exceptions
Aucunes.
13.6.2.15.5 Historique
Aucun.
13.6.2.15.6 Exemples
Soit la ligne d'importation suivante :
ORDER | ZOO_SPECIES | spec id | folder id | sp_latinname | extra:status | extra:special |
---|---|---|---|---|---|---|
DOC | ZOO_SPECIES | MY_MAMMUTH | - | Mammuthus | disappeared | protected |
Dans cette exemple, le document Mammuthus de la famille ZOO_SPECIES a
comme paramètre passé à postImport
:
array( 'status' => 'disappeared', 'special' => 'protected' );
namespace My; use \Dcp\AttributeIdentifiers\MyFamily as MyAttributes; class MyFamily extends Dcp\Family\Document { public function postImport(array $extra=array()) { if (isset($extra["special"]) && $extra["special"]=="protected") { $this->setAttributeValue(MyAttributes::sp_protectionlevel, "2"); return $this->store(); // l'enregistrement en base doit être effectué // pour prendre en compte la modification } return ''; } }
13.6.2.15.7 Notes
Il est possible d'utiliser des attributs de classes (privées ou publiques) pour
partager des informations entre preImport()
et postImport()
.