Porteur principal : Sofien Timezouaght
Porteur secondaire :
Résumé
Permettre de passer des champs de fusion spécifiques aux éditions.
Motivation
Pré-visualisation d’un édition pendant la modification de ses champs de fusion.
Proposition et implémentation
Ajouter à la méthode pdf_om_etat_om_lettretype de la classe core/om_edition.class.php juste avant l’utilisation de la méthode replace_all_elements sur le titre et le corps, le code suivant :
// Éventuels champs de fusion spécifiques
if (isset($_GET[“specific”])
&& is_array($_GET[“specific”])
&& isset($_GET[“specific”][“merge_fields”])
&& is_array($_GET[“specific”][“merge_fields”])) {
foreach ($_GET[“specific”][“merge_fields”] as $merge_field => $value) {
$titre = str_ireplace($merge_field, $value, $titre);
$corps = str_ireplace($merge_field, $value, $corps);
}
}
À l’utilisation, passer les champs de fusion spécifiques par $params.
Exemple :
$merge_fields = array(
‘[merge_field_1]’ => urldecode($_POST[‘c1’]),
‘[merge_field_2]’ => urldecode($_POST[‘c1’]),
);
$params = array(
“watermark” => true,
“specific” => array(
“merge_fields” => $merge_fields,
),
);
$result = $this->compute_pdf_output(‘lettretype’, 1, 1, null, $params);