openMairie.org | Démonstration | Documentation | Forum

[intégrée] Prop0028 - Champs de fusion spécifiques dans les éditions

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);

Intégration dans la branche de développement : https://adullact.net/scm/viewvc.php/openmairie?view=revision&revision=4074