Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Easy Populate & Products Attributes


VJ

Recommended Posts

Do you think it could be my database? In the control panel it says I have 1 database with 5MB of disk space. In phpmyadmin, the database says I'm using 4.7 MiB. I'm not sure what MiB is though.

 

I've only uploaded less than half the products so if MiB is MB then i will go over the allotted amount. Would this cause the problem I'm having?

Link to comment
Share on other sites

Do you think it could be my database? In the control panel it says I have 1 database with 5MB of disk space. In phpmyadmin, the database says I'm using 4.7 MiB. I'm not sure what MiB is though.

 

I've only uploaded less than half the products so if MiB is MB then i will go over the allotted amount. Would this cause the problem I'm having?

the only way of knowing if my suspicion is correct is to try it without the 3rd cat column. 2 prods per category, somewhere in the neighborhood of 5000 cats, can't say I've seen that before.

 

Try this first, go into your includes/column_left.php and comment/remove the include for the categories.php. See if the page loads faster then. if so, the issue is the number of categories.

 

the other thought I had was that your host has you on a some untried software. prerelease for the os and beta for the database. could possibly be issues there, maybe not. personally, I wouldn't use a host that does that. Maybe they have that because of a known security flaw in the current release version, who know, but I don't like it.

 

a customer of mine has a product database in the neighborhood of 10K of products, but only 670 categories. Runs fine on a mid-level server.

 

look at the cardinality of the categories table, how many cats do you have at this point?

Edited by surfalot
Link to comment
Share on other sites

Try this first, go into your includes/column_left.php and comment/remove the include for the categories.php. See if the page loads faster then. if so, the issue is the number of categories.

 

I'm not sure what you mean by this exactly. Do you want me to remove the "inlcude" from the following code:

 

include(DIR_WS_BOXES . 'categories.php');

}

 

I tried that and then get the following error: Unable to connect to database server!

 

Nevermind, I am getting that error anyway. Ugh. Off to yell at my host....

Edited by erikajune
Link to comment
Share on other sites

My host said the following:

 

Your site over-loaded our database server with hundreds of simultaneous connections earlier this week, so we had to limit you to only 4 simultaneous database connections. You'll need to find a way to optimize your software such that it doesn't use more than this many connections to the database.

 

Uh, what does that mean? Is that even possible?

Link to comment
Share on other sites

My host said the following:

 

Your site over-loaded our database server with hundreds of simultaneous connections earlier this week, so we had to limit you to only 4 simultaneous database connections. You'll need to find a way to optimize your software such that it doesn't use more than this many connections to the database.

 

Uh, what does that mean? Is that even possible?

let me guess, they require you to use an off-server database, or centralized database server. My bet would be on easypopulate as the reason they limited your account.

 

yes, osCommerce database access is quite insufficient. I would find a different host. Hosts that maintain the database server on the same box as your site would be best with how osCommerce uses it. cPanel hosts with localhost MySQL databases are my favorite. Try to find one that keeps a low customer to server ratio. You may pay a little more, but its worth it.

 

There are some that cater to osCommerce customers. Some will tell you that you can load an osCommerce site, but don't support it (don't use them). Some will tell you they support osCommerce, but some services you are required to use their custom code (like CURL access and SSL, ex: GoDaddy)(works, but causes hassles if you need to move). And still others, like your current, simply do things to your detriment, won't tell you they did so until you have banged your head against the wall till it bleeds then ask support why nothing works.

 

good luck, you may find everything will work out fine with a new host (hopefully).

Link to comment
Share on other sites

I would like to emphasize to anyone reading, remote databases like described above, will slow your site significantly. Those with more the 1000 products should avoid them at all cost. Those that use this contribution should see significant performance increase moving to a localhost database.

Link to comment
Share on other sites

Thank you for your help!

 

I've contacted the host to see if they can provide a localhost database - told them the database they provided was useless.

Link to comment
Share on other sites

My host replied:

 

The database server is on the local network. It's less than a millisecond away. We found databases hosted on web servers to be non-ideal, so we only provide dedicated database servers.

 

I'm not sure what they mean. Are they just trying to convince me otherwise?

Link to comment
Share on other sites

Must be the host. I installed a test site on my server (I am a reseller host) and uploaded all 11K + files and it loaded very quickly.

 

Ahhhhh. Now that I know what the actual problem is, I think I'll reconsider jumping off a bridge.

 

Thank you so much for all your help.

Link to comment
Share on other sites

My host replied:

 

The database server is on the local network. It's less than a millisecond away. We found databases hosted on web servers to be non-ideal, so we only provide dedicated database servers.

 

I'm not sure what they mean. Are they just trying to convince me otherwise?

