I have added some extra fields in User entity like address, twitter account e.t.c. The requirement is that each user should be able to choose whether his profile will be completely public to other users or some fields should be hidden. The user does not get to choose which ones are hidden or not, he only chooses via a select menu (term reference) what his profile view should be: "Complete" (all fields visible), "Partial" (some predefined fields are hidden) or "Basic Info" (only name and pic).
My question is, what is the best practice to implement the three different profile views according to the user choice? My thoughts so far:
- via the respective template using if statements to display or not some fields
- via custom display modes, but I don't know how to delegate to another mode conditionally when view_mode is already set to "full"
Any other suggestions are welcome. Thanks in advance.