Problème formulaire d'édition en cas de dossiers différents

Le pipeline inserer_modeles_lister_formulaires_modeles permet en théorie d'ajouter des modèles se trouvant dans d'autres dossiers que le dossier standard des modèles (voir ticket #15 (closed) pour un exemple de cas de figure).

Ceux-ci sont bien listés dans le formulaire, cependant quand on en choisit et qu'on passe en mode édition, il n'y a aucune saisie.

En effet ça va toujours chercher le yaml dans le dossier standard, ça tient pas compte des autres chemins éventuels : https://git.spip.net/spip-contrib-extensions/inserer_modeles/src/branch/master/inc/inserer_modeles.php#L68

if ($chemin = find_in_path($formulaire, 'modeles/')) {

À priori ça pourrait être résolu comme ça :

  • Garder le chemin de chaque modèle dans inserer_modeles_lister_formulaires_modeles(), en plus de nom + icone_barre.
    $liste_formulaires_modeles[$formulaire] = array(
        'nom'         => `…`,
        'icone_barre' => `…`,
        'chemin'      => $chemin,
    );
  • Et utiliser cette liste dans charger_infos_formulaire_modele()
    $liste = inserer_modeles_lister_formulaires_modeles();
    $chemin = $liste[$formulaire]['chemin'] ?? '';
    if ($chemin = find_in_path($chemin)) {