yup, and that's a millisecond (or 2), multiplied across up to 50 and more individual queries per page load on the customer side. With EP it could be 20 or more queries per product. Then, of course, you need to add in your server's network load since the requests to the database go through all the network layers in the hardware and os in 2 machines only to be turned around in the same process then to be processed by PHP. On top of all that, these kind of hosts often overload the database servers with some high number of frontend servers. Often the queries themselves are slower then on a well managed combo machine.

Link to comment
Share on other sites

Who's next... :P

 

 

How to ask for help

-------------------

Gather information we need to help you:

 

1) Set EP_SHOW_EP_SETTINGS to true in the EP settings and then copy the

settings & server info that are displayed on the EP main page into your post.

2) Copy of any error message you are receiving.

3) Post a link to a sample of any upload file you are trying.

Please avoid posting the sample data since the forum may modify it.

4) The OS of your desktop computer (Windows, MAC, Linux).

5) Place all information in your post.

Link to comment
Share on other sites

Hi all,

 

I recently installed osCommerce for our site, and proceeded to install some contributions to assist us.

 

I installed EasyPopulate_v2_76g_MS2 and Product Extra Fields. I have been trying to get the two to play nice with each other, and in doing so used the updates recommended by Geoffrey Walton in EP_v2_76f_r1_MS2_Exta_Fields.

 

Here are my configurations:

EP vers: 2.76g-MS2

osCommerce Online Merchant v2.2 RC2a

OS:

HTTP: Apache/2.2.8 (Unix) PHP/5.2.6

DB: MySQL 5.0.41

PHP: 5.2.6 (Zend: 2.2.0)

 

Temp Directory:

/home/virtual/coolcavaracing.com/public_html/catalog/temp/

Temp Dir is Writable

Magic Quotes is: off

register_globals is: off

Split files on: 300 records

Model Num Size: 12

Price with tax: false

Calc Precision: 2

Replace quotes: false

Field seperator: comma

Excel safe output: true

Preserve tab/cr/lf: false

Category depth: 7

Enable attributes: true

SEF Froogle URLS: false

More Pics: false

Unknown Pics: false

HTC: false

SPPC: false

Extra Fields: true

 

Now onto my problems :)

 

Although I have done everything Geoffrey lists in his contribution, i still do not get the additional fields in my export?

Link to comment
Share on other sites

Don't think the export includes extra field but you can import.

 

My file looks like this

 

v_products_model,v_products_extra_fields_name,v_products_extra_fields_id,v_produ

cts_extra_fields_value,EOREOR

HD80,List Price,1,£1749.00,EOREOR

HD80,List Price,1,£1749.00,EOREOR

HD81,List Price,1,£2999.00,EOREOR

HD81,List Price,1,£2999.00,EOREOR

HD81L,List Price,1,£3499.00,EOREOR

UNIVERSALMOUNTWHITE,List Price,1,£510.00,EOREOR

HD3000,List Price,1,£999.00,EOREOR

CE32LM3WP-B,List Price,1,£1999.00,EOREOR

CE42WPX1,List Price,1,£2749.00,EOREOR

CE42LM4WPR-E,List Price,1,£4495.00,EOREOR

VOGVFW165/SI,Our Part No,2,VOGVFW165,EOREOR

 

Hope that helps

 

G

Need help installing add ons/contributions, cleaning a hacked site or a bespoke development, check my profile

 

Virus Threat Scanner

My Contributions

Basic install answers.

Click here for Contributions / Add Ons.

UK your site.

Site Move.

Basic design info.

 

For links mentioned in old answers that are no longer here follow this link Useful Threads.

 

If this post was useful, click the Like This button over there ======>>>>>.

Link to comment
Share on other sites

I'm trying to get the Date Available (date_avail) and Date Added (date_added) fields to keep the data in the existing table. When I add a product I set the date added and date available in the EP upload file and then upload the file to my catalog. Then when I upload updates to the catalog, the original date added and date available are over-written with the current date. I want EP to ignore the current date and use the dates already in the catalog and only use the current date when I'm adding a new item or when the catalog item doesn't have a date in the date added or date available fields.

 

I've added...

$default_these[] = 'v_date_avail';
$default_these[] = 'v_date_added';

 

to the Defaulted items code...

