How to render component from remix APP to store front?

My goal is to allow the admin (merchant side) to configure products. Essentially, I’ve created a view in the admin panel where products are listed, and I’ve added a toggle button for each product. When toggled, a metafield is updated in Shopify to mark the product as “configured.” Now, here’s the problem I’m facing:

  • On the storefront, I need to display a custom view for the products those have meta field set as “configured true”
  • For all other products, the normal theme template should display.
  • I’m trying to figure out how to conditionally render one of my components from remix APP (the custom view) only for configured products, but I’m stuck and feeling quite confused.
    is it possible to render custom components(from where I can make requests and show a view of products) on the storefront specifically for products flagged as “configured”? If yes, what’s the best way to implement this? I’d really appreciate any guidance, code snippets, or resources to point me in the right direction.

Have you looked into using theme app extensions? About theme app extensions

I don’t think you’ll be able to make a different product template load, but you should be able to conditionally add content to a product page based on if a metafield has a specific value.

Hi @Liam-Shopify,

Thanks for replying.

I considered using an extension, but I have a specific condition: for some products, I need to render their default view, and for others, I need to render a custom view. These custom products can have hundreds of combinations of variations, which is why I’ve saved the configured information in the database attached to the application I’ve built.

Initially, I was under the impression that a Remix app could help me render/replace the theme’s view, but now I’m a bit lost. I just want to confirm whether I need to work directly in the theme’s code for these conditions or if there are better options available.

Please let me know if you need any additional information to answer my query. Thanks!