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().

13.6.2.15.8 Voir aussi

×