// these are the fields that will be defaulted to the current values in
// the database if they are not found in the incoming file
$default_these = array();
foreach ($languages as $key => $lang){
 $default_these[] = 'v_products_name_' . $lang['id'];
 $default_these[] = 'v_products_description_' . $lang['id'];
 $default_these[] = 'v_products_url_' . $lang['id'];
 if (EP_HTC_SUPPORT == true) {
$default_these[] = 'v_products_head_title_tag_' . $lang['id'];
$default_these[] = 'v_products_head_desc_tag_' . $lang['id'];
$default_these[] = 'v_products_head_keywords_tag_' . $lang['id'];
 }
}
$default_these[] = 'v_products_image';
if (EP_MORE_PICS_6_SUPPORT == true) {
 $default_these[] = 'v_products_subimage1';
 $default_these[] = 'v_products_subimage2';
 $default_these[] = 'v_products_subimage3';
 $default_these[] = 'v_products_subimage4';
 $default_these[] = 'v_products_subimage5';
 $default_these[] = 'v_products_subimage6';
}
if (EP_UNKNOWN_ADD_IMAGES_SUPPORT == true) {
 $default_these[] = 'v_products_mimage';
 $default_these[] = 'v_products_bimage';
 $default_these[] = 'v_products_subimage1';
 $default_these[] = 'v_products_bsubimage1';
 $default_these[] = 'v_products_subimage2';
 $default_these[] = 'v_products_bsubimage2';
 $default_these[] = 'v_products_subimage3';
 $default_these[] = 'v_products_bsubimage3';
}
$default_these[] = 'v_categories_id';
$default_these[] = 'v_products_price';
$default_these[] = 'v_products_quantity';
$default_these[] = 'v_products_weight';
$default_these[] = 'v_status_current';
$default_these[] = 'v_date_avail';
$default_these[] = 'v_date_added';
$default_these[] = 'v_tax_class_title';
$default_these[] = 'v_manufacturers_name';
$default_these[] = 'v_manufacturers_id';

// Additional fields
$default_these[] = 'v_products_price_list';
$default_these[] = 'v_vendors_product_price';
$default_these[] = 'v_vendors_id';
$default_these[] = 'v_vendors_prod_comments';
$default_these[] = 'v_vendors_prod_id';
$default_these[] = 'v_products_ship_price';
$default_these[] = 'v_products_discount1';
$default_these[] = 'v_products_discount2';
$default_these[] = 'v_products_discount3';
$default_these[] = 'v_products_discount1_qty';
$default_these[] = 'v_products_discount2_qty';
$default_these[] = 'v_products_discount3_qty';
$default_these[] = 'v_products_discount_percentage';
// End Added fields

 

But this doesn't seem to work. What else do I need to do to get the date_added and date_avail to keep the original values?

 

Thanks,

Rick Knight

 

P.S Sorry for the double post, I originally posted posted to the general thread.

Link to comment
Share on other sites

Hi All,

 

I have more than 5000 articles to go live in my website, however some articles fit more than one application.

 

Let me show you an example.

 

Partnr 001Motormount

 

fits car, Honda EK9 but also Honda DC2.. So, i want to upload this part once, but have it listed in two or even three categories (Honda -> EK9 -> Engine, but also Honda -> DC2 -> Engine AND also perhaps in BRANDNAME -> Engine -> Honda and so on.)

 

How is it possible, or is it even possible to get this uploaded? I use easypopulate for this.

 

Using v_categories_name_2_1 with EK9, DC2 in one row won't work.

 

Please help me out!

 

Thanks a million!

Link to comment
Share on other sites

I'm trying to get the Date Available (date_avail) and Date Added (date_added) fields to keep the data in the existing table. When I add a product I set the date added and date available in the EP upload file and then upload the file to my catalog. Then when I upload updates to the catalog, the original date added and date available are over-written with the current date. I want EP to ignore the current date and use the dates already in the catalog and only use the current date when I'm adding a new item or when the catalog item doesn't have a date in the date added or date available fields.

 

I've added...

$default_these[] = 'v_date_avail';
$default_these[] = 'v_date_added';

 

But this doesn't seem to work. What else do I need to do to get the date_added and date_avail to keep the original values?

curious that. all date related issues should have been fixed in v2.76e r1. Try version 2.76g. Works for me. Dates are not updated when the columns are excluded from the import.

Link to comment
Share on other sites

curious that. all date related issues should have been fixed in v2.76e r1. Try version 2.76g. Works for me. Dates are not updated when the columns are excluded from the import.

Thanks for the reply Surfalot,

 

I'm using 2.76f-MS2-r1, I'll try 2.76g.

Dates are not updated when the columns are excluded from the import.

What behaviour should I get when the column is included but empty? That seems to be where I'm having problems.

 

Thanks again,

Rick Knight

Link to comment
Share on other sites

I have more than 5000 articles to go live in my website, however some articles fit more than one application.

 

Using v_categories_name_2_1 with EK9, DC2 in one row won't work.

you can add the item to multiple categories by duplicating the item row and changing the category.

Link to comment
Share on other sites

I'm using 2.76f-MS2-r1, I'll try 2.76g.

