diff --git a/formulaires/editer_block.php b/formulaires/editer_block.php index a8af871f30b4fd6d16002945629f9a80f4530626..e97c65c276bdbd007d10e23b1a42d51a5855766f 100644 --- a/formulaires/editer_block.php +++ b/formulaires/editer_block.php @@ -78,6 +78,18 @@ function formulaires_editer_block_charger_dist($id_block = 'new', $objet = null, ], ]; } + + // ajout du champ "ancre nommée" + $saisies_blocktype[] = [ + 'saisie' => 'input', + 'options' => [ + 'nom' => 'ancre', + 'label' => _T('block:champ_ancre_label'), + 'explication' => _T('block:champ_ancre_explication'), + ], + ]; + + // passer les saisies au formulaire $valeurs['_saisies'] = saisies_inserer( $saisies_blocktype, [ @@ -93,6 +105,7 @@ function formulaires_editer_block_charger_dist($id_block = 'new', $objet = null, // charger les valeurs déjà saisies $valeurs_saisies = blocks_deserialize($valeurs['valeurs'] ?? null); + $valeurs_saisies['ancre'] = $valeurs['ancre'] ?? null; include_spip('inc/saisies_lister'); $saisies_par_nom = saisies_lister_par_nom($saisies_blocktype); foreach ($saisies_par_nom as $nom => $saisie) { @@ -235,10 +248,10 @@ function formulaires_editer_block_traiter_dist($id_block = 'new', $objet = null, } } - if($retour){ + if ($retour && (_request('ajouter') || _request('annuler'))) { $retours['redirect'] = $retour; } - $retours['redirect'] = str_replace('&', '&', $retours['redirect']); + $retours['redirect'] = str_replace('&', '&', $retours['redirect'] ?? ''); return $retours; }