8
votes

Ajout de champ personnalisé en défaut JOOMLA 3.1.1 Formulaire d'inscription

Récemment, j'ai trébuché sur une situation dans joomla 3.1.1 où j'ai besoin d'ajouter un champ personnalisé connecté avec le formulaire d'inscription par défaut.

J'ai surfé sur les ressources existantes qui disent que je devrais naviguer à joomla_root / composants / com_user / modèles / formulaires / inscription.xml puis changez le fichier en conséquence.

Je l'ai fait mais rien ne se présente. J'ai aussi besoin de changer d'enregistrement.php dans le modèle et le contrôleur. Donc, j'ai besoin de vos intrants sur la façon de faire ça. Je ne peut pas utiliser le plugin de profil ni des extensions commerciales. xxx


0 commentaires

3 Réponses :


7
votes

Joomla Ships avec un plug-in utilisateur appelé "profil" qui peut contenir les champs que vous souhaitez ajouter déjà.

Dans l'administrateur, passez à des extensions / plugins, filtrez par type et choisissez "Utilisateur", puis recherchez le "profil" et ouvrez-le. Découvrez les options situées à la main droite, activez le plugin et le voila.

AVERTISSEMENT : la plupart des modèles remplacent le formulaire d'inscription et ne tiennent généralement pas les événements de plugin appropriés. Si tel est le cas, vos utilisateurs ne verront que les champs "standard" de l'enregistrement. Et si vous définissez des champs tels que requis dans le plugin, ils ne seront pas enregistrés, mais redirigés vers la page d'enregistrement complète (le composant utilisateur), où ils trouveront les champs qu'ils sont déjà remplis sauf pour les mots de passe, qui peuvent être assez gênants.

Si les champs "profil" ne sont pas suffisants, copiez le plugin de profil et construisez le vôtre.

Ne modifiez pas les fichiers de plugin de profil ou COM_USERS comme vous l'avez fait, c'est-ce que Joomla Core et sera écrasé lorsque vous suivez la mise à niveau suivante.


1 commentaires

Je ne pense pas que vous ayez lu ma question à fond. J'ai clairement indiqué que je n'ai pas besoin de ce plugin de profil maladroit.Si vous savez sur la modification du contrôleur ou de la logique modèle, il serait d'une aide graphique.



4
votes

Finalement, il s'avère que Le problème était un composant appelé K2 >

Je pose les étapes pour le faire:

1.navigate à joomla_root / composants / com_utilisateurs / modèles / formulaires / inscription.xml et ajoutez un champ là-bas.

2.Chen Open up joomla_root / composants / com_utilisateurs / modèles / enregistrement.php puis dans la fonction registre () changez vos champs personnalisés.

3. N'oubliez pas d'ajouter un champ dans votre table de base de données #_utilisateurs que vous avez ajoutés dans inscription.xml


0 commentaires

0
votes

Selon que vous aviez besoin du champ personnalisé à ajouter à la base de données ou non, vous pouvez utiliser un composant de formulaire de bâtiment tel que rsform! pro ou chronoformes . Ils peuvent tous les deux égaliser dans le système d'enregistrement de l'utilisateur à Joomla et vous donner beaucoup de flexibilité dans des courriers électroniques personnalisés, ajout d'informations aux tables de base de données, etc. Cela vous isolerait de toutes les mises à jour principales qui pourraient éliminer vos modifications. Je crois que les chronoformes sont libres tant que cela ne vous dérange pas d'une liaison avec les développeurs sous la forme.

Si vous ne pouvez pas faire cela, je vous assurerais que j'ai eu une sauvegarde des fichiers que j'ai modifiée à portée de main avant de mettre à jour le site. Joomla 3.1.x est une version à court terme afin que vous ayez un risque plus élevé de ces fichiers modifiés que si vous travailliez sur un site Joomla 2.5.x.


0 commentaires