|
Patrick Renaud
|
Mercredi 17 Janvier 2007 10:17:37 am
Extension import CSV / problème blocs xml
Bonjour à tous,
Pour importer des données sous eZ 3.8.6, nous avons choisi d'utiliser CsvImport, une extension utilisant le format CSV, disponible depuis ce sujet du site officiel d'eZ : http://ez.no/community/forum/deve...tic_csv_import_extension_who_owns_it.
J'ai étendu ses fonctionnalités pour qu'ell e puisse traiter un nombre quelconque de relations d'objet et de relations d'objets, mais l'importation de blocs xml ne fonctionne tout simplement pas.
Fatal error: Call to a member function on a non-object in .../extension/csv/modules/csv/csvimport.php on line 942
Fatal error: eZ publish did not finish its request
Code correspondant au stockage de blocs xml :
case 'ezxmltext' :
{
$inputData = "<section xmlns:image='http://ez.no/namespaces/ezpublish3/image/' xmlns:xhtml= 'http://ez.no/namespaces/ezpublish3/xhtml/' xmlns:custom='http://ez.no/namespaces/ezpublish3/custom/' >";
$inputData .= "<paragraph>";
if ( $convertTag == true )
$inputData .= convert( $attributeContent, $tagList );
else
$inputData .= $attributeContent;
$inputData .= "</paragraph>";
$inputData .= "</section>";
include_once( "kernel/classes/datatypes/ezxmltext/handlers/input/ezsimplifiedxmlinput.php" );
$dumpdata = "";
$simplifiedXMLInput = new eZSimplifiedXMLInput( $dumpdata, null, null );
$inputData = $simplifiedXMLInput->convertInput( $inputData );
$input = $inputData[0]->toString(); /*- 942 : Cette ligne-ci -*/
$contentObjectAttribute->setAttribute( 'data_text', $input );
$contentObjectAttribute->store();
break;
}
En regardant de plus près, il apparaît que la classe eZSimplifiedXMLInput, et ezxmlinputhandler dont elle hérite, ne sont pas totalement implémentées. Aurais-je raté quelque chose ?
Quoiqu'il en soit, nous avons essayé ceci à la place, qui <i>devrait</i> fonctionner :
case 'ezxmltext':
{
include_once( 'kernel/classes/datatypes/ezxmltext/handlers/input/ezsimplifiedxmlinputparser.php' );
$contentObjectID = $contentObjectAttribute->attribute('contentobject_id');
$parser = new eZSimplifiedXMLInputParser( $contentObjectID, false, 0 );
$document = $parser->process($attributeContent);
if (!is_object($document))
{
$this->messages[] = $this->message("Error", "Adding creating EZXMLText" ;
return false;
}
$errors = $parser->getMessages();
$domString = eZXMLTextType::domString( $document );
echo "<hr />\nDomString = ".$domString."\n<hr />\n";
$contentObjectAttribute->setAttribute( 'data_text', $domString );
$contentObjectAttribute->store();
}
La condition is_object($document) est bien vérifiée, et $domString contient bien la bonne valeur. Tout se passe "comme si" les deux dernières lignes (stockage effectif de la valeur de l'attribut) ne fonctionnaient pas.
D'où ces questions :
- connaissez-vous cette extension et l'avez-vous utilisée ? Si oui dans quelle mesure, et fonctionnait-elle correctement ?
- concenant le stockage de l'attribut xml à proprement parler, quelqu'un aurait-il une idée ou même simplement une piste ?
Grand merci d'avance.
|
|
philippe GODOT
|
Mercredi 04 Avril 2007 3:51:05 pm
Re: Extension import CSV / problème blocs xml
Bonjour, je suis trés interressé par cette extension mais malheureusement le lien ne fonctionne plus. Je suis également interressé par les aimérioation que vous avez pû apporter.
Pourriez vous me transmettre une archive de cette extension svp ?
D'avance merci
Philippe
probeSys
Centre CEMOI
BP 267
10 bis rue ampere
38018 GRENOBLE cedex 01
tel : 04 76 96 67 51
fax : 04 76 84 19 95
site web : http://www.probesys.com
|
|
Patrick Renaud
|
Mercredi 04 Avril 2007 4:07:40 pm
Re: Extension import CSV / problème blocs xml
Bonjour,
L'extension originale est récupérable ici : http://zev.ez.no/svn/extensions/csv/
Les adaptations sont ce qu'elles sont, mais oui, je peux fournir une archive. 
L'adresse email webmaster sur probesys.com fera l'affaire ?
|
|
Clement Baronnet
|
Lundi 18 Février 2008 8:15:29 pm
Re: Extension import CSV / problème blocs xml
Bonjour,
je suis en train d'installer l'extension csvimport sur mon eZ en 3.10 et cela ne veut pas fonctionner.
Pourtant, en eZ 3.9 tout fonctionne correctement.
Quelqu'un a t il trouvé une solution à ce sujet ? Ou deja rencontré ce souci ?
Merci à vous..
------------------------------
Clément
Ingénieur IFIPS
|