2016-05-05 4 views
0

Est-il possible de remplir automatiquement le nom et e-mail de l'utilisateur connecté à joomla sous forme de Contacs originales ou dois-je télécharger une extension pour faire le travail? Je ne trouve rien sur google. Toute aide serait appréciée.Joomla Formulaire de contact - email autofill et nom d'utilisateur de l'utilisateur connecté

+1

Donc, vous voulez prendre le nom et l'email de l'objet utilisateur? C'est une bonne idée. Je pense que vous pourriez faire cela avec un plugin qui teste l'état de connexion, rend les deux champs cachés et définit leurs valeurs égales aux valeurs de l'objet utilisateur. – Elin

+0

Pouvez-vous être plus précis comment feriez-vous cela? Quel plugin je peux utiliser pour tester l'état de connexion? Et comment puis-je définir le champ de formulaire à la valeur de certaines valeurs de plugin? – kokosnakokos

+0

Vous n'avez pas besoin d'un plugin pour obtenir l'objet utilisateur. Quelles recherches avez-vous faites? – Elin

Répondre

0

Joomla comprend un « utilisateur - Contact Créateur » plug-in, désactivé par défaut qui crée automatiquement des contacts pour les nouveaux utilisateurs. Ceux-ci peuvent être publiés automatiquement ou non.

Ou vous avez besoin peut-être quelque chose de plus interactif?

Contact Creator Plugin

+0

Salut, ce n'est pas exactement ce que j'essaie de faire. Je souhaite avoir un formulaire de contact sur le site Web, mais uniquement accessible aux utilisateurs enregistrés. Aussi longtemps qu'ils se connectent, le formulaire de contact devrait leur être accessible, mais le nom et le courriel doivent être remplis à partir des informations d'utilisateur que j'ai déjà. Mais comment faire cela dans joomla est un mystère pour moi. Certaines extensions de formulaire joomla peuvent le faire, mais je préfère rester avec la solution joomla – kokosnakokos

0

juste fait la même chose en utilisant une dérogation pour com_contact/contact/default_form.php

Ajouter $user = JFactory::getUser(); au code php dans l'en-tête du module et ajouter les lignes suivantes au bloc le corps de la boucle <?php foreach ($fields as $field) : ?> avant l'appel à <?php echo $field->renderField(); ?>:

    <?php if ($field->name === 'jform[contact_name]' && $user->username) : ?> 
         <?php $field->setValue($user->username); ?> 
        <?php endif; ?>    
        <?php if ($field->name === 'jform[contact_email]' && $user->email) : ?> 
         <?php $field->setValue($user->email); ?> 
        <?php endif; ?>      

l'exemple de la boucle complète pour Joomla 3.6.x:

   <?php foreach ($fields as $field) : ?> 
        <?php if ($field->name === 'jform[contact_email_copy]' && !$this->params->get('show_email_copy')) : ?> 
         <?php continue; ?> 
        <?php endif; ?> 
        <?php if ($field->name === 'jform[contact_name]' && $user->username) : ?> 
         <?php $field->setValue($user->username); ?> 
        <?php endif; ?>    
        <?php if ($field->name === 'jform[contact_email]' && $user->email) : ?> 
         <?php $field->setValue($user->email); ?> 
        <?php endif; ?>      
        <?php echo $field->renderField(); ?> 
       <?php endforeach; ?> 

Cela ne au moins le truc pour moi.