2010-02-27 12 views
0

Je crée un composant où les utilisateurs enregistrés pourront utiliser les fonctionnalités de mon composant.Intégration de composants Joomla personnalisés avec Joomla com_user

Mon composant a certaines formes et vues. Je souhaite autoriser uniquement les utilisateurs connectés à accéder aux liens vers mon composant.

Comment ajouter des champs personnalisés supplémentaires au formulaire d'inscription d'utilisateur de Joomla? J'ai des champs supplémentaires à saisir comme adresse et nom de l'entreprise.

Comment puis-je intégrer l'authentification avec mon composant?

Comment puis-je accomplir mon composant sans créer à nouveau la fonctionnalité d'enregistrement et d'authentification de l'utilisateur. Comme je sais que je peux utiliser l'enregistrement des utilisateurs joomla et l'intégrer avec mon composant. Mais je ne sais pas comment le faire.

Veuillez Aide Merci

Répondre

1

Il y a beaucoup de façons dont vous pouvez accomplir cela. Les meilleures méthodes OFC s'intègrent toujours sans faire de core hacks. Cela dit, je suggérerais deux façons.

De nombreux plugins ou composants étendent les champs d'enregistrement des utilisateurs. Mais ce sont des solutions sur elles-mêmes, donc cela ne servira à rien pour votre composant qui détient ses propres données (adresse, société, etc.).

  1. Vous créez simplement un enregistrement de vue frontend pour votre composant à l'aide du modèle des utilisateurs de joomla. De cette façon, les utilisateurs peuvent s'inscrire à travers votre composant et ajouter tous les champs supplémentaires que vous aimez. Vous devez juste prendre soin d'ajouter les champs non standard à vos tables db dans le modèle.

  2. Si vous ne voulez vraiment pas créer vous-même un formulaire d'inscription, vous pouvez créer un User Plugin en combinant un remplacement de contenu pour le formulaire d'inscription. Le plugin prendrait soin d'ajouter les champs supplémentaires à vos tables de db. serait l'événement correct de l'utilisateur:


function onAfterStoreUser($user, $isnew, $success, $msg) { 
    ... 
    if ($isnew) 
    { 
     myComponent::createExtraFields($user['id'], $args); } 
    else 
    { 
     myComponent::updateExtraFields($user['id'], $args); 
    } 
    ... 
}