Jump to content

Product list page

I'm trying to design a product page for a website but I don't know how to go about generating the product list as there are over a hundred thousand items from hundreds of different manufacturers. Right now, the only way I can think to make a product page is to divide everything into categories and then link the user to the manufacturer's page, but I would really like to have something a bit more elegant....something like how bestbuy/amazon does it where all the individual products themselves are actually listed. 

 

Is there some way to go about doing this? How does Amazon/best buy do it -- do they get some sort of API from the various manufacturers to access the manufacturer's databases? Or do they generate the website based on their (amazon/bestbuy/etc...) databases (and in that case how do they generate their databases)?

 

Obviously this is a fairly difficult thing to do, and realistically I don't think it's a viable option, but I don't really know how else to list the products because I also really don't like the idea of just dividing the products into categories (cpu, gpu, mobo, etc...) and then linking to the manufacturers who produce each item. 

PSU Tier List | CoC

Gaming Build | FreeNAS Server

Spoiler

i5-4690k || Seidon 240m || GTX780 ACX || MSI Z97s SLI Plus || 8GB 2400mhz || 250GB 840 Evo || 1TB WD Blue || H440 (Black/Blue) || Windows 10 Pro || Dell P2414H & BenQ XL2411Z || Ducky Shine Mini || Logitech G502 Proteus Core

Spoiler

FreeNAS 9.3 - Stable || Xeon E3 1230v2 || Supermicro X9SCM-F || 32GB Crucial ECC DDR3 || 3x4TB WD Red (JBOD) || SYBA SI-PEX40064 sata controller || Corsair CX500m || NZXT Source 210.

Link to comment
Share on other sites

Link to post
Share on other sites

Use an SQL database, store the products in some table, then do queries client-side ( something like SELECT ? FROM ? WHERE ? LIKE <product> )  and display the results of those queries in some manner.

 

Don't forget to protect against SQL injection.

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

I could be wrong, but I assume someone, like the seller, enters the information for the website to store in its database. So you'd design a process for adding products to the site. You would have a set of required information that needs to be added for that product, and probably some optional stuff as well. You may or may not need to register and verify sellers if you don't want to allow anyone to add products to your site. You could also design a method for bulk uploads (spreadsheets, csv files, etc) where you just import that file instead of typing everything out manually. That way a seller could run a script on their inventory, output the required file in the required format, and add all their products at once.

 

Some companies may offer API's although I don't know of any so you'll have to look for that yourself. You can also do some web scraping to get products off of websites that don't offer an API although I don't know if there are any legal issues surrounding this depending on what you're doing with this information.

Link to comment
Share on other sites

Link to post
Share on other sites

@Nineshadow @madknight3 

 

Creating a SQL database is outside of what I can currently do, I can try to work on that for the future as a future upgrade though. For now I think I'll need to come up with something simpler to implement....back to the drawing board I guess

PSU Tier List | CoC

Gaming Build | FreeNAS Server

Spoiler

i5-4690k || Seidon 240m || GTX780 ACX || MSI Z97s SLI Plus || 8GB 2400mhz || 250GB 840 Evo || 1TB WD Blue || H440 (Black/Blue) || Windows 10 Pro || Dell P2414H & BenQ XL2411Z || Ducky Shine Mini || Logitech G502 Proteus Core

Spoiler

FreeNAS 9.3 - Stable || Xeon E3 1230v2 || Supermicro X9SCM-F || 32GB Crucial ECC DDR3 || 3x4TB WD Red (JBOD) || SYBA SI-PEX40064 sata controller || Corsair CX500m || NZXT Source 210.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, djdwosk97 said:

@Nineshadow @madknight3 

 

Creating a SQL database is outside of what I can currently do, I can try to work on that for the future as a future upgrade though. For now I think I'll need to come up with something simpler to implement....back to the drawing board I guess

An SQL database would be the simplest solution I can think of tbh.

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

33 minutes ago, Nineshadow said:

An SQL database would be the simplest solution I can think of tbh.

I meant something simpler than listing all the stocked items because I don't realistically think I know enough to be able to implement that right now. So I could maybe have something like my original idea except split it in half horizontally -- where the top half could be the ten most popular products in that category and the bottom half could just be a list of manufacturers. 

 

zkU2Pnz.png

PSU Tier List | CoC

Gaming Build | FreeNAS Server

Spoiler

i5-4690k || Seidon 240m || GTX780 ACX || MSI Z97s SLI Plus || 8GB 2400mhz || 250GB 840 Evo || 1TB WD Blue || H440 (Black/Blue) || Windows 10 Pro || Dell P2414H & BenQ XL2411Z || Ducky Shine Mini || Logitech G502 Proteus Core

Spoiler

FreeNAS 9.3 - Stable || Xeon E3 1230v2 || Supermicro X9SCM-F || 32GB Crucial ECC DDR3 || 3x4TB WD Red (JBOD) || SYBA SI-PEX40064 sata controller || Corsair CX500m || NZXT Source 210.

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, djdwosk97 said:

I meant something simpler than listing all the stocked items because I don't realistically think I know enough to be able to implement that right now. So I could maybe have something like my original idea except split it in half horizontally -- where the top half could be the ten most popular products and the bottom half could just be a list of manufacturers. 

 

zkU2Pnz.png

That could work. But how do you search for a specific item? Other than going through lots of web pages.

Also, think about manually updating each page. Ah, that would be a pain.

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Nineshadow said:

That could work. But how do you search for a specific item? Other than going through lots of web pages.

My plan was to use Zoom Search and just include the various manufacturers in the indexing so when you search for something it would also be searching their sites too.

 

To be honest, it probably doesn't even matter if the site works well as 99.9% of the clientele won't even use it or know it's there. It's more that right now it looks awful and that doesn't seem right considering its 2016.

PSU Tier List | CoC

Gaming Build | FreeNAS Server

Spoiler

i5-4690k || Seidon 240m || GTX780 ACX || MSI Z97s SLI Plus || 8GB 2400mhz || 250GB 840 Evo || 1TB WD Blue || H440 (Black/Blue) || Windows 10 Pro || Dell P2414H & BenQ XL2411Z || Ducky Shine Mini || Logitech G502 Proteus Core

Spoiler

FreeNAS 9.3 - Stable || Xeon E3 1230v2 || Supermicro X9SCM-F || 32GB Crucial ECC DDR3 || 3x4TB WD Red (JBOD) || SYBA SI-PEX40064 sata controller || Corsair CX500m || NZXT Source 210.

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, djdwosk97 said:

My plan was to use Zoom Search and just include the various manufacturers in the indexing so when you search for something it would also be searching their sites too.

 

To be honest, it probably doesn't even matter if the site works well as 99.9% of the clientele won't even use it or know it's there. It's more that right now it looks awful and that doesn't seem right considering its 2016.

Is that what the actual site looks like? In the image above?

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

12 minutes ago, Nineshadow said:

Is that what the actual site looks like? In the image above?

No, here's the actual site:  (a disaster on so many levels)

 

That was my previous idea for the product page layout.

PSU Tier List | CoC

Gaming Build | FreeNAS Server

Spoiler

i5-4690k || Seidon 240m || GTX780 ACX || MSI Z97s SLI Plus || 8GB 2400mhz || 250GB 840 Evo || 1TB WD Blue || H440 (Black/Blue) || Windows 10 Pro || Dell P2414H & BenQ XL2411Z || Ducky Shine Mini || Logitech G502 Proteus Core

Spoiler

FreeNAS 9.3 - Stable || Xeon E3 1230v2 || Supermicro X9SCM-F || 32GB Crucial ECC DDR3 || 3x4TB WD Red (JBOD) || SYBA SI-PEX40064 sata controller || Corsair CX500m || NZXT Source 210.

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, djdwosk97 said:

No, here's the actual site: http://wayneelectricalsupply.com/

 

That was my previous idea for the product page layout.

Oh, so you don't have a product list with like prices, stock, or smth like that. It's just links to the manufacturer's page.

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Nineshadow said:

Oh, so you don't have a product list with like prices, stock, or smth like that. It's just links to the manufacturer's page.

yeah, and you cant really list prices since its order dependent anyway. 

PSU Tier List | CoC

Gaming Build | FreeNAS Server

Spoiler

i5-4690k || Seidon 240m || GTX780 ACX || MSI Z97s SLI Plus || 8GB 2400mhz || 250GB 840 Evo || 1TB WD Blue || H440 (Black/Blue) || Windows 10 Pro || Dell P2414H & BenQ XL2411Z || Ducky Shine Mini || Logitech G502 Proteus Core

Spoiler

FreeNAS 9.3 - Stable || Xeon E3 1230v2 || Supermicro X9SCM-F || 32GB Crucial ECC DDR3 || 3x4TB WD Red (JBOD) || SYBA SI-PEX40064 sata controller || Corsair CX500m || NZXT Source 210.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, djdwosk97 said:

yeah

Well, I guess that would work just fine then. Just needs some visual polish.

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Nineshadow said:

Well, I guess that would work just fine then. Just needs some visual polish.

The image I posted above is a rough mockup of my planned layout. The colors/content still need to be decided.

PSU Tier List | CoC

Gaming Build | FreeNAS Server

Spoiler

