Profil utilisateur et contenu d'un composant perso

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

  • [RÉGLÉ] Profil utilisateur et contenu d'un composant perso

    Bonjour,

    Lorsqu'un visiteur se rend sur index.php?option=com_users&view=profile il a accès à son compte (et les profils utilisateurs activés en plus). J'ai un petit composant qui permet de faire des achats et je voudrais que sur la page de profil index.php?option=com_users&view=profile il y ai une liste des achats effectués avec mon composant. Un peu comme l'ancien VM avec le bouton pour modifier le compte puis en dessous la liste des commandes.

    Le soucis étant que je ne sais pas trop comment faire (au mieux) :
    - Faut il tourner avec des plugins qui vont ajouter du contenu à la page profil (moins pratique pour faire un bel interface puisque les contenu sont les un en dessous des autres)
    - Faut il faire une redirection quand l'utilisateur va sur index.php?option=com_users&view=profile pour l'emmener sur une vue de mon composant qui ferait de même. Mais la je ne sais pas comment faire la redirection et je risque de devoir réinventer la roue pour toute la partie utilisateur...

    Merci de vos conseils et bonne année !
    www.weblogin.fr - Création, Référencement et Design de sites Internet.

  • #2
    Re : Profil utilisateur et contenu d'un composant perso

    Salut

    A ta place (en tout cas c'est ce que j'ai fais), je suis parti sur Community Builder qui, via son système de plugin, permet l'insertion d'un onglet dans la page de profil de l'utilisateur. Si tu n'es pas habitué à CB et que tu ne visualise pas de quoi je parle, voici ce que je fais pour mon composant : http://avonture.be/allevents/fr/plugin-cb

    La partie supérieure de l'écran est la page de profil gérée par CB, la partie inférieure étant les tabs que le plugin CB créé.

    Maintenant, faut-il partir obligatoirement sur CB et délaisser com_users, je ne saurais te répondre. L'avantage CB c'est qu'il faut ça depuis des années (et donc ton code serait à priori compatible J1.5) et que quantité d'extensions comme la mienne, comme la tienne, travaillent de cette manière.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      Re : Profil utilisateur et contenu d'un composant perso

      Salut et merci de ta réponse très rapide.
      Je voudrais ne pas passer par CB qui est une énorme extension et qui ne me servira qu'à 0,01% donc je souhaiterais passer par un système natif et sur mesure.

      Je souhaiterais cependant pouvoir faire un peu comme tu décris... Je vais regarder comment ils font chez CB pour faire ça, voir quelle option est la bonne à prendre et comment faire.
      www.weblogin.fr - Création, Référencement et Design de sites Internet.

      Commentaire


      • #4
        Re : Profil utilisateur et contenu d'un composant perso

        Si ton extension est publique (d'autres pourraient l'installer), prends aussi en compte le fait qu'un grand nombre de sites tournent sur CB et qu'un tel plugin serait pour eux une vraie valeur ajoutée.

        Bonne prog'
        Christophe (cavo789)
        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

        Commentaire


        • #5
          Re : Profil utilisateur et contenu d'un composant perso

          Tu n'as donc jamais eu à développer ce type de choses sans passer par une extension tierce ?
          www.weblogin.fr - Création, Référencement et Design de sites Internet.

          Commentaire


          • #6
            Re : Profil utilisateur et contenu d'un composant perso

            Bonjour,

            Le souci que tu vas avoir c'est que la plupart des extensions crées tiennent compte des composants majoritairement utilisés par les utilisateurs, donc elles vont mettre en place un redirection vers CB ou Jomsocial lorsqu'elles veulent rediriger l'utilisateur vers la page de login.
            Généralement on met ajoute paramètre au composant pour savoir vers quel composant on redirige pour le login.
            Comme le dit Cavo789 ça dépend si ton composant est perso ou publique.

            Tu peux utiliser une redirection avec un plugin système (nouvelle fonctionnalité sous J2.5) pour renvoyer vers la page de login de ton composant: Documentation

            Ensuite tu copies le code du composant com_user pour l'adapter à ton besoin.

            Tu peux ne copier que le code qui concerne l'utilisateur logué, au pire c'est une vue ou deux. Et dans ton plugin système tu rediriges vers ton composant uniquement lorsque l'utilisateur est connecté.

            Damien
            www.Crac-Design.com

            Commentaire


            • #7
              Re : Profil utilisateur et contenu d'un composant perso

              Je reviens sur ce post pour le cloturer et donner la solution que j'ai choisi, au cas ou ça aidera d'autres personnes.

              J'ai donc créé dans mon composant une page de profil mais j'ai voulu garder la partie de modification des champs, de reset, d'inscription etc de Joomla com_users. Donc j'ai créé un plugin system qui utilise onAfterRoute pour router tout ce qui va sur com_users en vue profil sur mon composant. Pour ne pas créer de lien vers cette page de profil du composant, ce que j'ai ajouté c'est un bout de code pour récupérer l'ItemId du menu de base (com_users) et le rajouter dans mon URL vers mon profil composant. Au moins quoi que créé l'admin ca pointe toujours vers la bonne page de profil. Voici un bout de code pour la redirection dans le plugin :
              Code PHP:
              $redirect NULL;
              $itemid JRequest::getInt('Itemid');
              if ((
              $option == 'com_users' AND $view == 'profile' AND $task == 'profile.save') OR ($option == 'com_users' AND $view == 'profile' AND !$layout AND !$task)) {
                  
              $redirect "index.php?option=com_MONCOMPOSANT&view=profile";
              }
              if(
              $redirect) {
                  if (
              $itemid) {
                      
              $redirect $redirect."&Itemid=".$itemid;
                  }
              $app->redirect(JRoute::_($redirect,false));

              Voila.
              www.weblogin.fr - Création, Référencement et Design de sites Internet.

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X