Creating a landing page

25 views
Skip to first unread message

john booth

unread,
Nov 20, 2025, 11:37:29 AM (9 days ago) Nov 20
to XMPie Interest Group
What I’m trying to do is this…

I have a customer that has multiple stores under one main company (store). So, when a user goes to the main store, instead of getting the login screen, the would hit the landing page that contains links to each store under that company’s umbrella (including the main store itself).

What I’ve done so far is…
1) downloaded the aqua blue theme
2) setup visual studio code to edit the theme
3) created the landingpage.js
4) update scr -> scr -> routes -> index.js to include landingpage.js (import and const routes)

What do I need to do to get it to go to the landing page first before logging in?

Magnus Byrkjeland

unread,
Nov 20, 2025, 1:26:47 PM (9 days ago) Nov 20
to XMPie Interest Group
Hey John!
This seems like a really complex feature to implement in the AquaBlue / uStore setup.
When you say that the customer "has multiple stores under one main company (store)", is that already configured? Are the other "stores" also already configured within the main store, or are they separate configured stores in uStore using the same domain?

I base the rest of the response with the assumption that the other "stores" should be located within the same uStore store instance (i.e StoreID 6).
The initial routing is defined in the Proxy, updated by what type the main store is (B2C, B2B...). Keep in mind that B2C stores are open until you want to check out the cart. B2B stores are secured and required to log in.
I.e, if you hit a B2C store, the proxy will route the user to www.domain.com/{store}/{lang}/home
If you hit a B2B store, the proxy will route the user to www.domain.com/ustore/login.aspx?StoreId={some id}.
As far as I know, these rules are updated via a network call from the XMPie server to the proxy whenever there are changes in the settings of any store..

Basically, it means that the custom React code from AquaBlue is not run before the routing has already been performed.
I can see a less than optimal "solution", if you use a B2C store. Then you can reconfigure the AquaBlue Home page to be your landingpage.js contents, which then routes to the specific store directories. Though that means all directories and products will be public and accessible to anyone, including users of the other stores via URL manipulation.


You can possibly, have a B2C store with your custom AquaBlue store landingpage setup up. Then create multiple uStore Stores with B2B configuration, within the same domain, but using different "Store Folders" like "main", "store1", "store2".
Then point each of the links in the landingpage to the corresponding store; www.domain.com/main, www.domain.com/store1, www.domain.com/store2
Though with this solution it would be significantly easier just hosting a simple free page on Vercel or Github pages with the same links.

Best regards,
Magnus

john booth

unread,
Nov 20, 2025, 4:47:49 PM (9 days ago) Nov 20
to XMPie Interest Group
The stores are separate. The landing page on the main store will contain the links to the other store and the user will then use their credentials after choosing the link (store).

I like the direction you’re pushing in but it will involve a conversation with my it people.

Wayne

unread,
Nov 20, 2025, 8:17:08 PM (9 days ago) Nov 20
to XMPie Interest Group
I implemented a similar requirement many years ago.
We created a separate Landing Store and customized the Login Page (Master Page) - however this was in legacy only days :)
The solution also implemented SSO so users could traverse between stores without needing to login again.
Solution worked well for several years -  from memory the multiple stores were required for certain clearing methods.

To avoid user session issues you will need to ensure a user only has one store open at a time - controlling the flow is important.

Regards,
Wayne



Magnus Byrkjeland

unread,
Nov 21, 2025, 4:31:09 AM (8 days ago) Nov 21
to XMPie Interest Group
I see.
If it would involve IT and that makes it complicated, I would download the AquaBlue theme, and replace anything inside the App component in the index.js with your landing page layout and links. That makes sure the bundle size is minimal. If you only edit the contents of the App Component, the build/publishing logic should still work.
Publish the theme as "Landing Page" or similar, and make it the theme for a B2C store.
Reply all
Reply to author
Forward
0 new messages