members area: how to create user-specific custom pages??

I am building a site with a small members area for my private clients. I want each client to be able to log in to a personal member area where they can view their personal Calendar, a database of previous invoices, and anything else that I wish to share with them - but all of which will be specific to each private user, not just any ‘member’.

I have read this tutorial , amongst others, which helped me understand about permissions and datasets/collections, but it is predicated on the principle of users generating their own content. I can’t find anything that explains how the site owner/admin can create member pages for specific users only?!

For example, I share a private Google Calendar with each client so that they can view their private bookings, without seeing other clients appointments (But I can view all the calendars together in the Google Calendar app. I want to use the Wix Google Event Calendar App (or equivalent) to display/embed each individual client’s private calendar in their personal user profile.

I would only be doing this for around 30 users so it is practical to manually update separate static pages (rather than create dynamic item pages) but I am struggling with where to start…

Any help would be appreciated!! (Disclaimer: my coding knowledge is weak)

1 Like

Hi Jamie,

As you know the users that you want them to be special users, you can do the following :

1- Create a Database ( let’s call it SpecialUsers ) that stores the special users id and their data .
2- Create a dynamic page for the SpecialUsers ( Now your special users have their own pages ) see how dynamic page works - here
3- Then follow this link to embed custom google calendar .

Good Luck,
Mustafa

Hi Mustafa,

Thank you for your help.

Unfortunately the issue is that html iframe embeds are not available as dynamic items.

Can anyone suggest a way of doing this within the wix code??

Thanks

I need this

I’m wondering if you can build a widget to embed your code and take it from there?

Hi Jamie,

Im having the same problem trying to solve the same issue. I was wondering if you finally figured it out?
If yes, please advise me.
Thanks
Nimrod

Hi all,

I am in need of this as well. Any ideas? Work arounds?

Hi there,

Yes, I developed a workaround for using the Google event app on a dynamic page for members.

Firstly, you must have a dynamic page for members - this should only display database content for a certain member’s ID (logged in user ID). I believe the tutorial posted above covers this.

The issue is that the google calendar app cannot retrieve data from the database - it cannot be linked to dataset/current user…

So… The work around is to literally add a separate widget for every single calendar/member, linked to their specific google calendar. You then ensure that all the calendars are collapsed/hidden on page load, but have a specific calendar expand/display based on the logged in user.

Notes:

  1. This is NOT practical for large volumes of users. Makes the editor very slow when loading all the widgets at once, plus requires manual code maintenance for every new user (see following).

  2. You need to manually add a new calendar widget to the dynamic page for every new member that joins.

  3. For every new calendar you must add a new snippet of code linking the new member’s ID to the new calendar.

  4. [Optional] You can include a blank calendar to display when a new member creates an account - code this to expand/display if the current user’s ID is not one that is recognised.

Code:

$w.onReady(() => {

$w("#clientItem").onReady(() => { 

// #clientItem is the dataset of members on the dynamic page, .getCurrentItem should retrieve the ID of the logged in member:

const { _id} = $w(“#clientItem”).getCurrentItem();

//following code will expand a specific calendars for specific IDs - these must be manually added to the code for each user/calendar:

if (_id === “c4c214f9-7b56-475b-8e21-cf554c751b30”) {

      $w(' [#calwidget1](https://www.wix.com/corvid/forum/community-discussion/members-area-how-to-create-user-specific-custom-pages/p-1/dl-5d0bc8d3a6072d0018d06bc3#) ').expand();             }              

if (_id === “d7d314f9-7b56-475b-8e21-cf554c751c56”) {

      $w(' [#calwidget](https://www.wix.com/corvid/forum/community-discussion/members-area-how-to-create-user-specific-custom-pages/p-1/dl-5d0bc8d3a6072d0018d06bc3#) 2').expand();             } 

//etc…

    }  **else**  { 

        $w('#calwidgetNull').expand(); 

    } 

//#calwidgetNull is the blank calendar to display for a new user.

}) 

});

NOTE: instead of using ID, you could use the members name, but using ID eliminates possibility of members having identical names (i.e. 2 John Smiths!)

Good Luck!

see post below!

see post below!