From 61c2cd37d678e9dbd7cc94bd234fbef2b4bc6c3b Mon Sep 17 00:00:00 2001 From: nicod_ <nicod@lerebooteux.fr> Date: Wed, 15 Jan 2025 00:51:37 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20Pouvoir=20modifier=20l'objet=20auquel?= =?UTF-8?q?=20un=20block=20est=20li=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blocks_fonctions.php | 19 +++++++++++++++++++ formulaires/editer_block.html | 12 ++++++++++++ lang/block_fr.php | 5 ++--- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/blocks_fonctions.php b/blocks_fonctions.php index a30659d..500b5bd 100644 --- a/blocks_fonctions.php +++ b/blocks_fonctions.php @@ -500,3 +500,22 @@ function bloctypes_trouver_role($blocktype, $role): array { return []; } + +/** + * Génére la liste des objets (du type `article`) utilisable dans une saisie + * + * @return array + */ +function blocks_objets_config() { + include_spip('base/objets'); + $data = []; + if($objets = array_filter(lire_config('blocks/objets'))) { + foreach ($objets as $objet) { + $objet_type = objet_type($objet); + $infos = objet_info($objet_type,'texte_objet'); + $data[$objet_type] = _T($infos); + } + asort($data); + } + return $data; +} diff --git a/formulaires/editer_block.html b/formulaires/editer_block.html index 72b7166..933eeff 100644 --- a/formulaires/editer_block.html +++ b/formulaires/editer_block.html @@ -13,6 +13,14 @@ <button type="submit" class="visually-hidden" aria-hidden="true" name="ajouter" value="1">[(#ENV{id_block}|?{<:block:bouton_enregistrer:/>,<:block:bouton_ajouter:/>})]</button> ] + [(#ENV{include}|non) + <div class="editer-groupe"> + <fieldset> + <legend><:block:info_objet_lie:/></legend> + [(#SAISIE{selection, objet, label=<:block:info_type_objet_lie:/>, data=#REM|blocks_objets_config})] + [(#SAISIE{input, id_objet, label=<:block:info_id_objet_lie:/> })] + </fieldset> + ] [(#ENV{include}|oui) <div class="objetblock__header [(#ENV{id_block}|non)collapsed]"> [(#ENV{id_block}|non) @@ -45,6 +53,10 @@ </div> ] + [(#ENV{include}|non) + </div> + ] + <div [(#ENV{id_block}|non) id="contentblocknew" role="region" aria-labelledby="titleblocknew-#OBJET-#ID_OBJET"] [(#ENV{deplie_block}|non) hidden ]> <div class="editer-groupe"> #GENERER_SAISIES{#ENV{_saisies}} diff --git a/lang/block_fr.php b/lang/block_fr.php index f226321..26c0490 100644 --- a/lang/block_fr.php +++ b/lang/block_fr.php @@ -35,9 +35,8 @@ return [ 'info_blocks_auteur' => 'Les blocs de cet auteur', 'info_nb_blocks' => '@nb@ blocs', 'info_objet_lie' => 'Objet lié', - - // O - 'objet_lie' => 'Objet lié', + 'info_type_objet_lie' => 'Type', + 'info_id_objet_lie' => 'N°', // R 'retirer_lien_block' => 'Retirer ce bloc', -- GitLab