Pseudo a la place du nom

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Pseudo a la place du nom

    Bonjour,

    Après la création d'un article, est afficher "Ecrit par: "nomdelauteur".
    Je souhaiterai que le pseudo apparaisse à la place du nom de l'auteur.
    Quelqu'un aurait une idée?

    A+
    Dernière édition par goupijoom à 03/05/2014, 20h22

  • #2
    Re : Pseudo a la place du nom

    Bonjour goupijoom,

    De quel type d'affichage s'agit-il ? (administration gestion des articles, site blog, site liste, site article, etc.)

    Amicalement,
    Rajoz

    Commentaire


    • #3
      Re : Pseudo a la place du nom

      Bonjour Rajoz,
      Je souhaite que l'affichage se fasse sur un site blog en frontend.
      Je n'ai pas trouvé dans "Paramètres" le moyen de changer le nom en speudo. Par contre je peux écrire le speudo de l'auteur dans la case "Auteur". Et si il n'y a pas d'autre moyen de procéder j'utiliserai la case "Auteur".
      Merci A+

      Commentaire


      • #4
        Re : Pseudo a la place du nom

        Bonsoir goupijoom,

        L'affichage en blog permet effectivement d'avoir le nom utilisateur ou le nom de remplacement mais l'identifiant n'est pas prévu en standard.

        Comme on peut (presque) tout faire avec Joomla! voilà les modifications de code à faire :

        1) Comme pour toute modification de fichiers, faire d'abord une sauvegarde. On ne sait jamais !

        2) Ajouter le username (identifiant) à la requête qui lit les articles du blog

        C'est la modification la plus "embêtante" car elle se fait sur un fichier du core de Joomla! Donc elle pourra être écrasé à la prochaine mise à jour. Dans le fichier components/com_content/models/articles.php ajouter la ligne suivante (en rouge) aux environs de la ligne 229 :
        Code:
        $query->select("CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name END AS author")
            ->select("ua.email AS author_email")
            [COLOR=#ff0000]->select("ua.username AS username")[/COLOR]
        3) Remplacer le nom utilisateur par l'identifiant dans le layout d'affichage du blog

        a. Copier le fichier pour préparer la surcharge (override) du layout
        de
        layouts/joomla/content/info_block/author.php
        vers
        templates/montemplate/html/layouts/joomla/content/info_block/author.php

        b. Modifier le fichier copié, ligne 14, en remplaçant author par username
        Code:
        avant :
        <?php $author = $displayData['item']->author; ?>
        après :
        <?php $author = $displayData['item']->username; ?>
        Si tu es intéressé je pourrai poster demain matin la même modif pour l'affichage d'un article (par exemple quand on clique sur Lire la suite).

        Amicalement,
        Rajoz

        EDIT : le (presque) au début de mon post, c'est parce que je n'ai pas encore réussi à faire faire le café à Joomla!
        Dernière édition par Rajoz à 03/05/2014, 18h57

        Commentaire


        • #5
          Re : Pseudo a la place du nom

          Alors là! tu m'en bouches un coin!
          Merci Rajoz et au plaisir de te retrouver sur cet excellent forum...
          Pour l'affichage d'un article je suis bien entendu également intéressé.

          Commentaire


          • #6
            Re : Pseudo a la place du nom

            Bonjour goupijoom,

            Voici la modification très similaire à la précédente pour avoir l'identifiant au lieu du nom utilisateur sur l'affichage d'un article.

            1) Comme pour toute modification de fichiers, faire d'abord une sauvegarde. On n'est jamais assez prudent !

            2) Ajouter le username (identifiant) à la requête qui lit l'article

            Comme précédemment cette modification se fait sur un fichier du core de Joomla! Donc elle pourra être écrasé à la prochaine mise à jour.
            Dans le fichier components/com_content/models/article.php ajouter la ligne suivante (en rouge) aux environs de la ligne 110 :
            Code:
            $query->select('u.name AS author')
                [COLOR=#ff0000]->select('u.username AS username')[/COLOR]
                ->join('LEFT', '#__users AS u on u.id = a.created_by');
            3) Remplacer le nom utilisateur par l'identifiant dans le layout d'affichage du blog

            a. Copier le fichier pour préparer la surcharge (override) de l'affichage de l'article
            de
            components/com_content/views/article/tmpl/default.php
            vers
            templates/montemplate/html/com_content/article/default.php
            b. Modifier le fichier copié en remplaçant author par username sur les lignes 96, 98, 195 et 197 :
            Code:
            <?php if ($params->get('show_author') && !empty($this->item->[COLOR=#ff0000]username[/COLOR] )) : ?>
             
            <?php $author = $this->item->created_by_alias ? $this->item->created_by_alias : $this->item->[COLOR=#ff0000]username[/COLOR]; ?>
             
            <?php if ($params->get('show_author') && !empty($this->item->[COLOR=#ff0000]username[/COLOR] )) : ?>
             
            <?php $author = $this->item->created_by_alias ? $this->item->created_by_alias : $this->item->[COLOR=#ff0000]username[/COLOR]; ?>
            Amicalement,
            Rajoz

            Commentaire


            • #7
              Re : Pseudo a la place du nom

              Bonjour Rajoz,
              j'ai testé. Ca fonctionne très bien!
              Je suis preneur également dans "Formulaire de contact automatique" et dans "Liste des articles d'une catégorie".
              Car dans le site que je développe je préfère que les auteurs soient complétement anonymes.
              Encore bravo et merci.

              Commentaire


              • #8
                Re : Pseudo a la place du nom

                Bonjour goupijoom,

                Voilà pour la liste des articles d'une catégorie.


                1) Comme pour toute modification de fichiers, faire d'abord une sauvegarde.

                2) Ajouter le username (identifiant) à la requête qui lit les articles de la liste
                C'est le même fichier qui lit les articles pour le blog et pour la liste, donc cette modification est déjà faite.

                3) Remplacer le nom utilisateur par l'identifiant dans l'affichage de la liste

                a. Copier le fichier pour préparer la surcharge (override) de l'affichage de la liste
                de
                components/com_content/views/category/tmpl/default_articles.php
                vers
                templates/montemplate/html/com_content/category/default_articles.php

                b. Modifier le fichier copié, ligne 162, en remplaçant author par username
                Code:
                avant :
                <?php $author = $article->author ?>
                après :
                <?php $author = $article->[COLOR=#ff0000]username[/COLOR] ?>
                Pour être sûr d'avoir compris ce que signifie "Formulaire de contact automatique" : s'agit-il du formulaire de contact sur lequel on va quand on clique sur le nom de l'auteur de l'article ?
                Note : Pour que ce lien sur le nom de l'auteur existe, il faut avoir créé une fiche de contact en ayant renseigné le champ "Lier à l'utilisateur".

                Amicalement,
                Rajoz

                Commentaire


                • #9
                  Re : Pseudo a la place du nom

                  Envoyé par Rajoz Voir le message
                  Pour être sûr d'avoir compris ce que signifie "Formulaire de contact automatique" : s'agit-il du formulaire de contact sur lequel on va quand on clique sur le nom de l'auteur de l'article ?
                  Oui c'est bien ça.
                  A+

                  Commentaire


                  • #10
                    Re : Pseudo a la place du nom

                    Bonjour goupijoom,

                    Voilà pour le formulaire de contact.

                    1) Comme pour toute modification de fichiers, faire d'abord une sauvegarde.

                    2) Ajouter le username (identifiant) à la requête qui lit le contact
                    Comme précédemment cette modification se fait sur un fichier du core de Joomla! Donc elle pourra être écrasée à la prochaine mise à jour.
                    Dans le fichier components/com_contact/models/contact.php ajouter les trois lignes suivantes (en rouge) aux environs de la ligne 147 :
                    Code:
                    // Join on category table.
                        ->select('c.title AS category_title, c.alias AS category_alias, c.access AS category_access')
                        ->join('LEFT', '#__categories AS c on c.id = a.catid')
                     
                    [COLOR=#ff0000]// Join on user table
                        ->select('u.username AS username')
                        ->join('LEFT', '#__users AS u on u.id = a.user_id')[/COLOR]
                    3) Remplacer le nom utilisateur par l'identifiant dans l'affichage de la fiche de contact

                    a. Copier le fichier pour préparer la surcharge (override) de l'affichage du contact
                    de
                    components/com_contact/views/contact/tmpl/default.php
                    vers
                    templates/montemplate/html/com_contact/contact/default.php

                    b. Dans le fichier copié, remplacer la ligne 28 par les deux lignes suivantes (en rouge) :
                    Code:
                    avant (ligne à remplacer) :
                    <span class="contact-name"><?php echo $this->contact->name; ?></span>
                     
                    après (lignes de remplacement) :
                    [COLOR=#ff0000]<?php $contactname = $this->contact->username ? $this->contact->username : $this->contact->name; ?>
                    <span class="contact-name"><?php echo $contactname; ?></span>[/COLOR]
                    Amicalement,
                    Rajoz

                    Commentaire


                    • #11
                      Re : Pseudo a la place du nom

                      en 3a il faut copier "default.php" dans "contact" mais il n'y a pas le dossier "com_contact" dans "html".
                      Dans "html" il y a 1 fichier: "modules.php" et 7 dossiers: com_content,layout, mod_articles_archive... mais pas "com_contact".

                      Commentaire


                      • #12
                        Re : Pseudo a la place du nom

                        Envoyé par goupijoom Voir le message
                        en 3a il faut copier "default.php" dans "contact" mais il n'y a pas le dossier "com_contact" dans "html".
                        Dans "html" il y a 1 fichier: "modules.php" et 7 dossiers: com_content,layout, mod_articles_archive... mais pas "com_contact".
                        Oups, j'ai pris un raccourci dans mes explications.

                        Pour copier default.php dans templates/montemplate/html/com_contact/html/com_contact/contact/ il faut effectivement, quand ils n'existent pas, d'abord créer le répertoire com_contact dans templates/montemplate/html/ puis créer le répertoire contact dans templates/montemplate/html/com_contact/

                        Le répertoire html du template permet d'y copier des fichiers (en particulier d'affichage) de Joomla! que l'on souhaite pouvoir modifier sans intervenir sur les fichiers du core de Joomla!, c'est ce que l'on appelle la surcharge (override). Joomla! utilise le fichier modifié dans le template en priorité sur celui du core. On utilise cette méthode pour les affichages des composants ou des modules.
                        Certains templates sont fournis avec des overrides déjà définis (ex: Beez3) d'autres n'en ont aucun (ex: Protostar)

                        Une petite explication en anglais sur le principe de l'override : http://docs.joomla.org/How_to_overri...e_Joomla!_core

                        Amicalement,
                        Rajoz

                        Commentaire


                        • #13
                          Re : Pseudo a la place du nom

                          C'est génial !!!
                          Merci beaucoup Rajoz.

                          Commentaire

                          Annonce

                          Réduire
                          Aucune annonce pour le moment.

                          Partenaire de l'association

                          Réduire

                          Hébergeur Web PlanetHoster
                          Travaille ...
                          X