Jump to content
LeeFoster

Custom Product Builder of OSc BS

Recommended Posts

@raiwa @Tsimi

I am working on converting the below addon to work with BS Edge, with some minor changes. I will be updating this post with my progress if anyone is interested in a collaboration.

https://apps.oscommerce.com/s1PO8&custom-product-builder-2-3

I have so far managed to get it to work but would like to be able to have multiple instances of it. My aim is to have it work in a mix and match way for example you can buy cupcakes in boxes of 4, 6 or 12. You choose your box size then add the cakes you want but you can only add as many as the box size. 

Share this post


Link to post
Share on other sites

@LeeFoster

Best would be to create a github repository. Then we can download it or have a look at your current files.
Then you should proceed the same way we did with the Points and Rewards addon. Create a to do list, create a bug list if needed.

Share this post


Link to post
Share on other sites
2 hours ago, Tsimi said:

@LeeFoster

Best would be to create a github repository. Then we can download it or have a look at your current files.
Then you should proceed the same way we did with the Points and Rewards addon. Create a to do list, create a bug list if needed.

I agree, I'm a bit rubbish at planning ahead like that.

Share this post


Link to post
Share on other sites
4 hours ago, Tsimi said:

@LeeFoster

Best would be to create a github repository. Then we can download it or have a look at your current files.
Then you should proceed the same way we did with the Points and Rewards addon. Create a to do list, create a bug list if needed.

Oh and I have no idea how to use Github

Share this post


Link to post
Share on other sites

No worries, I am same. 

Without @raiwa that Points and Rewards project wouldn't have gone far.

He started the github repository and made the to do list and assigned tasks.

 

Share this post


Link to post
Share on other sites

Created Git Hub Repository:

https://github.com/raiwa/Custom-Product-Builder-for-BS

I'm quite busy these days. I'll have a look and see what I can do when I found some time.

Meanwhile you can use the repository and push updates if you wish. I'll keep an eye on it.

 

rgds

Rainer

Share this post


Link to post
Share on other sites
12 minutes ago, raiwa said:

Created Git Hub Repository:

https://github.com/raiwa/Custom-Product-Builder-for-BS

I'm quite busy these days. I'll have a look and see what I can do when I found some time.

Meanwhile you can use the repository and push updates if you wish. I'll keep an eye on it.

 

rgds

Rainer

Thank you. 

I'll get some more done on it later today I hope.

Share this post


Link to post
Share on other sites

@LeeFoster

Tomorrow I am the whole day at the office and I have access to a PC and I will take a look at it.

Is this the addon that was meant to be used as some sort of PC builder like choose graphic card, RAM, CPU and so on and at the end it becomes one final product?

Share this post


Link to post
Share on other sites

@Tsimi

Yeah that's the one. My idea for it is to have a base product, in my case a box of 6 cupcakes and the graphics card, RAM etc be replaced by different flavour cakes.

Share this post


Link to post
Share on other sites

@LeeFoster

Before I started to test this I replaced all TABLE_ instances. I hard coded the table names into all new files.
Same goes for $HTTP_GET_VARS and $HTTP_POST_VARS, those were replaced with $_GET and $_POST

Once installed I only quickly set it up following the steps in the GETTING STARTED text file.
Then created a custom product and placed an order for it.

Here is what I observed or catched my eye thus far.

1.) builder_product_info.php needs recoding to match BS standarts otherwise it just shows text on a white background.

2.) If Assembly fee is used it shows as regular product inside the store. If you try to hide it you cannot select it in the builder feature. IMO the Assembly fee product should be always hidden and not shown as product.

3.) If a product has attributes you cannot select any of those attributes during the building process. So using products with attributes is not recommended.
    Meaning you have to have for example all RAM memory's as products and not as options. 2GB, 4GB, 8GB etc...

4.) Regarding the install manual I think the following could be achieved.
    
    Step 1
    
    Keep as is
    
    Step 2
    
    HARD CODE definitions
    
    Step 3
    
    Add both as new functions inside the builder.php file and call it where needed?
    
    Step 4
    
    Create a module and include the definitions or create new language file and call for it in the needed files.
    
    Step 5
    
    Add the styles inside the needed file(s) or maybe keep as is since it is a minor code addition to the css file.
    
    Step 6
    
    This is tricky since the application_top file is not modular. Gary and I played around with some code to call the actions within the switch by file and therefore we could modularize it a bit.
    But adding that would mean a major core code change which should be avoided. Worst case just add that new action via HT module in a similar fashion as raiwa did for the hook calls in the Points and Rewards addon.
    Or just keep it as one manual code addition.
    
    Step 7
    
    HARD CODE definitions
    
    Step 8
    
    No idea at the moment
    
    Step 9
    
    Maybe it is not needed later once everything is bootstrapped. But even if it is needed just keep as is. The user.css file was made for this.
    
    Step 10
    
    No change or maybe let an HT module create that folder structure automatically when HT module gets installed?
    
    Step 11
    
    No change
    

That's it for now. I will play more around with it when time allows. But one thing I must say is it is really compliacte to set up.
You need to get your head around it first and understand how everything connects. Not an easy addon.

Edited by Tsimi

Share this post


Link to post
Share on other sites
5 hours ago, Tsimi said:

1.) builder_product_info.php needs recoding to match BS standarts otherwise it just shows text on a white background.

Agreed

5 hours ago, Tsimi said:

2.) If Assembly fee is used it shows as regular product inside the store. If you try to hide it you cannot select it in the builder feature. IMO the Assembly fee product should be always hidden and not shown as product.

This should be shown as an option to the customer but should not be a product. This way it allows for the customer to build it themselves or pay to have it built.

5 hours ago, Tsimi said:

3.) If a product has attributes you cannot select any of those attributes during the building process. So using products with attributes is not recommended.
    Meaning you have to have for example all RAM memory's as products and not as options. 2GB, 4GB, 8GB etc...

I hadn't considered that.

5 hours ago, Tsimi said:

4.) Regarding the install manual I think the following could be achieved.
    
    Step 1
    
    Keep as is
    
    Step 2
    
    HARD CODE definitions
    
    Step 3
    
    Add both as new functions inside the builder.php file and call it where needed?
    
    Step 4
    
    Create a module and include the definitions

Agreed on these points.

5 hours ago, Tsimi said:

Step 5
    
    Add the styles inside the needed file(s) or maybe keep as is since it is a minor code addition to the css file.

Would rather add in the files and keep the code changes to a minimum.

5 hours ago, Tsimi said:

 Step 6
    
    Worst case just add that new action via HT module in a similar fashion as raiwa did for the hook calls in the Points and Rewards addon.

This would probably be the best option

5 hours ago, Tsimi said:

Step 7
    
    HARD CODE definitions

Agreed

5 hours ago, Tsimi said:

Step 8
    
    No idea at the moment

I can't remember what this is so I'll have a look and come back to you

5 hours ago, Tsimi said:

Step 9
    
    Maybe it is not needed later once everything is bootstrapped. But even if it is needed just keep as is. The user.css file was made for this.

Hopefully not needed

5 hours ago, Tsimi said:

Step 10
    
    let an HT module create that folder structure automatically when HT module gets installed?

HT is probably the best bet.

5 hours ago, Tsimi said:

That's it for now. I will play more around with it when time allows. But one thing I must say is it is really compliacte to set up.
You need to get your head around it first and understand how everything connects. Not an easy addon.

I agree it is not the easiest to understand, I think it would be a worthwhile addon once it works well.

Share this post


Link to post
Share on other sites

I forked raiwas github repository and started to clean up code and convert to BS today.
The box module was the easiest thus far. The main building page is a nightmare. So much Javascript and tables in there it is very easy to get lost.
And you can't just remove tables or rows or cells because the javascript code calls for them. So either you totally re-code the javascript code or you create something that is some sort of hybrid between the old addon code and current BS.

In my fork you can see some of the changes I did and the builder page still works. Apparently you should be able to select attributes too which I still haven't figured out yet.

