RBS Change permet l'importation de documents à partir de fichiers XML d'un certain format. Dans la suite on désignera script XML un fichier de ce format.
Cette importation est géré par des classes PHP, étendant import_ScriptDocumentElement
, en général stockées dans persistentdocument/import/
et étant associées à des éléments par une section “binding” du fichier XML.
Cas d'utilisation :
Les fichiers XML sont placés dans dossier setup/
du module.
Depuis la ligne de commande, la commande change.php import-data
permet l'importation d'un fichier XML :
Exemple : importation du fichier setup/sample.xml
du module website :
change.php import-data website sample.xml
Depuis PHP, utilisez la méthode executeModuleScript()
de import_ScriptDocumentElement
:
import_ScriptDocumentElement::getInstance()->executeModuleScript('website', 'sample.xml');
Dans le contexte d'un script d'initialisation de module, vous pouvez utiliser le raccourci executeModuleScript($scriptName, $module = null)
qui par défaut cherche le fichier dans le module courant (ici mymodule) :
class mymodule_Setup extends object_InitDataSetup { public function install() { $this->executeModuleScript('init.xml'); } }
Dans le contexte d'un patch, vous pouvez utiliser les raccourcis executeLocalXmlScript($scriptName)
et/ou executeModuleScript($scriptName, $module)
:
class myPatch extends patch_BasePatch { public function execute() { // Recherche dans le dossier du patch en cours $this->executeLocalXmlScript('myLocalScript.xml'); // Recherche dans le dossier setup du module spécifié $this->executeModuleScript('myModuleScript.xml', 'myModule'); } }