News:

Wondering if this will always be free?  See why free is better.

Main Menu

table & Champs de profil personnalisés

Started by maretto, August 06, 2016, 08:09:26 AM

Previous topic - Next topic

maretto

Bonjour tout le monde,

J'aurais une petite question:

Voila,  j'ai rajouté des champs de profils perso et j'aurais voulu créer une nouvelle page php pour récupérer ces données sur chaque utilisateurs. Seulement voila quand je suis allé sur la base de donnée ça a bien crée une nouvelle table "smf_custom_fields" mais il n'y a pas les données dedans il y a juste l'id des  champs, le nom des champs ...

Est ce que quelqu'un pourrais me dire comment récupérer ces données ?

maximus23

Bonjour,

Voici un exemple de ce que j'utilise pour faire ce genre de chose à toi de l'adapter selon tes besoins.

   require_once('SSI.php');
   $request = $smcFunc['db_query']('', 'SELECT col_name, field_name, bbc, enclose FROM {db_prefix}custom_fields', array() );
   $custom_fields = array();
   while ($row = $smcFunc['db_fetch_assoc']($request))
   {
      $custom_fields[] = array(
         'colname' => $row['col_name'],
         'title' => $row['field_name'],
         'bbc' => $row['bbc'],
         'enclose' => $row['enclose'],
      );
   }
   foreach ($custom_fields as $cf)
   {
      $value = $options[$cf['colname']];
      if ($cf['bbc'])
         $value = parse_bbc($value);

      if (!empty($cf['enclose']))
         $value = strtr($cf['enclose'], array(
            '{SCRIPTURL}' => $scripturl,
            '{IMAGES_URL}' => $settings['images_url'],
            '{DEFAULT_IMAGES_URL}' => $settings['default_images_url'],
            '{INPUT}' => $value,
         ));

      $memberContext[$user_info['id']]['cfs'][] = array(
         'title' => $cf['title'],
         'colname' => $cf['colname'],
         'value' => $value,
      );
   }
   $custom_fields = $memberContext[$user_info['id']]['cfs'];
   foreach ($custom_fields as $field)

      echo $field['title'] . ': ' . $field['value'] . '<br />';

// echo  $custom_fields = $memberContext[$user_info['id']][''];


Tu crées une page de test et tu verras ce qu'il en ressort.

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

maretto


maretto

Serais-tu comment je pourrais faire pour par exemple créer une page memberlist2.php et remplacer tout ce qui est (website, icq, aim ...) par justement ces champs de profils perso ?

maximus23

Bonjour,

Ce serait plus simple de dire quel est la finalité de ce que tu veux avoir réellement comme page :)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

maretto

Ben concretement avoir une liste de membre supplémentaire accessible que à un groupe de personnes. Présenté comme la page "Liste des membres" et sans les champs suivant:
E-mail, Site Web, ICQ, AIM, YIM, Live, Rang, Inscrit le, Messages.

Mais avec mes champs personalisés et leur contenus.

Voila, je vois pas trop comment faire et j'ai un peu du mal à comprendre le code du forum. 



maximus23

Cette page fait partie du forum donc peut-être liée directement dans le menu et le contexte du forum ou se situe sur une page annexe du forum ? Car cela fait une grosse différence :)

Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

maretto

#7
La page que je souhaites faire n'est pas créer pour le moment.
A moins que tu parles de Memberlist est la ça se trouve dans le dossier source du forum

ce que je souhaiterais faire ce serait du genre comme ça

member_id member_name colname1 colname2...
01               maretto            donnée    donnée  ...   

maximus23

Oui cela j'avais bien compris mais cette page va se trouver et de quelle façon ? C'est cela que je désire savoir car si elle est externe à Smf on doit faire appel au SSI si elle est supplémentaire mais par exemple dupliquée de memberlist alors c'est du code simple de Smf :)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

maretto

ben de préférence dupliquée de memberlist pour simplifier les choses et dans la racine du smf.

La seule contrainte c'est la permission de visualiser cette page qu'à un seul groupe d'utilisateurs mais ça je pense que j'aurais pas trop de soucis à le mettre en place. 

maximus23

Pour dupliquer la page j'en vois pas trop l'intérêt ceci ne serait pas plus intéressant ? Cela ajoute un champ pour voir ou ne pas voir le champ additionnel et pour les permissions =>  permissions standard de groupes afférent à la memberlist :)

mod ici : http://custom.simplemachines.org/mods/index.php?mod=1520

Si tu veux vraiment une page séparée alors pas de soucis je regarderai le code :)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

maretto

#11
J'ai une erreur je suis en 2.0.11:

Erreur lors de l'installation du paquet
Au moins une erreur a été rencontrée lors d'un test d'installation de ce paquet. Il est vivement recommandé que vous ne continuiez pas son installation à moins d'être sûr de ce que vous faites et que vous avez fait très récemment une copie de sauvegarde de votre forum et de votre base de données. Cette erreur peut être causée entre autre par un conflit avec le paquet que vous tentez d'installer et un autre paquet que vous avez précédemment installé, une erreur dans le paquet lui-même, un paquet qui requiert un autre paquet que vous n'avez pas encore installé, ou un paquet écrit pour une autre version de SMF.

* 1. Appliquer la modification ./Sources/ManageSettings.php Échec du test

  1. Remplacer ./Sources/ManageSettings.php Réussite du test
  2. Remplacer ./Sources/ManageSettings.php Réussite du test
  3. Remplacer ./Sources/ManageSettings.php Réussite du test
  4. Remplacer ./Sources/ManageSettings.php Échec du test
  5. Remplacer ./Sources/ManageSettings.php Échec du test
  6. Remplacer ./Sources/ManageSettings.php Réussite du test
  7. Remplacer ./Sources/ManageSettings.php Réussite du test
  8. Remplacer ./Sources/ManageSettings.php Échec du test

* 2. Appliquer la modification ./Sources/Memberlist.php Réussite du test
* 3. Appliquer la modification ./Themes/default/Admin.template.php Échec du test

  1. Remplacer ./Themes/default/Admin.template.php Échec du test

* 4. Appliquer la modification ./Themes/default/Memberlist.template.php Échec du test

  1. Remplacer ./Themes/default/Memberlist.template.php Échec du test

* 5. Appliquer la modification ./Themes/default/languages/Modifications.english.php Réussite du test
6. Appliquer la modification ./Themes/default/languages/Modifications.english-utf8.php Passer le fichier
7. Exécuter le code install.php



maximus23

Bonjour,

Tu as déjà installé plusieurs mods ?

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

maretto

#13
oui il y en a 4 :
1. Perfect Smiley Set 1.0 
2. icube smiley set 1.1.0.1   
3. KeyCAPTCHA for SMF 2.11     
4. SMFPacks Shoutbox 1.0.5   

Les 2 premiers je ne penses pas que ça en soit la cause, le 3 ème je ne sais pas ou mon collègue l'a chopé donc je vais lui demandé avant et le dernier ne modifie qu'un fichier en rapport avec le mod que tu m'a envoyé (enfin si j'ai bien tout compris). il s'agit du fichier ./Themes/default/languages/Modifications.english.php .

Les deux mods demandent de rajouter avant la fermeture de balise php quelques lignes ?>

maximus23

Je ne vois pas de mods qui pourraient interférer sur l'installation. Tu as édité des fichiers pour faire des modifications ? Tu respectes bien les indentations du code ?

Sinon il faudra installer cela manuellement. Pour cela tu vas sur le lien du mod et tu vas sur Instructions d'installation manuelle pour SMF là tu mets 2.0.11 dans le sélecteur et tu suis les instructions de modification.

Utilise un bon éditeur tel que Notepad++ pour les éditions.

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

maretto

Ok, je vais faire ça. Dsl j'ai édité ma rep entre temps tu n'as peut être pas eu le temps de la lire avantt de me rep

alexetgus

Salut,

Attention !
KeyCAPTCHA n'est pas compatible avec les écrans tactiles !

Je te recommande d'installer reCAPTCHA V2 de Google. ;)


maretto

#17
ok merci je vais voir ça alexetgus ;)

maximus33 j'essais de faire manuellement mais j'ai un petit soucis sur cette partie :
./Themes/default/Admin.template.php


Find: [Select]
<input type="checkbox" name="display" id="display" ', $context['field']['display'] ? 'checked="checked"' : '', ' class="check" />
</td>
Replace With: [Select]
<input type="checkbox" name="display" id="display" ', $context['field']['display'] ? 'checked="checked"' : '', ' class="check" />
</td>
</tr><tr class="windowbg2">
<td width="50%">
<b>', $txt['custom_edit_mod_mlist'], ':</b>
<div class="smalltext">', $txt['custom_edit_mod_mlist_desc'], '</div>
</td>
<td width="50%">
<input type="checkbox" name="mlist" ', $context['field']['mlist'] ? 'checked="checked"' : '', ' class="check" />



sur mon fichier il y a ça :

        <dd>
<input type="checkbox" name="display" id="display"', $context['field']['display'] ? ' checked="checked"' : '', ' class="input_check" />
</dd>



Est ce que je remplace quand même ? sachant que même pour la class c'est différent ?

maximus23

Bonsoir,

Je ne saurai pas regarder avant demain matin car je suis en déplacement si tu n'es pas certain pour adapter le mod patiente un peu je vais voir cela.

N'oublie pas de TOUJOURS faire un backup avant toutes modifications de tes fichiers.

:)
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

maretto

ok merci cool ;) oui, oui tkt c'est ce que je fais

Advertisement: