# How do I add products with variation to my app?

**URL:** <https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536>\
**Category:** Ask for Help\
**Created:** [January 10, 2023, 3:02pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536 "2023-01-10T15:02:30Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![xeduardo26x](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/xeduardo26x/32/41550_2.png) [@xeduardo26x](https://community.glideapps.com/u/xeduardo26x)\
**Post date:** [January 10, 2023, 3:02pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/1 "2023-01-10T15:02:30Z")

</div>

I’m building a catalog app that displays product prices and it works great, but I’m looking to add products that have variations in size and colors (let’s say the variation is dynamic) with different prices.

I really would like the user to be able to select the product and a section that says “Click here to see the variations” appears below.

I’ve searched this group and Google but couldn’t find a solution so I’m wondering if this can be done.

I saw an application created here but I don’t quite understand how that step was done

The app is serious, sorry if I want to copy that function but it seems perfect to me

> **[Glidecart](https://go.glideapps.com/template/7N3PXzK9a2NkjoiNfY5F-template/dl/d0a5f4/M/767bfd/s/245b4e/r/RNKMfb70Rxq2b1gMT-ASog/s/de70db/r/TuLOkij9TmS8f6PZlQD3UQ/s/9222a4/r/ey0zlfXMTiKqstSaHv07YQ/s/de6ccd/r/ey0zlfXMTiKqstSaHv07YQ)**
>
> Clean, simple, and easy to customize store template. Glidecart was developed based on the best eCommerce shops like Shopify and WooCommerce.\\n\\nThis template includes: inventory management for colors, sizes, categories and brands; payment by Cash...

 ![Captura de pantalla 2023-01-10 100019](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/f/5/f52c843ec2234f0cc83141a70c422ab49ad37877.jpeg)

![Captura de pantalla 2023-01-10 100044](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/3/2/32a5526167911c906207f0605e21b2127a267f3d.jpeg)

---

<div class="post-metadata">

**Author:** ![slscustom.ru](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/slscustom.ru/32/77336_2.png) [@slscustom.ru](https://community.glideapps.com/u/slscustom.ru)\
**Post date:** [January 10, 2023, 5:03pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/2 "2023-01-10T17:03:06Z")

</div>

Hi! Look it is just another table With variants of product

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/2/0/2050de020d054fb9a901eaf3c3972dec8c986797.png)

---

<div class="post-metadata">

**Author:** ![xeduardo26x](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/xeduardo26x/32/41550_2.png) [@xeduardo26x](https://community.glideapps.com/u/xeduardo26x)\
**Post date:** [January 10, 2023, 5:12pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/3 "2023-01-10T17:12:14Z")

</div>

Yes, but I see that no data is stored there at the moment it is only empty

---

<div class="post-metadata">

**Author:** ![slscustom.ru](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/slscustom.ru/32/77336_2.png) [@slscustom.ru](https://community.glideapps.com/u/slscustom.ru)\
**Post date:** [January 10, 2023, 5:13pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/4 "2023-01-10T17:13:42Z")

</div>

may be it is because demo template in demo mode?  
But also has no variants…

---

<div class="post-metadata">

**Author:** ![xeduardo26x](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/xeduardo26x/32/41550_2.png) [@xeduardo26x](https://community.glideapps.com/u/xeduardo26x)\
**Post date:** [January 10, 2023, 5:36pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/5 "2023-01-10T17:36:36Z")

</div>

I still can’t find the solution ☹

---

<div class="post-metadata">

**Author:** ![slscustom.ru](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/slscustom.ru/32/77336_2.png) [@slscustom.ru](https://community.glideapps.com/u/slscustom.ru)\
**Post date:** [January 10, 2023, 5:43pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/6 "2023-01-10T17:43:04Z")

</div>

Which step you dont know? What are you own now?

---

<div class="post-metadata">

**Author:** ![xeduardo26x](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/xeduardo26x/32/41550_2.png) [@xeduardo26x](https://community.glideapps.com/u/xeduardo26x)\
**Post date:** [January 10, 2023, 5:48pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/7 "2023-01-10T17:48:23Z")

</div>

I don’t know how to make the app work correctly because of the products and their variants

I feel like I’m having a creative block that doesn’t let me think things through to solve this problem

to date I would like to know should I have 2 tables:

1. Products
2. Variants

How do I relate so that the products table is the main one where the admin adds the products and in the same way when adding it can add the variants to the other table

After that, the user will be shown “THE ORIGINAL PRODUCT”, with the option to see the variants below

---

<div class="post-metadata">

**Author:** ![slscustom.ru](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/slscustom.ru/32/77336_2.png) [@slscustom.ru](https://community.glideapps.com/u/slscustom.ru)\
**Post date:** [January 10, 2023, 6:06pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/8 "2023-01-10T18:06:18Z")

</div>

So you need Variant table have row with original product id  
You need multi relation from original id to variant table product id  
And you can show inline list sourced from this relation

---

<div class="post-metadata">

**Author:** ![xeduardo26x](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/xeduardo26x/32/41550_2.png) [@xeduardo26x](https://community.glideapps.com/u/xeduardo26x)\
**Post date:** [January 10, 2023, 6:47pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/9 "2023-01-10T18:47:00Z")

</div>

correct me if i’m wrong

I already have my table where the products go and I have my table of the variants  
the two are related by Product\_ID

from there I need the admin to be able to add products with their variants

would it be two forms? one for the original product and one for the variant?

because doing it that way adds the variant but the variant itself is not added as a new product and it is not shown in the catalog so that the user can select it

---

<div class="post-metadata">

**Author:** ![xeduardo26x](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/xeduardo26x/32/41550_2.png) [@xeduardo26x](https://community.glideapps.com/u/xeduardo26x)\
**Post date:** [January 10, 2023, 7:03pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/10 "2023-01-10T19:03:19Z")

</div>

I see that you know a lot about the subject, let’s say that I want to perform the functionality that is the same as that app that I must do in addition to relational tables

---

<div class="post-metadata">

**Author:** ![slscustom.ru](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/slscustom.ru/32/77336_2.png) [@slscustom.ru](https://community.glideapps.com/u/slscustom.ru)\
**Post date:** [January 10, 2023, 7:14pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/11 "2023-01-10T19:14:07Z")

</div>

> [@xeduardo26x](#):
>
> because doing it that way adds the variant but the variant itself is not added as a new product and it is not shown in the catalog so that the user can select it

May be another person can gave you better solution, because im confused why he need second table this way? Why you cant use just like category for item. All item in a category is a variants of it. So you just need column named category id and items which same - have same category id an all of it is variants you can group it and relate in same table. Or im wrong?

---

<div class="post-metadata">

**Author:** ![slscustom.ru](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/slscustom.ru/32/77336_2.png) [@slscustom.ru](https://community.glideapps.com/u/slscustom.ru)\
**Post date:** [January 10, 2023, 7:18pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/12 "2023-01-10T19:18:00Z")

</div>

And may be like this:  
items have type id and all items same type is varisnts with different Size id and color id all in one table

---

<div class="post-metadata">

**Author:** ![slscustom.ru](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/slscustom.ru/32/77336_2.png) [@slscustom.ru](https://community.glideapps.com/u/slscustom.ru)\
**Post date:** [January 10, 2023, 7:20pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/13 "2023-01-10T19:20:48Z")

</div>

Wait inems with type ID and selected color id need to find variants with different sizes?  
If like this, you need some sort of if then validation and then relate to it, like a dynamically filter.  
i’m not promises, but i will try prepare prototype next morning if nobody explain to you

---

<div class="post-metadata">

**Author:** ![xeduardo26x](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/xeduardo26x/32/41550_2.png) [@xeduardo26x](https://community.glideapps.com/u/xeduardo26x)\
**Post date:** [January 10, 2023, 7:28pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/14 "2023-01-10T19:28:10Z")

</div>

Okay I see that you are confused by the lack of information if you want I will detail it for you to see

1. It is an application about a catalog of products that are sold in a factory for a school project

2. each product belongs to a category or subcategory

3. Certain products have variants of themselves (eg: color, size)

4. Based on these variations, the price changes

5. Each variation of each product can have an offer price, which is determined by the administrator

6. The administrator is in charge of adding, editing and deleting products

7. The application must be dynamic, so products, variations, prices, categories and subcategories must be added from the same app

8. Each product must be shown to the user with its corresponding information (Price, variation, internal product code, etc.)

9. The user must choose the product to know its price and descriptions of the same (that is where the variations come in, which have the option of selecting one and showing their respective information)

10. I have already done all the steps mentioned except for the product variations

---

<div class="post-metadata">

**Author:** ![xeduardo26x](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/xeduardo26x/32/41550_2.png) [@xeduardo26x](https://community.glideapps.com/u/xeduardo26x)\
**Post date:** [January 10, 2023, 7:29pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/15 "2023-01-10T19:29:53Z")

</div>

also each variant should be displayed as an additional product

---

<div class="post-metadata">

**Author:** ![slscustom.ru](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/slscustom.ru/32/77336_2.png) [@slscustom.ru](https://community.glideapps.com/u/slscustom.ru)\
**Post date:** [January 10, 2023, 7:33pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/16 "2023-01-10T19:33:07Z")

</div>

> [@xeduardo26x](#):
>
> each variant should be displayed as an additional product

Yes, ok! Give me time please

---

<div class="post-metadata">

**Author:** ![xeduardo26x](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/xeduardo26x/32/41550_2.png) [@xeduardo26x](https://community.glideapps.com/u/xeduardo26x)\
**Post date:** [January 10, 2023, 7:34pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/17 "2023-01-10T19:34:10Z")

</div>

I really appreciate your help

---

<div class="post-metadata">

**Author:** ![slscustom.ru](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/slscustom.ru/32/77336_2.png) [@slscustom.ru](https://community.glideapps.com/u/slscustom.ru)\
**Post date:** [January 10, 2023, 8:57pm UTC](https://community.glideapps.com/t/how-do-i-add-products-with-variation-to-my-app/56536/18 "2023-01-10T20:57:24Z")

</div>

Wow  
Table 1 - Category dictionary  
Table 2 - Subcategory dictionary  
Table 3 - Color Dictionary  
Table 4 - Size dictionary  
Table 5 - Items dictionary  
Table 6 - STORE  
So, table 6 have Column T1ID ColumnT2ID ColumnT3ID Column T4ID Column T5ID  
and… ROW ID, so on  
So, all rows(in table 6) with same T5ID is variants
