Jump to content
Sign in to follow this  
iiinetworks

[CONTRIBUTION] File uploads as an Option Feature

Recommended Posts

Hi Matt, thank you for your contribution. I've been reading each and every post in this topic and I think you did a good job but I can't get it to work.

 

I followed all the instructions in the readme file and everythink seems to be Ok but when I add attributes to a product, of any kind (Text, Radio, Checkbox, File), all I got is a drop box with 'TEXT' on it.

 

What's wrong? I don't have any clue, do you?

 

Thx.

Share this post


Link to post
Share on other sites

Are the options showing as different types in admin? The product_info page is not reading them differently. Did the database changes take? There may be an error in the configuration changes. I included the configuration_id, but I probably should have left it off to avoid problems with other contributions.

 

Hth,

Matt


Always back up before making changes.

Share this post


Link to post
Share on other sites

You may want to try the following SQL:

INSERT INTO `configuration_group` (`configuration_group_title`, `configuration_group_description`, `sort_order`, `visible`) VALUES ('Import/Export', 'Configuration values for the Import/Export Module', 17, 1);

SET @configuration_group_id = LAST_INSERT_ID();

INSERT INTO `configuration` (`configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES ('Product option type Select', 'PRODUCTS_OPTIONS_TYPE_SELECT', '0', 'The number representing the Select type of product option.', @configuration_group_id, NULL, now(), now(), NULL, NULL);
INSERT INTO `configuration` (`configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES ('Text product option type', 'PRODUCTS_OPTIONS_TYPE_TEXT', '1', 'Numeric value of the text product option type', 6, NULL, now(), now(), NULL, NULL);
INSERT INTO `configuration` (`configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES ('Radio button product option type', 'PRODUCTS_OPTIONS_TYPE_RADIO', '2', 'Numeric value of the radio button product option type', 6, NULL, now(), now(), NULL, NULL);
INSERT INTO `configuration` (`configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES ('Check box product option type', 'PRODUCTS_OPTIONS_TYPE_CHECKBOX', '3', 'Numeric value of the check box product option type', 6, NULL, now(), now(), NULL, NULL);
INSERT INTO `configuration` (`configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES ('File product option type', 'PRODUCTS_OPTIONS_TYPE_FILE', '4', 'Numeric value of the file product option type', 6, NULL, now(), now(), NULL, NULL);
INSERT INTO `configuration` (`configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES ('ID for text and file oroducts options values', 'PRODUCTS_OPTIONS_VALUE_TEXT_ID', '0', 'Numeric value of the products_options_values_id used by the text and file attributes.', 6, NULL, now(), now(), NULL, NULL);
INSERT INTO `configuration` (`configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES ('Upload prefix', 'UPLOAD_PREFIX', 'upload_', 'Prefix used to differentiate between upload options and other options', @configuration_group_id, NULL, now(), now(), NULL, NULL);
INSERT INTO `configuration` (`configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES ('Text prefix', 'TEXT_PREFIX', 'txt_', 'Prefix used to differentiate between text option values and other option values', @configuration_group_id, NULL, now(), now(), NULL, NULL);

Hth,

Matt


Always back up before making changes.

Share this post


Link to post
Share on other sites
Are the options showing as different types in admin? The product_info page is not reading them differently. Did the database changes take? There may be an error in the configuration changes. I included the configuration_id, but I probably should have left it off to avoid problems with other contributions.

 

Hth,

Matt

Are the options showing as different types in admin?

- Yes they are as: Select, Text, Radio, Checkbox and File

Did the database changes take?

- Yes

There may be an error in the configuration changes.  I included the configuration_id, but I probably should have left it off to avoid problems with other contributions.

 

I ran the SQL instructions you gave me and a new item showed up in the configuration section of the Admin "Import/Export" but is empty, it doesn't have values to modify.

 

What else can be causing problems?

 

Thank you.

Share this post


Link to post
Share on other sites

I'm lost, I don't not what to do.

I've checked and compared all the updated files with the WinMerge and there is no differencies !!!

All I got as a product attribute is a combo box with 'TEXT' on it, no matter what option type I use.

 

Please heeeeeelp !!!

Share this post


Link to post
Share on other sites

Matt,

 

Thanks so much for the wonderful contribution!

 

I have installed everything as stated and the module is working well.

 

The problem I am having now it seems to have messed with the shipping module.

 

I have selected UPS in the admin area but it will not show up on the page when the customer places the order.

 

Has anyone had this same problem?

 

Thanks,

Proimpulse

Share this post


Link to post
Share on other sites

Hi Matt,

 

thanks so much for this contribution. It works really well.

 

Installing it was kind of hard, since I have made so many changes to the original store in the last year... But I got it.

 

I experienced two problems that had to be resolved and that I want to share

 

1. In the admin section, no option types show up and next to my existing drop box options "Error 0" was displayed. SOLUTION: edit option_type_feature.sql for the languages used in your Admin section. In my case (German) change the language_id for each line into "2" and, of course, run it again.

 

2. After adding an article with file upload the error "destination does not exist" in line 170 of upload.php was displayes (or some similar error message). This was due to the fact, that I had to include a "/" in the define of DIR_FS_UPLOADS. On my server it had to read "define('DIR_FS_UPLOADS', DIR_FS_CATALOG . '/' . DIR_WS_UPLOADS);" in configure.php. It helped to include an "echo $this->destination;" for debug purposes before line 170 to find out what was going on.

 

Cheers

 

Marc

Share this post


Link to post
Share on other sites

Hi Matt,

 

since I have it now working, I want to take it to the next level.

 

My file upload is an excel table that contains a configuration of a mechanical master key system. So the price of the system wholly depends on the uploaded file.

 

I have already a class with wich I can read excel files.

 

Now I want to program the feature that once the file is uploaded, the price is calculated from the uploaded file.

 

Do you have any suggestions on the design? In which files do you think I have to implement my feature to make it work? I am now quite experienced with php programming itself, however I do not know the shop architecture all that well.

 

I'd appreciate any comments on this. Especially helpful would be contributions that already do that kind of thing :-)

 

Thanks

 

Marc

Share this post


Link to post
Share on other sites

I set the zones as Matt told me to do but now the UPS shipping option will not work properly.

 

It will not allow you to have flat rate shipping and UPS selected together without freezing during the checkout process.

 

Please advise.

 

Thanks!

Share this post


Link to post
Share on other sites

Hi everybody:

Look I did do something incorrect on

 

/catalog/admin/products_attributes.php

 

error appears:

 

1146 - Table 'store.TABLE_PRODUCTS_OPTIONS_TYPES' doesn't exist

 

select products_options_types_id, products_options_types_name from TABLE_PRODUCTS_OPTIONS_TYPES where language_id='1' order by products_options_types_id

 

[TEP STOP]

 

Any help will be greatly appreciated.

Goran

Share this post


Link to post
Share on other sites

Dear Matt:

I finally gat thru with installation. Now I have message

Error: destination does not exist.

But reading those topics about inserting "/" I gat more confused. Do you have an fix for this and where exactly and what needs to be changed in order to work. Thanks

G

Share this post


Link to post
Share on other sites

Dear Matt:

Error I'm having is:

Error: destination (DIR_FS_CATALOG/images/uploads/) does not exist.

I have "uploads" folder (Chmod 777) under "images" folder (Chmod 777).

Please let me know what I'm doing wrong.

Goran

Share this post


Link to post
Share on other sites

Hi I found out where the errors coming from:

In Joe's readme file:

B.

 

On a new install: (note 'catalog' refers to the folder name on disk and is replaced by the name of your root osCommerce directory on your site)

 

Manually edit your osCommerce_directory (catalog)/includes/configure.php using WinMerge  (or similar program) to include the following two lines (*after* the DIR_FS_CATALOG and DIR_WS_IMAGES defines):

 

define('DIR_WS_UPLOADS', DIR_WS_IMAGES . 'uploads/');

define('DIR_FS_UPLOADS', DIR_FS_CATALOG . DIR_WS_UPLOADS);

 

 

 

After backing up all files to be replaced, replace all other files listed in table below with the supplied versions, except the configure.php files, as noted above.

Those two defines should be located after

define('DIR_WS_UPLOADS', DIR_WS_IMAGES . 'uploads/');

 

From the Joe's explanation I understood that I should place those two lines twice. Ones after DIR_FS_CATALOG and ones again after DIR_WS_IMAGES defines.

It was just misunderstanding. I hope that my comment will help some of the new users on the installation process.

Wonderful contribution. Thanks so much Matt!

 

Goran

Share this post


Link to post
Share on other sites

Hello:

 

I just added the File Upload application to my site and am receiving the following error whenever I try to upload a file using the application:

 

Fatal error: Call to a member function on a non-object in /home2/dihu/public_html/ynotprint/includes/classes/upload.php on line 179

 

Everything else seems to be working fine but I cant really use it until I figure out why this error appears when I try to upload.

 

Thanks in advance for any possible help.

Share this post


Link to post
Share on other sites

I would check that the MessageStack class is available. If not, you should comment out the lines using it.

 

Hth,

Matt


Always back up before making changes.

Share this post


Link to post
Share on other sites

I commented out all the references to the messageStack and now I am getting the following:

when attempting to upload the application goes nowhere. It brings me back to the same exact window. If no file is added it works great.

 

By the way, I do have a file located within classes named message_stack.php. Is this the correct file?

 

Thanks

Share this post


Link to post
Share on other sites

Hi Matt,

 

I'd like to say like everyone else that the contribution is great (and I'm sure it is), but I'm having problems so I can't truly say that I've experienced the greatness of it all.

 

I've seen this error posted, but it looks like people resolve it on their own. What do I do with this error?

1146 - Table 'imprintitems2.TABLE_PRODUCTS_OPTIONS_TYPES' doesn't exist

select products_options_types_id, products_options_types_name from TABLE_PRODUCTS_OPTIONS_TYPES where language_id='1' order by products_options_types_id

[TEP STOP]

 

Any help would be great. Thanks!

 

Sincerely,

 

Mike Clemson

Share this post


Link to post
Share on other sites

I added a define from earlier in the post and now it looks like this:

1146 - Table 'imprintitems2.products_options_types' doesn't exist

select products_options_types_id, products_options_types_name from products_options_types where language_id='1' order by products_options_types_id

[TEP STOP]

 

That's in catalog/admin/product_attributes.php. I do not have a table called "product_options_types" and I don't see where in the tutorial I should have installed one.

Share this post


Link to post
Share on other sites

I made up a table and some fields, though I didn't see in documentation.

 

Created table 'products_options_types' with fields 'products_options_types_id' (int(11), null), 'products_options_types_name (varchar(64), null), and 'language_id' (int(11), not null, default 1).

 

When I get to the admin section I have no selections in 'Option Type' under 'Product Options.'

 

If I create a new 'Option Name' (such as 'First Name' for that Coffee Mug), the Option Type defaults to 'Error 0.'

 

If, instead, I add this same thing for one of my existing products, the products page gaves a text intro of "First Name:" followed by a drop-down box where you may, excitedly, select 'TEXT' as your name.'

 

 

What have I got wrong?

Share this post


Link to post
Share on other sites

You have to run the .SQL files with phpMyAdmin or similar utility. This was discussed in

STEP 1. Add new fields to db

 

You can use the enclosed option_type_feature.sql and files_uploaded.sql to add the new fields. Use insert_text_option_value.sql to create the TEXT option_value of 0.

of the ReadMe.html or
1.  Make database changes by importing option_type_feature.sql, insert_text_option_value.sql, and files_uploaded.sql into the database.
of QuickInstall.txt.

 

Hth,

Matt


Always back up before making changes.

Share this post


Link to post
Share on other sites

Hi Matt. Thanks again for your help. Now when I attempt to add an item to my cart, it takes me to a page that doesn't seem to exist. Why is that? Thanks so much!

Share this post


Link to post
Share on other sites

hi everyone

im trying to install this mod

and im getting problems

 

first i just backed up my catalog and database

and did the quick and easy install

and it was working fine except i have the quickbooks iff mod install and

someone of the files overlap and i broke the quickbooks mod

 

now im starting from scratch but im disappointed in the documentation

on this mod

it says to diff all the files and see what needs to be added etc

but diff doesnt do anything but show me the whole files since nothing matches up

so without the usuall step by step

//find

 

//replace

 

this mod is pretty hard

 

right now the mod is fully installed

the admin panel works great

but when i try to checkout i get

 

Fatal error: Call to a member function on a non-object in /home/sites/site3/web/catalog/includes/classes/upload.php on line 118

 

right after the file uploads

 

any idea? I looked at the upload.php file

but i dont think the problem is in that file

since i didnt need to modify that file

 

anyone have an idea on how to fix this

great mod by the way

hope the documentation improves

but this should be in the main release of oscommce

 

Great work

Paul

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
Sign in to follow this  

×