web-dev-qa-db-fra.com

Filtrer le contenu en fonction de l'intérêt des utilisateurs

Je recherche un moyen de filtrer le contenu de Joomla de manière hybride. Je souhaite que tous les articles soient visibles au public, mais lorsqu'un utilisateur se connecte, les mêmes articles doivent être filtrés en fonction du choix des catégories de l'utilisateur.
Permettez-moi d'essayer de décrire un peu plus clairement:

  • Un utilisateur choisit au cours du processus d’enregistrement ses intérêts dans une liste de catégories.
  • Lorsqu'un utilisateur non connecté se connecte à la page, tous les articles de toutes les catégories seront affichés.
  • Lorsque l'utilisateur se connecte, les articles doivent être filtrés en fonction des choix de l'utilisateur lors du processus d'inscription. Il ne devrait donc y avoir que les articles dans les catégories sélectionnées par l'utilisateur.

En fait, je ne peux pas trouver un moyen de faire ça ... des idées?

3
phalanx

Ce que vous décrivez est une diffusion de contenu personnalisée, que Joomla ne prend pas en charge par défaut. Vous voudrez peut-être étudier un composant tel que Jom Social , qui permet aux utilisateurs enregistrés de "aimer" des catégories d'intérêt ou à d'autres utilisateurs, qui figureront ensuite dans leur flux.

Votre question ne permet pas de savoir si l’utilisateur contribuera lui-même au contenu visible sur votre site. Si ce n’est pas le cas, vous pouvez désactiver cette fonctionnalité dans Jom Social tout en conservant la fonctionnalité de profil d’utilisateur avancé.

J'espère que cela t'aides.

1
David

Eh bien, j'aime bien cette question car elle me fait penser de manière créative.
Pour être honnête, je n’ai pas exploré ce sujet à la recherche de solutions prêtes à l’emploi, bien conçues et disponibles. Bien sûr, les extensions de type Communautés, telles que JomSocial, ou d'autres extensions de type gestion des utilisateurs, peuvent fournir à leur manière ce type de fonctionnalité. L'extension qui pourrait fonctionner pour vous dépend du type de site que vous créez.

Ici, je vais décrire une solution de conception assez simple qui vient à l’esprit de penser à vos besoins. Cela implique cependant un développement personnalisé et ce ne sera peut-être pas approprié pour vous, si vous n'êtes pas du côté du codage.

Comment je pourrais visualiser cela, un utilisateur enregistré - lors de la connexion, devrait arriver à sa page personnalisée - une sorte de tableau de bord, où il pourrait voir les messages en fonction de ses préférences.

Voyons les 2 problèmes principaux que nous devons résoudre:

Premier problème: comment l'utilisateur peut-il définir ses préférences?

Pour cela, je choisirais un plugin de profil d'utilisateur personnalisé. Dans mon plug-in, je créerais des champs de cases à cocher dynamiques, qui seront mis à jour en fonction des catégories de contenu disponibles, afin que l'utilisateur puisse effectuer sa sélection initiale des sujets de son intérêt.

Deuxième problème: comment afficher des articles en fonction des préférences de l'utilisateur?
Pour cela, je créais un module intelligent personnalisé, qui récupérait les préférences de l'utilisateur enregistrées dans son profil, puis interrogeait la base de données pour un nombre X d'articles récents, pour chacune des catégories sélectionnées par l'utilisateur. Peut-être que le module pourrait créer des boîtes alignées distinctes pour chaque catégorie.

Ensuite, j'ai attribué ce module dans la page du tableau de bord de l'utilisateur. N'oubliez pas que ce module "Intérêts de l'utilisateur" peut simplement être affiché, en plus de tous les autres articles, afin que l'utilisateur puisse toujours accéder facilement à ces articles, mais qu'il ait toujours quelque part facilement accessible les articles les plus intéressants. pour lui.

Le même module ou un module similaire (fonctionnant peut-être dans un mode légèrement différent) pourrait également être affiché dans les barres latérales et autres positions de module.

Enfin, pour compléter l'ensemble des fonctionnalités, j'ajouterais un module Signets , afin que les utilisateurs puissent également ajouter des signets/favoris pour les articles qu'ils aiment. Je pense qu’un de ces modules est disponible dans JED, hmm ici, c’est module myshortlist

En fait, le plugin de profil utilisateur et le module intelligent ne devraient pas être très difficiles à développer.

0
FFrewin