cyril41200 Polichinelle
Inscrit le: 21 Avr 2007 Messages: 2 Localisation: Région Centre
|
Posté le: Sam 26 Mai 2007 à 15:42 Sujet du message: Des sauts de lignes dans les champs (en textarea) du profil |
|
|
Bonjour,
J'ai enrichi mon profil de plusieurs champs dont la plupart sont en text area. Par exemple, j'ai un champs loisirs : je souhaite que l'on puisse mettre un loisirs par ligne comme suit :
sport
musique
informatique
Et que cela apparaisse sous cette forme quand on consulte le profil public. Aujourd'hui, on saisit sous forme de liste et on a le résultat suivant : sport musique informatique.
Que faut-il changer ? Où ? Je bidouille mais rien. On me parle de fonction nl2br mais je ne sais pas où le placer, ni cela marche. SI quelqu'un peut m'aider ?
Merci beaucoup d'avance
Cyril |
|
Alcazarfr Moddeurs

Inscrit le: 04 Nov 2004 Messages: 2408 Localisation: Dans le port d'Amsterdam, [...]
|
Posté le: Lun 28 Mai 2007 à 16:03 Sujet du message: |
|
|
Salut,
il faut que tu t'inspires de la signature, effectivement. Le html étant désactivé, c'et bien du côté du code qu'il faut déclancher les sauts de lignes.
Un coup d'oeil dans la Base de données, table phpBB_users et champs user_sig nous montre que le texte est formaté dans la base de données, donc qu'il est formaté avant l'envoie des données, cad lorsque l'on met à jour ses informations (il aurait pu l'être à l'affichage de la signature dans les sujets, qui sait...)
On ouvre donc includes/usercp_register.php, puisque ce fichier gère la mise à jour du profil
J'ai fait une recherche avec comme mot clé "signature". Le troisième résultat est:
| Code: | | $signature = (isset($signature)) ? str_replace('<br />', "\n", $signature) : ''; |
Interessant: cela remplace la balise html <br />, que l'on obtient dans un textarea après avoir appuyé sur entrer, par un saut de ligne
Plus loin, on a la ligne
| Code: | $signature = htmlspecialchars(stripslashes($signature));
|
Aucun rapport avec le saut de ligne, mais la fonction htmlspecialchars() est necessaire, par sécurité, contre le html dans la signature
Plus loin encore:
| Code: | if ( $signature != '' )
{
if ( strlen($signature) > $board_config['max_sig_chars'] )
{
$error = TRUE;
$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Signature_too_long'];
}
if ( !isset($signature_bbcode_uid) || $signature_bbcode_uid == '' )
{
$signature_bbcode_uid = ( $allowbbcode ) ? make_bbcode_uid() : '';
}
$signature = prepare_message($signature, $allowhtml, $allowbbcode, $allowsmilies, $signature_bbcode_uid);
} |
Lorsqu'il y a une signature, cela verifie la longueur, puis applique à la signature la fonction prepare_message(), qui comme son nom l'indique, prépare le message à un affichage correct en fonction du html, des bbcodes, etc.
Voila, à mon avis, cela vient de la première ligne donnée.
Je te conseille de faire la même démarche dans le fichier viewtopic.php, avec le mot clée "user_sig". Tu verras que l'affichage de la signature necessite plusieurs fonctions.
Bonne chance _________________ Je n'utilise en aucun cas MSN Messenger & je ne participe pas au projet de site
// En vacances |
|