Bonjour,

Me revoilà sur le forum pour un nouveau problème.
J'ai besoin de faire du publipostage en word et je me suis donc tourné vers phpWord.

J'ai donc copié les sources dans mon projet /var/www/mon_projet/Classes/

Donc là dedans j'ai PHPWord.php et un dossier PHPWord comprenant les examples et le reste des sources.

J'ai commencé par vouloir refaire l'exemple "template.php"

J'ai donc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
$PHPWord = new PHPWord();
$document = $PHPWord->loadTemplate('../Classes/PHPWord/Examples/Template.docx');
    $document->setValue('Value1', "test");
et là déjà j'ai une erreur:
b>Fatal error</b>: Call to a member function setValue() on a non-object in <b>/home/www/aigs2/Editions/publipost_word.php</b>

Je suppose que l'appel à PHPWord_Autoloader dans pPHPWord.php ne require pas correctement Template.php

1) Est ce que quelqu'un a une idée?

2) j'ai testé également de créer desuite un objet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
$document = new PHPWord_Template("DOC/template.docx");
$document->setValue('Value1', $row['nompat']);
//dans la classe
$this->_objZip = new ZipArchive();
 
        $this->_objZip->open($this->_tempFileName);
//cette façon rempli le xml mais il n'y a plus les ${value1}
        $this->_documentXML = file_get_contents($this->_template);
//avec cette façon qui est celle dans la classe le xml reste vide
        $this->_documentXML = $this->_objZip->getFromName($this->_template);
Je vous remercie de votre aide

(J'utilise la classe PHPExcel sans aucun problème)