[Résolu] Widget difficulté pour tutoriels web, comment faire? (Créer un compte)

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 22)
  • Auteur
    Messages
  • #500391
    Creation Site France
    Participant
    Chevalier WordPress
    325 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 3.2.1
    – Version de PHP/MySQL : 5
    – Thème utilisé : Lightword
    – Extensions en place : plusieurs
    – Nom de l’hebergeur : 1and1
    – Adresse du site : http://blog.creation-site-france.org/

    Problème(s) rencontré(s) : J’aimerai mettre en place un widget dans la sidebar pour signaler aux internautes la difficulté de mes tutoriels car pour le moment j’en fait juste allusion dans le contenu, le MUST serait un widget simple mais où l’on peut signaler pour chaque tutoriel web la difficulté, le niveau de compétences ainsi que 2/3 infos complémentaires, comme nom de l’auteur, votes…

    Existe t-il un plugin/widget de ce genre là?

    Merci de vos retours d’expérience, cordialement, julien.

    #795118
    Chrisss
    Participant
    Chevalier WordPress
    237 contributions

    Avec des champs personnalisés et des modifs dans le thème c’est faisable d’intégrer un champ difficulté dans chaque post (dans la sidebar que se passe t-il s’il y a plusieurs articles affichés en même temps ?)

    #795119
    Creation Site France
    Participant
    Chevalier WordPress
    325 contributions

    J’ai aucune idée de comment le faire, si quelqu’un peut me préparer gentiment un petit script ou quelque chose dans le genre, un lien vers un tuto, j’ai pas trouvé, j’ai passé une ou deux heures hier à chercher partout dans les extensions, sur le web… rien de rien :-(

    #795120
    Gueblo
    Participant
    Maître WordPress
    1058 contributions
    #795121
    Creation Site France
    Participant
    Chevalier WordPress
    325 contributions

    OK, merci pour l’astuce, je vais voir ça de plus près du coup, merci Gueblo! et Chrisss

    #795117
    Creation Site France
    Participant
    Chevalier WordPress
    325 contributions

    Très bien, je viens d’installer et de comprendre grossièrement le fonctionnement du plugin Magic Fields pour WordPress, maintenant, j’aimerai pouvoir sélectionner une petite image symbolisant la difficulté du tutoriel, lors de la rédaction du tuto avec les champs personnalisés, par exemple s’il est de niveau Facile, il y aura alors une petite image (icône) représentant ce niveau et ainsi de suite… je ne sais pas comment fairee ça, sur le Wiki je trouves pas :-(

    #795122
    Guy
    Participant
    Maître WordPress
    14817 contributions

    je ne sais pas très bien comment tu as fait, mais plusieurs solutions existent.

    Tu dois pouvoir placer un hook sur le contenu et/ou le titre de façon à insérer une image en fonction de ton champs perso, c’est une méthode générale qui te permet placer le niveau de difficulté partout.

    Une autre solution est de modifier le template de la page où tu veux le voir apparaitre en affichant l’image (toujours en testant ton champs perso).

    Regarde le source des plugins qui ajoutent des boutons sociaux, des ratings etc… pour comprendre comment cela fonctionne.

    #795123
    Creation Site France
    Participant
    Chevalier WordPress
    325 contributions

    Salut Guy,

    En fait, j’ai trouvé une autre solution en pur CSS, grâce à un champ personnalisé couleur que j’ai mis en propriété background-color, j’ai fait un tuto sur le sujet qu’est ce que tu en penses? http://blog.creation-site-france.org/04/10/2011/gestionnaire-contenu/tutoriels-conseils-wordpress/plugins-exensions-wordpress/champs-persos-magic-fields-wordpress/

    Merci de tout coeur pour ton aide 😉

    #795124
    Gueblo
    Participant
    Maître WordPress
    1058 contributions

    Ton tuto mériterait d’être plus complet 🙂

    Cela dit, tu aurais pu faire autrement pour le niveau de difficulté
    Exemple : tu créés une liste déroulante avec les niveaux « débutant, confirmé, pro » et dans ton template single.php par exemple tu crées une div dont la classe est la valeur choisie dans la liste
    Ex :

    Et dans ton CSS tu règles la couleur ou l’image de fond de la div
    Tu pourrais par exemple mettre une étoile verte pour débutant, une étoile orange pour « confirmé » etc…

    #795125
    Guy
    Participant
    Maître WordPress
    14817 contributions

    C’est la solution de la modification du template en fonction de la valeur du champs, cela me semble très bien et comme le fait remarquer gueblo il y a presque autant de façon de faire qu’il y a de développeurs, il faut juste aller au plus simple pour l’utilisateur et ne pas compliquer inutilement le code. L’autre solution avec un hook permet de le mettre sous forme de plugin par exemple et de ne pas être dépendant du thème mais c’est à chacun de voir ce qui est le plus adapté.

    #795126
    Creation Site France
    Participant
    Chevalier WordPress
    325 contributions

    Je trouve plus simple comme j’ai fait, vu que c’est que du CSS, la devise c’est pas : faire léger?

    Sinon, pour compléter mon tuto, qu’est ce qui serait bien d’ajouter?? je suis preneurs de vos avis!!! car j’aimerai vraiment qu’on consulte et qu’on aime ce que je dis et ce que je fais, vous comprenez, veux pas passer pour un imbécillllllllllllle snif

    #795127
    Guy
    Participant
    Maître WordPress
    14817 contributions

    ben… quelque soit la méthode employée, pour faire du css comme tu dis, il faudra bien se servir des fichiers de styles à moins de le coder directement dans le HTML ou PHP, ce que tu fais.

    Dans ton exemple, tu as modifié ton template pour définir un div, où est l’appel au fichier de style (styles.css)? Tu remplis tout, que ce soit la largeur, la couleur et de manière générale des informations qui n’ont rien à faire à ce niveau. Si tu veux modifier quelque chose dans l’apparence, il te faudra modifier le fichier php et non le fichier de style. Il aurait fallu définir des classes pour être conforme aux standards et séparer l’affichage et le traitement des données.

    if($difficulte != null) {
    echo « <div>Difficulté : <strong>« .get(‘difficulté’). »</strong></div>« ;
    }
    else echo « (Aucun niveau de difficulté spécifié) »;
    ?>

    Seconde observation: Pourquoi définir à la fois un niveau de difficulté et une couleur de ce même niveau dans tes champs persos, tu surcharges inutilement la base avec une information redondante. Seul le niveau de difficulté était nécessaire, la couleur sera obtenue à partir du fichier de style et déduite du niveau de difficulté.

    Edit, j’ai oublié de préciser que ce je viens de développer, c’est la solution préconisée par gueblo qui à mon avis est la bonne

    #795128
    Gueblo
    Participant
    Maître WordPress
    1058 contributions
    Je trouve plus simple comme j’ai fait, vu que c’est que du CSS, la devise c’est pas : faire léger?

    c’est inexact, ce n’est pas réellement du css dans ton cas.
    Tu injectes le css de la couleur de fond dans ton code html, ce qui donne :

    <div style='width: 140px;padding: 2px;background-color:#00fbff'>

    non seulement ce n’est pas plus léger, mais ce n’est pas conforme aux standards actuels qui veulent qu’on sépare css et html
    par ailleurs, d’un point de vue ergonomique, ma solution semble plus juste car j’imagine que tu auras toujours le choix entre trois ou quatre niveaux de difficulté. Tu vas donc utiliser tout le temps les trois ou quatre mêmes couleurs. Pourquoi alors utiliser un colorpicker qui te proposent des milliers de couleurs possibles ?? C’est pas cohérent ni ergonomique.

    Je viens de voir dans ton tuto que tu avais effectivement une liste déroulante avec les niveaux de difficulté. de fait, le colorpicker devient réellement incohérent… un item de la liste = une couleur… donc utilise ma solution.

    Sinon, pour compléter mon tuto, qu’est ce qui serait bien d’ajouter??

    dans la création du write panel tu montres les réglages que tu as fait sans expliquer les réglages (single/multiple, post/page etc…)
    idem pour les champs : tu n’expliques pas le réglage le plus important à mon sens (can be duplicated)

    tu n’expliques pas comment récupérer la valeur des champs personnalisés de magic fields. Par exemple, si c’est une image on utilise quelle fonction ? Si c’est un champ duplicable comment récupère-t-on la valeur des différents champs etc … ?
    je ne vois pas de lien vers la doc magic fields

    et donc plutôt que ton code :

    <?php
    $difficulte = get('difficulté');
    if($difficulte != null) {
    echo "<div>Difficulté : <strong>« .get(‘difficulté’). »</strong></div>« ;
    }
    else echo « (Aucun niveau de difficulté spécifié) »;
    ?>

    j’utiliserais


    <div class=" »>Difficulté : <strong></strong></div>
    Aucun niveau de difficulté spécifié

    #795129
    Guy
    Participant
    Maître WordPress
    14817 contributions

    rien à rajouter, c’est exactement cela

    Je crois qu’il va falloir refaire le tuto, aller au boulot 🙂

    #795130
    Gueblo
    Participant
    Maître WordPress
    1058 contributions

    on est sur la même longueur d’onde Guy 🙂

15 sujets de 1 à 15 (sur un total de 22)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.