i5-4690k || Seidon 240m || GTX780 ACX || MSI Z97s SLI Plus || 8GB 2400mhz || 250GB 840 Evo || 1TB WD Blue || H440 (Black/Blue) || Windows 10 Pro || Dell P2414H & BenQ XL2411Z || Ducky Shine Mini || Logitech G502 Proteus Core

Spoiler

FreeNAS 9.3 - Stable || Xeon E3 1230v2 || Supermicro X9SCM-F || 32GB Crucial ECC DDR3 || 3x4TB WD Red (JBOD) || SYBA SI-PEX40064 sata controller || Corsair CX500m || NZXT Source 210.

Link to comment
Share on other sites

Link to post
Share on other sites

@Nineshadow I'm using Jquery (which I don't really know) to hide and show the appropriate product blocks, but I was wondering what I would need to do so it would toggle the class "active" on the <li> element that was just clicked on. 

 

Would I add something like this to my current jquery script?: 

$(".productNavigationBar.ul li").removeClass("active");

$(this).addClass("active");

 

 

The current Jquery script and the navigation list: 


<script>
            // Wait for the document to load
            $(document).ready(function() {
                // When one of our nav links is clicked on,
                $('.productNavigationBar li a').click(function(e) {
                        div_to_activate = $(this).attr('href'); // Store its target
                        $('.productView:visible').hide(); // Hide any visible div with the class "productView"
                        $(div_to_activate).show(); // Show the target div
                });
            });
        </script>

 

<div class="productNavigationBar">
                <p>Products</p>
                <ul>
                    <li><a href="#lightbulbs">Light Bulbs</a></li>
                    <li><a href="#lightbulbstest">Light Bulbs TEST</a></li>
                    <li><a href="#fixtures">Fixtures</a></li>
                </ul>
            </div>

PSU Tier List | CoC

Gaming Build | FreeNAS Server

Spoiler

i5-4690k || Seidon 240m || GTX780 ACX || MSI Z97s SLI Plus || 8GB 2400mhz || 250GB 840 Evo || 1TB WD Blue || H440 (Black/Blue) || Windows 10 Pro || Dell P2414H & BenQ XL2411Z || Ducky Shine Mini || Logitech G502 Proteus Core

Spoiler

FreeNAS 9.3 - Stable || Xeon E3 1230v2 || Supermicro X9SCM-F || 32GB Crucial ECC DDR3 || 3x4TB WD Red (JBOD) || SYBA SI-PEX40064 sata controller || Corsair CX500m || NZXT Source 210.

Link to comment
Share on other sites

Link to post
Share on other sites

29 minutes ago, djdwosk97 said:

@Nineshadow I'm using Jquery (which I don't really know) to hide and show the appropriate product blocks, but I was wondering what I would need to do so it would toggle the class "active" on the <li> element that was just clicked on. 

 

Would I add something like this to my current jquery script?: 


$(".productNavigationBar.ul li").removeClass("active");

$(this).addClass("active");

 

 

The current Jquery script and the navigation list: 


<script>
            // Wait for the document to load
            $(document).ready(function() {
                // When one of our nav links is clicked on,
                $('.productNavigationBar li a').click(function(e) {
                        div_to_activate = $(this).attr('href'); // Store its target
                        $('.productView:visible').hide(); // Hide any visible div with the class "productView"
                        $(div_to_activate).show(); // Show the target div
                });
            });
        </script>

 


<div class="productNavigationBar">
                <p>Products</p>
                <ul>
                    <li><a href="#lightbulbs">Light Bulbs</a></li>
                    <li><a href="#lightbulbstest">Light Bulbs TEST</a></li>
                    <li><a href="#fixtures">Fixtures</a></li>
                </ul>
            </div>

Like this?

https://jsfiddle.net/8auooazd/7/

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

8 minutes ago, Nineshadow said:

Yeah, why wouldn't it work addressing the class as ".productNavigationBar ul li"? Shouldn't that point to the same thing as navlink?

PSU Tier List | CoC

Gaming Build | FreeNAS Server

Spoiler

i5-4690k || Seidon 240m || GTX780 ACX || MSI Z97s SLI Plus || 8GB 2400mhz || 250GB 840 Evo || 1TB WD Blue || H440 (Black/Blue) || Windows 10 Pro || Dell P2414H & BenQ XL2411Z || Ducky Shine Mini || Logitech G502 Proteus Core

Spoiler

FreeNAS 9.3 - Stable || Xeon E3 1230v2 || Supermicro X9SCM-F || 32GB Crucial ECC DDR3 || 3x4TB WD Red (JBOD) || SYBA SI-PEX40064 sata controller || Corsair CX500m || NZXT Source 210.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×