Catégories:
Bonjour à tous,
j’ai un problème pour faire un form_alter sur le formulaire d’inscription.
J’utilise le module «profile» de Drupal pour gérer les champs des utilisateurs.
Avec profile j’ai défini une catégorie «Informations complémentaires» que je souhaiterai modifier avec un form_alter.
Problème ça ne passe pas à cause des accents :(
J’ai essayé ceci :
<?php
unset($form['Informations%20compl%c3%a9mentaires']);
unset($form['Informations compl%c3%a9mentaires']);
unset($form[urldecode('Informations complémentaires')]);
unset($form['Informations complémentaires']);
$form['Informations complémentaires'] = null;
$form['Informations%20compl%c3%a9mentaires'] = null;
$form['Informations compl%c3%a9mentaires'] = null;
$form[urldecode('Informations complémentaires')] = null;
?>ça ne marche pas :(
Pourtant j’ai une autre catégorie «newsletter» et la :
<?php
unset($form['Newsletter']);
?>ça marche ! Donc le problème vient bien de l’accent.
Si je fais :
<?php
watchdog("form", "<pre>".print_r($form, 1)."</pre>");
?>J’ai bien :
<?php
Message
Array
(
[#uid] =>
[Informations complémentaires] => Array
(
[#type] => fieldset
[#title] => Informations complémentaires
[#weight] => 1
...
?>Est-ce que quelqu’un à une solution à proposer ?
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

As-tu essayé avec les caractères en html à la place ?
pour un espace.épour un accent aigüe.Si ça marche toujours pas faudra voir avec une fonction php qui traite les chaines de caractères avec accents.
Mes tutos Drupal : http://www.davidpetit.com/tuto/drupal
DavP
105
Merci de ta réponse.
ça ne marche pas non plus avec les caractères HTML.
Quand tu parle d’une fonction PHP qui ‘traite’ les chaines de caractères c’est à dire ?
DarkVodKa
42
Ce type de fonction :
http://fr3.php.net/utf8-decode et la version encode aussi.
http://www.php.net/manual/fr/function.htmlentities.php
Tu peux encoder en utf-8 pour être sûr d’avoir de l’utf-8 par exemple.
Ceci dit, il se peut que ce qui coince dans ton script soit lié au nom de tableau utilisé (array).
Fais un print-r sur neweletter (le form pour lequel ça marche) afin de voir comment il est constitué et si c’est la même chose que informations complémentaires.
Mes tutos Drupal : http://www.davidpetit.com/tuto/drupal
DavP
105
En faite il suffisait que je mette mon éditeur de texte en utf-8 …
DarkVodKa
42
Egalement bien penser à mettre utf8 SANS BOM, la version utf8 de base proposant souvent un petit caractère invisible qui vient de glisser en haut du texte pour indiquer son encodage (je crois). Ce caractère peut avoir moults effets indésirables et n’apparait pas en utf8 sans bom.
http://formation.ideia.fr/formation/drupal-la-carte | http://twitter.com/nyl_auster
nyl auster
838