I'll stay on it and see where it goes.

Edited by Tsimi

Share this post


Link to post
Share on other sites
11 minutes ago, Tsimi said:

I forked raiwas github repository and started to clean up code and convert to BS today.
The box module was the easiest thus far. The main building page is a nightmare. So much Javascript and tables in there it is very easy to get lost.
And you can't just remove tables or rows or cells because the javascript code calls for them. So either you totally re-code the javascript code or you create something that is some sort of hybrid between the old addon code and current BS.

In my fork you can see some of the changes I did and the builder page still works. Apparently you should be able to select attributes too which I still haven't figured out yet.

I'll stay on it and see where it goes.

I'll install your version once I've finished my sausage butty

Share this post


Link to post
Share on other sites

 

13 hours ago, Tsimi said:

2.) If Assembly fee is used it shows as regular product inside the store. If you try to hide it you cannot select it in the builder feature. IMO the Assembly fee product should be always hidden and not shown as product.

 

7 hours ago, LeeFoster said:

This should be shown as an option to the customer but should not be a product. This way it allows for the customer to build it themselves or pay to have it built.

(just thinking out loud here ... )

Will the Assembly Fee be a single fee, regardless of how much (or how little) assembly is done? Or, will it be on an item-by-item basis?

For example, if the customer wants the CPU and Memory installed on the Motherboard before shipment, but they want to assemble the Case, Power Supply, and Motherboard themselves?

And, if you don't want the Assembly Fee as a product, maybe treat it as a Hazmat fee, a special packing fee (item must be on a pallet), or shipping fee (forklift required).

Malcolm


Get the latest Responsive osCommerce CE (community edition) here .

Share this post


Link to post
Share on other sites
1 hour ago, ArtcoInc said:

(just thinking out loud here ... )

Will the Assembly Fee be a single fee, regardless of how much (or how little) assembly is done? Or, will it be on an item-by-item basis?

For example, if the customer wants the CPU and Memory installed on the Motherboard before shipment, but they want to assemble the Case, Power Supply, and Motherboard themselves?

And, if you don't want the Assembly Fee as a product, maybe treat it as a Hazmat fee, a special packing fee (item must be on a pallet), or shipping fee (forklift required).

Malcolm

We could do a checkbox for them to choose if it is an item fee or a whole fee but that would mean making the same changes on the front end and that could be messy for the end user. I personally would off a whole build or no build, that said I'm not going to be offering an assembly service anyway.

Share this post


Link to post
Share on other sites

@LeeFoster

I acknowledge that boxing cupcakes should not require a 'Assembly Fee' :tongue:

That said, depending on where this module is taken, I just wanted to point out some thoughts ...

Good luck!

Malcolm


Get the latest Responsive osCommerce CE (community edition) here .

Share this post


Link to post
Share on other sites
Just now, ArtcoInc said:

@LeeFoster

I acknowledge that boxing cupcakes should not require a 'Assembly Fee' :tongue:

That said, depending on where this module is taken, I just wanted to point out some thoughts ...

Good luck!

Malcolm

Of course. I think it could get messy using item by item assembly fees, especially if you want to charge a different fee for each item.

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites

No problem guys. I wasn't really doing much either. :blush:
But I had a bit time recently and did some progress. I got most of the install reduced using modules or combining codes into already existing add-on files.
Right now it requires 2 code additions/changes inside 2 files. And it only works with the FROZEN version (PHP 7.0.21). EDGE and GOLD are not supported at the moment.
I also got the catalog side layout done. I can create a custom product now and add it to the cart. I must say the add-on is very difficult coded. A lot javascript and onclick functions involved but it does seem to work.
I didn't had time to test it further than that. Didn't go into the checkout and I don't know if it reduces the stock of the added items.

The only real bug thus far is the image dropdown selection after a custom product has been deleted. You'll know what I mean once you try it out.
So here is the package for those who are interested to have a look at it. (Please do not install and use this in a live store! You have been warned.)

Custom-Product-Builder-for-BS-Tsimi.zip

 

Edited by Tsimi

Share this post


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

×