https://gna.org/bugs/?10550
"L'ajout de champs personnalisés semble poser des erreurs XML sur les
pages d'ajout et de modification des adhérents."
Dans templates/default/display_dynamic_fields.tpl
1/ Pour l'erreur XML, genre 'duplicate value' (j'ai pas noté sur le moment)
Les champs pour lesquels on spécifie une taille ont deux fois l'attribut
html "size=", une fois la taille perso et une fois size="50"
Aux lignes 41-43, on avait:
{if $field.field_width > 0}size="{$field.field_width}"{/if}
{if $field.field_size > 0}maxlength="{$field.field_size}"{/if}
value="{$data.dyn[$field.field_id][$smarty.section.fieldLoop.index]|escape}"
size="50" {$disabled.dyn[$field.field_id]}/>
qui devient:
{if $field.field_width > 0}size="{$field.field_width}"
{else}size="50"
{/if}
{if $field.field_size > 0}maxlength="{$field.field_size}"{/if}
value="{$data.dyn[$field.field_id][$smarty.section.fieldLoop.index]|escape}"
{$disabled.dyn[$field.field_id]}/>
Donc, si pas de taille précisée, il met 50
+ suppression de size="50" plus loin
Je n'y connais rien en tpl donc à vérifier sur la syntaxe, mais ça marche.
2/ Pour l'erreur de type 'manque </p>'
Dans mon cas, j'ai deux champs input de type text. La fermeture du
paragraphe est absente pour le premier.
vers les lignes 56-62
On a:
{if $field.field_pos != 1 || $field.field_repeat != 1}
{if $is_form eq false}
</tr>
{else}
</p>
{/if}
{/if}
Il n'y a pas de {else}
J'ai modifié en:
{if $field.field_pos != 1 || $field.field_repeat != 1}
{if $is_form eq false}
</tr>
{else}
</p>
{/if}
{else}
</p>
{/if}
Et ça marche pour mon essai (deux champs input text), mais je n'ai pas
testé si c'est généralisable. Faut-il un nouveau {if $is_form eq false}?
Je joins ma version du fichier avec le rapport de bug
Aurélie