I'm looking for a way to filter content in Joomla in an hybrid fashion. I would like have all articles visible in public view, but when a user logs-in, the same articles should be filtered according to the user's categories choice.
Let me try to describe a bit more clearly:

  • A user chooses during the registration process his interests in a list of categories.
  • When a non-logged user views the page all the articles of every categories will be displayed.
  • When the user logs-in, the articles should be filtered according with user's choices from the registration process. So there should be visible only the articles in those categories selected by the user.

Actually I can't find a way to do this... any ideas?


What you are describing is personalised based content delivery, which Joomla doesn't support by default. You might want to investigate a component such as Jom Social, that allows registered users to "Like" categories of interest or other users, which would then appear in their feed in the future.

It's unclear from your question if the user's themselves will contribute to the content viewable on your site - if that's not the case you can disable this functionality in Jom Social, but keep the advanced user profile functionality.

Hope this helps.


Well, I kinda like this question -it makes me think creatively.
To be honest, I haven't exactly explore this topic for any available, well-designed, ready-made solutions. Sure, Communities-type extensions like JomSocial, or other user-management type of extensions, may provide in their own way this kind of functionality. What extension could work for you, depends on the type of site you are creating.

Here I will describe a somewhat simple design solution that it just came in mind thinking your requirements. It involves some custom development though and maybe it won't be the appropriate for you, if you are not in the coding side of things.

How I could visualize this, a registered user- upon login, should arrive at his personalized page - a kind of dashboard, where he would be able to see posts according to his preferences.

Let's see the 2 main problems we have to solve:

First problem: How the user can set his preferences?

For this I would go with a custom user profile plugin. In my plugin, I would create dynamic checkboxes fields, that will get updated by the available content categories, so the user could make his initial selection of topics of his interests.

Second problem: How to display articles based on user preferences?
For this I would create a custom smart module, which would fetch the user's preferences saved in his profile and then would query the database for an X number of recent articles, for each of the user's selected categories. Maybe, the module could create separate aligned boxes, for each category.

Then I would assigned this module in the user's dashboard page. Keep in mind, that this User's Interests module, could simply be displayed, on top of all other articles, so the user will still be able to reach easily to these articles as well, but has always somewhere easily accessible the articles that are most interesting for him.

The same, or similar module (maybe working in a slightly different mode) could be also displayed in sidebars and other module positions.

Finally, for completing the feature set, I would add a Bookmarks Module, so the users, could add also bookmarks/favorites for the articles they like. I think there is one such module available in JED, hmm here it is myshortlist module

Actually, both the user profile plugin and the smart module shouldn't be very hard to develop.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.