By: Eric
Date: 2007-02-16
Time: 04:48
|
mailing avec tbsOOO
bonjour Olivier
j'ai lu le post #4322 et j'ai essayé de l'appliquer à mon cas (dans un premier temps générer un document avec tbsooo sur 5 enregistrements) mais je n'obtiens au final qu'un seul document odt (avec les infos du dernier enregistrement)
Voici le principe général de mon script :
<boucle sur mes 5 enregistrements>
$OOo->NewDocFromTpl('mondoc');
$OOo->LoadXmlFromDoc('content.xml');
// valorisation de mes données avec les $OOo->SaveXmlToDoc();
$OOo->LoadXmlFromDoc('meta.xml');
$OOo->SaveXmlToDoc();
<fin de ma boucle>
// Display
J'ai essayé en sortant $OOo->NewDocFromTpl('mondoc'); de ma boucle mais rien n'y fait...
Une petite aide de ta part sera vraiment la bienvenue
merci
Eric
|
By: Olivier
Date: 2007-02-16
Time: 11:11
|
Re: mailing avec tbsOOO
Bonjour,
A priori tu es en train de fusionner un bloc de 5 éléments, mais tu as oublié de mettre l'instruction, par exemple :
$OOo->MergeBlock('nom_bloc', 'array', $data) ;
|
voir la documentation de TBS.
De plus tu fusionnes le fichier meta.xml. As tu des variables à fusionner dans ce fichier ?
Je t'ai fais des commentaires dans ton code pour que tu comprennes les différentes étapes :
// --- ETAPE 1 ---
//Creation d'un document de travail à partir du fichier 'mondoc'
$OOo->NewDocFromTpl('mondoc');
// --- ETAPE 2 ---
// extraction et chargement en mémoire du fichier content.xml à partir du document de travail
$OOo->LoadXmlFromDoc('content.xml');
//mettre du code ici si fusion des données en mode bloc
// .... ici .....
// $OOo->MergeBlock('nom_bloc', 'array', $data) ;
// fusionner les données et sauvegarde dans le document de travail
$OOo->SaveXmlToDoc();
// --- ETAPE 3 ---
// extraction et chargement en mémoire du fichier meta.xml à partir du document de travail
$OOo->LoadXmlFromDoc('meta.xml');
// fusionner les données et sauvegarde dans le document de travail
$OOo->SaveXmlToDoc();
// --- ETAPE 4 ---
// Display
// ....
|
.....
|
By: Olivier
Date: 2007-02-16
Time: 11:11
|
Re: mailing avec tbsOOO
Bonjour,
A priori tu es en train de fusionner un bloc de 5 éléments, mais tu as oublié de mettre l'instruction, par exemple :
$OOo->MergeBlock('nom_bloc', 'array', $data) ;
|
voir la documentation de TBS.
De plus tu fusionnes le fichier meta.xml. As tu des variables à fusionner dans ce fichier ?
Je t'ai fais des commentaires dans ton code pour que tu comprennes les différentes étapes :
// --- ETAPE 1 ---
//Creation d'un document de travail à partir du fichier 'mondoc'
$OOo->NewDocFromTpl('mondoc');
// --- ETAPE 2 ---
// extraction et chargement en mémoire du fichier content.xml à partir du document de travail
$OOo->LoadXmlFromDoc('content.xml');
//mettre du code ici si fusion des données en mode bloc
// .... ici .....
// $OOo->MergeBlock('nom_bloc', 'array', $data) ;
// fusionner les données et sauvegarde dans le document de travail
$OOo->SaveXmlToDoc();
// --- ETAPE 3 ---
// extraction et chargement en mémoire du fichier meta.xml à partir du document de travail
$OOo->LoadXmlFromDoc('meta.xml');
// fusionner les données et sauvegarde dans le document de travail
$OOo->SaveXmlToDoc();
// --- ETAPE 4 ---
// Display
// ....
|
.....
|
By: Eric
Date: 2007-02-16
Time: 14:33
|
Re: mailing avec tbsOOO
merci de ta réponse Olivier
grâce à toi je suis passé à l'étape suivante...
A savoir je retrouve le message d'erreur
Format error discovered in the file in sub-document content.xml at 2,17550(row,col) |
dont parle sam dans son post 4322
mais je n'ai pas trouvé les demo.swx et demo.php que tu lui avais envoyé...
Merci encore pour ton aide
Eric
|
By: Eric
Date: 2007-02-20
Time: 06:37
|
Re: mailing avec tbsOOO
je n'arrive pas à me dépatouiller de ce pblm
je commence mon template par
en haut de page
et le termine par
Entre ces 2 balises j'affiche mes variables blk_adr
// ============================================================================
// M A I N
// ============================================================================
$OOo->NewDocFromTpl('mailing.odt');
// ===== xml content ==========================================================
$OOo->LoadXmlFromDoc('content.xml');
// ============================================================================
// D A T A S
// ============================================================================
// Entete
$qry = "select lib, libelle, current_date as date from param_edi where lib in ('RUE','VIL')";
$getParam = parse_query($qry);
while ($rec=pg_fetch_array($getParam)){
$today = $rec["date"];
switch ($rec["lib"]){
case "RUE"; $rue = $rec["libelle"]; break;
case "VIL"; $vilsfc = $rec["libelle"]; break;
}
}
// Destinataires du mailing
$qry="select distinct(i_individu) as i_individu from mailing where typmail=1";
$qry .= " and i_individu in (2525,900868,18,900958) order by i_individu desc";
$getInfo = parse_query($qry);
$subjects = pg_fetch_all($getInfo);
$db_conn = pg_connect(CONNECTION_STRING) or die("connexion pg");
$OOo->MergeBlock('subject', 'array', 'subjects');
$OOo->SaveXmlToDoc();
$OOo->MergeBlock('blk_adr', $db_conn,"select adresse1,adresse2,adresse3,adresse4,adresse5,cpost,ville,case pays when 'FR' then NULL end as pays,email,adramc from v_adresse where i_individu=" . $i_individu);
$OOo->SaveXmlToDoc();
// ===== xml meta =============================================================
$OOo->LoadXmlFromDoc('meta.xml');
$OOo->SaveXmlToDoc();
// ============================================================================
// D I S P L A Y
// ============================================================================
|
Je pense que mon erreur vient des imbrications de block
Peux tu me le confirmer ?
merci
Eric
|
By: Sophie
Date: 2007-02-26
Time: 15:51
|
Re: mailing avec tbsOOO
bonjour Eric
As tu la réponse à ton problème ?
Je suis dans le même cas de figure que toi où j'essaie de modifier l'exemple en ligne invoice.php de manière à pouvoir en faire un mailing mais je rencontre le même problème que toi.
Si tu as la solution merci de m'en faire profiter
Soph
|
By: Olivier
Date: 2007-04-15
Time: 22:06
|
Re: mailing avec tbsOOO
Bonjour,
Je n'avais pas lu ce thread...
A la place de
$db_conn = pg_connect(CONNECTION_STRING) or die("connexion pg");
$OOo->MergeBlock('subject', 'array', 'subjects');
$OOo->SaveXmlToDoc();
$OOo->MergeBlock('blk_adr', $db_conn,"select adresse1,adresse2,adresse3,adresse4,adresse5,cpost,ville,case pays when 'FR' then NULL end as pays,email,adramc from v_adresse where i_individu=" . $i_individu);
$OOo->SaveXmlToDoc();
|
faire
$db_conn = pg_connect(CONNECTION_STRING) or die("connexion pg");
$OOo->MergeBlock('subject', 'array', 'subjects');
// --- ne pas faire $OOo->SaveXmlToDoc();
$OOo->MergeBlock('blk_adr', $db_conn,"select adresse1,adresse2,adresse3,adresse4,adresse5,cpost,ville,case pays when 'FR' then NULL end as pays,email,adramc from v_adresse where i_individu=" . $i_individu);
$OOo->SaveXmlToDoc(); // a faire une seule fois
|
Il faut le faire qu'une seule fois pour sauvegarder le résultat des différents fusions de variables et blocks dans le document
Olivier
|
|
Posting in progress.
Please wait...
|