What behaviour should I get when the column is included but empty? That seems to be where I'm having problems.

date added will be updated to current date, date available will be blanked.

 

There is a small fix in the last couple pages to this since the v2.76g code blanks date available to zeros, but should be NULL.

 

by default, every field in an included column must be filled with the value you want. Missing data (blank field) never means "leave it the same it was". Then with the Date Added field the decision made later is to make any blank date added to the current date since it is assumed if it is blank, its a new product.

 

So under assumed normal operation, I'd say the code is doing what it is suppose to do.

 

but if we were to add the feature to keep the old date in this circumstance, this would be the change.

change this...

			foreach( $filelayout as $key => $value ){
			 $key = $items[ $value ];
		 }

 

to...

			foreach( $filelayout as $key => $value ){
			 if (!($key == 'v_date_added' && empty($items[ $value ]))) {
				  $key = $items[ $value ];
			 }
		 }

Edited by surfalot
Link to comment
Share on other sites

So under assumed normal operation, I'd say the code is doing what it is suppose to do.

 

but if we were to add the feature to keep the old date in this circumstance, this would be the change.

change this...

			foreach( $filelayout as $key => $value ){
			 $key = $items[ $value ];
		 }

 

to...

			foreach( $filelayout as $key => $value ){
			 if (!($key == 'v_date_added' && empty($items[ $value ]))) {
				  $key = $items[ $value ];
			 }
		 }

Surfalot,

 

Thanks, I have a bunch of updates ready to upload so I'll add that today and give it a try.

 

Thanks,

Rick Knight

Link to comment
Share on other sites

I installed a different product attributes contribution which is called "Product Attributes - Option Type Feature" back in 2005. Due to the increased number of products, I wish to add the Easy Populate to my current store. But I am not so confident if it will work for me. Also I noticed that Easy Populate itself has Product Attributes as one of its features. So here are things I am not sure:

 

1. Do I have to remove my current product attributes contribution "Product Attributes - Option Type Feature" to install "Easy Populate & Products Attributes"?

 

2. There are too many versions of "Easy Populate & Products Attributes" available. Which version is good?

 

3. My store also has the "additional images" contributes installed on 2004. Do I need to remove it to install "Easy Populate & Products Attributes"?

 

Thanks a lot.

 

Bo

Link to comment
Share on other sites

but if we were to add the feature to keep the old date in this circumstance, this would be the change.

change this...

			foreach( $filelayout as $key => $value ){
			 $key = $items[ $value ];
		 }

 

to...

			foreach( $filelayout as $key => $value ){
			 if (!($key == 'v_date_added' && empty($items[ $value ]))) {
				  $key = $items[ $value ];
			 }
		 }

Surfalot,

 

This did the trick. Also, I assume that I can do the same with other fields by just adding "if" statements?

 

Thanks again,

Rick Knight

Link to comment
Share on other sites

I installed a different product attributes contribution which is called "Product Attributes - Option Type Feature" back in 2005. Due to the increased number of products, I wish to add the Easy Populate to my current store. But I am not so confident if it will work for me. Also I noticed that Easy Populate itself has Product Attributes as one of its features. So here are things I am not sure:

 

1. Do I have to remove my current product attributes contribution "Product Attributes - Option Type Feature" to install "Easy Populate & Products Attributes"?

 

2. There are too many versions of "Easy Populate & Products Attributes" available. Which version is good?

 

3. My store also has the "additional images" contributes installed on 2004. Do I need to remove it to install "Easy Populate & Products Attributes"?

 

Thanks a lot.

 

Bo

1. no, but there is no guarantee as to whether EP will work for the specific attributes contribution you have installed. If the contribution only changes the way you enter the attributes, that is, make is easier, but does not change the way attributes work in the database, then there won't be a problem. If you are looking for an easier way to manage your attributes and though EP would help, you in for a disappointment. It works well to move products from store to store, but the columns EP creates with the attributes are confusing and convoluted.

 

2. start with v2.76g. if is the most fixed version that functions well with the base osC shop.

 

3. no, but it will not support the additional images.

Link to comment
Share on other sites

This did the trick. Also, I assume that I can do the same with other fields by just adding "if" statements?

 

if you understand what was done, knock yourself out. just understand any fields added to this mod will never be able to be blanked.

Link to comment
Share on other sites

G'Day Todd

 

I have fumbled through getting answers from the forum through "search", but would like to know if the following is possible

 

Can EP have Price Breaks and Product Attributes?

 

I have been using EP 2.75-MS2 with Price Breaks with great success.

 

I have been playing with EP2.76g-MS2 but seem to be going around in circles

 

ie I don't know what I'm doing

 

Any help would be appreciated

 

Ray

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...