Jump to content
Sign in to follow this  
toasty

Attribute Sets Plus

Recommended Posts

HI,

 

I tried to install the Attribute sets but now everytime I try to insert an attribute, wether it be through the OSCommerce attribute or the Attribute Sets it gives me this error:

 

1366 - Incorrect integer value: '' for column 'products_attributes_id' at row 1

 

insert into products_attributes values ('', '37', '5', '25', '4', '+')

 

[TEP STOP]

This is only my 2nd addition to osCommerce so maybe I did something wrong?

 

Look at: http://svn.oscommerce.com/jira/browse/OSC-335

 

I had this exact problem and the fix listed in this post solved the problem...

Share this post


Link to post
Share on other sites

Hi, I installed this contrib rather easily. However I ran into this issue, when I go to edit a product, everything below the manufacturers box is gone! The whole rest of the page is blank. The code that is causing that is this piece:

 

******** 7.4a: Change this (approximately line 600 (~493 in osC's original code) - look for TEXT_PRODUCTS_MANUFACTURER to make sure you have the right location):

	  <tr>
		<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
	  </tr>
	  <tr>
		<td class="main"><?php echo TEXT_PRODUCTS_MANUFACTURER; ?></td>
		<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_pull_down_menu('manufacturers_id', $manufacturers_array, $pInfo->manufacturers_id); ?></td>
	  </tr>
	  <tr>
		<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
	  </tr>
<?php
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
?>



******** 7.4b: To this:


	  <tr>
		<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
	  </tr>
	  <tr>
		<td class="main"><?php echo TEXT_PRODUCTS_MANUFACTURER; ?></td>
		<td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ' . tep_draw_pull_down_menu('manufacturers_id', $manufacturers_array, $pInfo->manufacturers_id); ?></td>
	  </tr>
	  <tr>
		<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
	  </tr>
<?php // >>>> BOF Linkmatics attributes sets plus edit (4 of 5) - building list of Attribute Sets Used - Begin ?>
<?php
if( empty($pInfo->products_id) ){

	$iteration = 0;

}else{

		$getOptionsCount_query = tep_db_query('SELECT count(
		DISTINCT  products_attributes_sets_id ) as count
		FROM  '. TABLE_PRODUCTS_ATTRIBUTES_SETS_TO_PRODUCTS .'
		WHERE  `products_id`  ='.$pInfo->products_id);

	$arr_getOptionsCount = tep_db_fetch_array($getOptionsCount_query);
	$arr_pas_id = jjg_db_getAttributeSetId($pInfo->products_id);
	if( !empty($arr_pas_id) ){
		$iteration = $arr_getOptionsCount['count'];

	}
}

for($i=0; $i <= $iteration; $i++){
?>
	  <tr>
		<td class="main">
		<?php
			if( isset($_GET['pID']) ){
				if( $i == $iteration  ){
					echo "Add An " . TEXT_PRODUCTS_ATTRIBUTES_SET;
				}else{
					echo "Using " . TEXT_PRODUCTS_ATTRIBUTES_SET;
				}
			}

		?>
		</td>
		<td class="main">
			<?php
			if(isset($_GET['pID']) ){
				if( $i == $iteration ){
					echo tep_draw_separator('pixel_trans.gif', '30', '1').
					'<a href="' . tep_href_link(
					FILENAME_PRODUCTS_ATTRIBUTES_SETS_EDIT, 'pID='.$_GET['pID']) .
					'" >'. tep_image_button('button_add_as.gif',
					'[Click To Add And A.S.]' )  .'</a>';
				}else{
					echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ';
					echo $attribute_sets_names_array[$arr_pas_id[$i]];
					echo tep_draw_separator('pixel_trans.gif', '24', '15');
					echo tep_draw_checkbox_field('remove_products_attributes_sets_id_'.$i);
					echo "<font size=-3>(Remove Set)</font>";
					echo tep_draw_hidden_field('products_attributes_sets_id_'.$i,
					$arr_pas_id[$i]);
				}
			}
		?>

		</td>
	  </tr>
<?php
}
?>
	  <tr>
		<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?>
		<?php echo tep_draw_hidden_field('AttributeSetCount', $arr_getOptionsCount['count']+1); ?>
		</td>
	  </tr>
<?php // >>>> EOF Linkmatics attributes sets plus edit (4 of 5) -  building list of Attribute Sets Used - End ?>
<?php
for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
?>

 

Is there anyone out there that can help me?

Share this post


Link to post
Share on other sites
Hi, I installed this contrib rather easily. However I ran into this issue, when I go to edit a product, everything below the manufacturers box is gone! The whole rest of the page is blank.

Is there anyone out there that can help me?

 

Hi

 

I would suggest you go to the backup version of that file and start again with the edits. If you do it correctly it will work.

 

regards

 

Chris.

Share this post


Link to post
Share on other sites

thanks for the quick reply Chris. I did that already. I used a fresh clean copy of categories.php and installed it, and the same thing happened. I am using the latest version of osC, would that be an issue?

Share this post


Link to post
Share on other sites
thanks for the quick reply Chris. I did that already. I used a fresh clean copy of categories.php and installed it, and the same thing happened. I am using the latest version of osC, would that be an issue?

 

There is little to go on here. I have not tried newer releases of osC so I can't comment on that (maybe the release notices may help you on that one). If it is that then you are the first to have reported this issue. ALthernatively are you using any other contribs that may be conflicting?

It does sound like a strange display issue - are you running a windows or unix server? You are using correct editor for unix [if that is your server environment]? - just a thought.

 

Beyond that I can't help I'm afraid.

regards

Chris.

Share this post


Link to post
Share on other sites

Thanks for your help Chris. It was the most incredibly n00bish mistake on my part. I been installing these different addons to osC for a couple years now, and I just realized :P that I had forgotten to upload the updated functions/database.php file. Sheesh, you think I would have learned by now! Its working like a charm! thanks mate!

Share this post


Link to post
Share on other sites
....and I just realized :P that I had forgotten to upload the updated functions/database.php file. Sheesh, you think I would have learned by now! Its working like a charm! thanks mate!

 

no worries - we all do it.

enjoy!

Share this post


Link to post
Share on other sites

I'm having 2 problems:

 

1. I can add more atributes to a SET, if i have to do it, i DO have to create a new set, :(

 

2. The sort order doesn't work for me ether ... does anyone have a solution for it ?

 

Here is my product_info:

 

// BOF Linkmatics attributes sets plus								  

	  $products_options_query = tep_db_query("

	  SELECT pov.products_options_values_id, pov.products_options_values_name, 

		   pa.options_values_price, pa.price_prefix , pase.sort_order

		  FROM " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . 

				TABLE_PRODUCTS_ATTRIBUTES_SETS_TO_PRODUCTS . " pas2pa, " . 

				TABLE_PRODUCTS_ATTRIBUTES_SETS . " pas, " .

				TABLE_PRODUCTS_ATTRIBUTES_SETS_ELEMENTS . " pase, " .

				TABLE_PRODUCTS_OPTIONS_VALUES . " pov

				WHERE	  pa.products_id = '" . (int)$_GET['products_id'] . "'		   

			AND pa.options_id = '" . $products_options_name['products_options_id'] . "'

			AND pas2pa.products_id = pa.products_id

			AND pas.products_attributes_sets_id = pas2pa.products_attributes_sets_id

			AND pas.products_options_id = pa.options_id

			AND pase.products_attributes_sets_id = pas.products_attributes_sets_id

			AND pase.options_values_id = pa.options_values_id

			AND pov.products_options_values_id = pa.options_values_id

			AND pov.language_id = '" . $languages_id . "'

			ORDER BY pase.sort_order, pa.options_values_id"); 

				 // >>>>> BOF Linkmatics attributes sets plus patch v1.01

	   if (tep_db_num_rows($products_options_query)== 0 ) {

				   $products_options_query = tep_db_query("

		   SELECT pov.products_options_values_id, pov.products_options_values_name,

				  pa.options_values_price, pa.price_prefix , pa.options_values_id

			 FROM " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " .

					  TABLE_PRODUCTS_OPTIONS_VALUES . " pov

			 WHERE pa.products_id = '" . (int)$_GET['products_id'] . "'

			   AND pa.options_id = '" . $products_options_name['products_options_id'] . "'

			   AND pov.products_options_values_id = pa.options_values_id

			   AND pov.language_id = '" . $languages_id . "'

			 ORDER BY pa.options_values_id");

	   }

	  // <<<<< EOF Linkmatics attributes sets plus patch v1.01	  

	  // EOF Linkmatics attributes sets plus

Share this post


Link to post
Share on other sites

The sort order issue is intermittent and only occurs with some systems. I have never received any indication of what causes it and I cannot therefore solve it.

The good news is (although this does not help much) this does not effect the working of ASP - only the display in the shop.

You may be able to use another contrib?

regards

Chris.

Share this post


Link to post
Share on other sites

Hi Darkman69'

 

How about Lightman - sounds less dodgy!

 

1. I can add more atributes to a SET, if i have to do it, i DO have to create a new set, :(

 

Please see this page for supplemental support information about this issue: http://portallink.linkmatics.com/aspscreenshots icon10.gif

 

2. The sort order doesn't work for me ether ... does anyone have a solution for it ?

See my above response. No change I'm afraid.

Share this post


Link to post
Share on other sites

Hello,

 

So, I just installed the Attribute Sets Plus for osCommerce 2.2 MS2 contribution and after 2 hours, it doesn't work.

 

 

When logged into my ADMIN I get this message...

 

Attribute Sets

 

1146 - Table 'damefata_store.products_attributes_sets' doesn't exist

 

select products_attributes_sets_id, products_attributes_sets_name from products_attributes_sets where 1 order by products_attributes_sets_name

 

[TEP STOP]

 

 

and now when I try to access my store which is for instance, www.mysite.com/catalog I get this message...

 

Fatal error: Call to a member function add_current_page() on a non-object in /home2/damefata/public_html/catalog/includes/application_top.php on line 312

 

 

 

Can anyone please tell me what this means and how to go about looking where I need to fix any errors I may have entered or installed incorrectly?

 

Any help will be greatly appreciated as this contribution will really come in handy with the many shoe sizes I need to add to each of my products in my store.

 

Thank you,

~Annissë

Share this post


Link to post
Share on other sites

Thanks toasty for the heads up on enlarging the sets after they are created. The sort order is only a minor issue, as long as you create the atributes in a set order all is fine. Fantastic contribution!

Share this post


Link to post
Share on other sites

OK so my store will load now but I am still getting errors:

 

in the ADMIN page I am getting this error under CATALOG - Attributes Sets...

 

Attribute Sets

 

1146 - Table 'damefata_store.products_attributes_sets' doesn't exist

 

select products_attributes_sets_id, products_attributes_sets_name from products_attributes_sets where 1 order by products_attributes_sets_name

 

[TEP STOP]

 

 

 

and in one store, my products for example now have this where their products options should be (which is shoe sizes):

 

1146 - Table 'damefata_store.products_attributes_sets_to_products' doesn't exist

 

SELECT pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix , pase.sort_order FROM products_attributes pa, products_attributes_sets_to_products pas2pa, products_attributes_sets pas, products_attributes_sets_elements pase, products_options_values pov WHERE pa.products_id = '78' AND pa.options_id = '2' AND pas2pa.products_id = pa.products_id AND pas.products_attributes_sets_id = pas2pa.products_attributes_sets_id AND pas.products_options_id = pa.options_id AND pase.products_attributes_sets_id = pas.products_attributes_sets_id AND pase.options_values_id = pa.options_values_id AND pov.products_options_values_id = pa.options_values_id AND pov.language_id = '1' ORDER BY pase.sort_order, pa.options_values_id

 

[TEP STOP]

 

 

Can someone please give me some direction how to correct this issue?

 

Thank you,

~Annissë

Share this post


Link to post
Share on other sites

Finally fixed everything with my Attribute Sets Plus for osCommerce 2.2 MS2 contribution install. Just had to add the tables to the database, that corrected the problems.

 

Your contribution is fantastic toasty, you are brilliant! I think your contribution should be added to a new version of the OSCommerce files ZIP download. Everyone would benefit from this and would save hours of time, for novices like myself, that have no idea what they are doing for installing your contribution. Life is gonna be so much more easier now loading my hundreds of products with their individual sizes.

 

I am still coming up with these errors though in the ADMIN - Configuration drop down menu. When I go into Configuration I get this error message. Any ideas, how this can be corrected? Thanks so much!!! :thumbsup:

 

 

Fatal error: Cannot redeclare do_magic_quotes_gpc() (previously declared in /home2/mysite/public_html/catalog/admin/includes/functions/compatibility.php:18) in /home2/mysite/public_html/catalog/admin/includes/functions/compatibility.php on line 30

Edited by Annisse

Share this post


Link to post
Share on other sites

Hi there,

 

I'm having a few speed issues with this contribution and I wondered if anyone could help?

 

product_info.php takes about 5 seconds to load and it seems to be a few queries relating to this this contribution which are slowing thigs up, queries 24,25,26,27,20 and 31

 

Here is my debug log, has anyone got any ideas on how I could speed this up?

 

thanks

 

Dave

 

QUERY DEBUG: 
Array
(
[QUERIES] => Array
	(
		[0] => select configuration_key as cfgKey, configuration_value as cfgValue from configuration
		[1] => select value from sessions where sesskey = 'c6f31da63f2b9e6403bd357df177edca' and expiry > '1201732783'
		[2] => select code, title, symbol_left, symbol_right, decimal_point, thousands_point, decimal_places, value from currencies
		[3] => DELETE FROM cache WHERE cache_expires <= '2008-01-30 10:39:43'
		[4] => delete from whos_online where time_last_click < '1201731883'
		[5] => select count(*) as count from whos_online where session_id = 'c6f31da63f2b9e6403bd357df177edca'
		[6] => update whos_online set customer_id = '0', full_name = 'Guest', ip_address = '81.86.64.126', time_last_click = '1201732783', last_page_url = '/sxlites-series-honda-backgrounds-p-115.html?output=1' where session_id = 'c6f31da63f2b9e6403bd357df177edca'
		[7] => select specials_id from specials where status = '1' and now() >= expires_date and expires_date > 0
		[8] => select featured_id from featured where status = '1' and now() >= expires_date and expires_date > 0
		[9] => select p2c.categories_id from products p, products_to_categories p2c where p.products_id = '115' and p.products_status = '1' and p.products_id = p2c.products_id limit 1
		[10] => select parent_id from categories where categories_id = '102'
		[11] => select parent_id from categories where categories_id = '94'
		[12] => select categories_name from categories_description where categories_id = '94' and language_id = '1'
		[13] => select categories_name from categories_description where categories_id = '102' and language_id = '1'
		[14] => select products_name from products_description where products_id = '115'
		[15] => select count(*) as total from products p, products_description pd where p.products_status = '1' and p.products_id = '115' and pd.products_id = p.products_id and pd.language_id = '1'
		[16] => select pd.language_id, p.products_id, pd.products_name, pd.products_description, pd.products_head_title_tag, pd.products_head_keywords_tag, pd.products_head_desc_tag, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from products p, products_description pd where p.products_id = '115' and pd.products_id = '115' and pd.language_id ='1'
		[17] => select c.categories_id, cd.categories_name, c.parent_id from categories c, categories_description cd where c.categories_id = cd.categories_id and cd.language_id="1" AND (c.parent_id = "0" OR c.parent_id = "94" OR c.parent_id = "102")order by sort_order, cd.categories_name
		[18] => select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_weight, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from products p, products_description pd where p.products_status = '1' and p.products_id = '115' and pd.products_id = p.products_id and pd.language_id = '1'
		[19] => update products_description set products_viewed = products_viewed+1 where products_id = '115' and language_id = '1'
		[20] => select specials_new_products_price from specials where products_id = '115' and status
		[21] => select sum(tax_rate) as tax_rate from tax_rates tr left join zones_to_geo_zones za on (tr.tax_zone_id = za.geo_zone_id) left join geo_zones tz on (tz.geo_zone_id = tr.tax_zone_id) where (za.zone_country_id is null or za.zone_country_id = '0' or za.zone_country_id = '222') and (za.zone_id is null or za.zone_id = '0' or za.zone_id = '0') and tr.tax_class_id = '1' group by tr.tax_priority
		[22] => select count(*) as total from products_options popt, products_attributes patrib where patrib.products_id='115' and patrib.options_id = popt.products_options_id and popt.language_id = '1'
		[23] => select distinct popt.products_options_id, popt.products_options_name, popt.products_options_type, popt.products_options_length, popt.products_options_comment from products_options popt, products_attributes patrib where patrib.products_id='115' and patrib.options_id = popt.products_options_id and popt.language_id = '1' order by popt.products_options_name
		[24] => 
	  SELECT pov.products_options_values_id, pov.products_options_values_name, 
		   pa.options_values_price, pa.price_prefix , pase.sort_order
		  FROM products_attributes pa, products_attributes_sets_to_products pas2pa, products_attributes_sets pas, products_attributes_sets_elements pase, products_options_values pov
				WHERE	  pa.products_id = '115'		   
			AND pa.options_id = '3'
			AND pas2pa.products_id = pa.products_id
			AND pas.products_attributes_sets_id = pas2pa.products_attributes_sets_id
			AND pas.products_options_id = pa.options_id
			AND pase.products_attributes_sets_id = pas.products_attributes_sets_id
			AND pase.options_values_id = pa.options_values_id
			AND pov.products_options_values_id = pa.options_values_id
			AND pov.language_id = '1'
			ORDER BY pase.sort_order, pa.options_values_id
		[25] => 
	  SELECT pov.products_options_values_id, pov.products_options_values_name, 
		   pa.options_values_price, pa.price_prefix , pase.sort_order
		  FROM products_attributes pa, products_attributes_sets_to_products pas2pa, products_attributes_sets pas, products_attributes_sets_elements pase, products_options_values pov
				WHERE	  pa.products_id = '115'		   
			AND pa.options_id = '18'
			AND pas2pa.products_id = pa.products_id
			AND pas.products_attributes_sets_id = pas2pa.products_attributes_sets_id
			AND pas.products_options_id = pa.options_id
			AND pase.products_attributes_sets_id = pas.products_attributes_sets_id
			AND pase.options_values_id = pa.options_values_id
			AND pov.products_options_values_id = pa.options_values_id
			AND pov.language_id = '1'
			ORDER BY pase.sort_order, pa.options_values_id
		[26] => 
	  SELECT pov.products_options_values_id, pov.products_options_values_name, 
		   pa.options_values_price, pa.price_prefix , pase.sort_order
		  FROM products_attributes pa, products_attributes_sets_to_products pas2pa, products_attributes_sets pas, products_attributes_sets_elements pase, products_options_values pov
				WHERE	  pa.products_id = '115'		   
			AND pa.options_id = '13'
			AND pas2pa.products_id = pa.products_id
			AND pas.products_attributes_sets_id = pas2pa.products_attributes_sets_id
			AND pas.products_options_id = pa.options_id
			AND pase.products_attributes_sets_id = pas.products_attributes_sets_id
			AND pase.options_values_id = pa.options_values_id
			AND pov.products_options_values_id = pa.options_values_id
			AND pov.language_id = '1'
			ORDER BY pase.sort_order, pa.options_values_id
		[27] => 
	  SELECT pov.products_options_values_id, pov.products_options_values_name, 
		   pa.options_values_price, pa.price_prefix , pase.sort_order
		  FROM products_attributes pa, products_attributes_sets_to_products pas2pa, products_attributes_sets pas, products_attributes_sets_elements pase, products_options_values pov
				WHERE	  pa.products_id = '115'		   
			AND pa.options_id = '7'
			AND pas2pa.products_id = pa.products_id
			AND pas.products_attributes_sets_id = pas2pa.products_attributes_sets_id
			AND pas.products_options_id = pa.options_id
			AND pase.products_attributes_sets_id = pas.products_attributes_sets_id
			AND pase.options_values_id = pa.options_values_id
			AND pov.products_options_values_id = pa.options_values_id
			AND pov.language_id = '1'
			ORDER BY pase.sort_order, pa.options_values_id
		[28] => select distinct patrib.options_values_price, patrib.price_prefix from products_attributes patrib where patrib.products_id='115' and patrib.options_id = '19'
		[29] => select distinct patrib.options_values_price, patrib.price_prefix from products_attributes patrib where patrib.products_id='115' and patrib.options_id = '20'
		[30] => 
	  SELECT pov.products_options_values_id, pov.products_options_values_name, 
		   pa.options_values_price, pa.price_prefix , pase.sort_order
		  FROM products_attributes pa, products_attributes_sets_to_products pas2pa, products_attributes_sets pas, products_attributes_sets_elements pase, products_options_values pov
				WHERE	  pa.products_id = '115'		   
			AND pa.options_id = '16'
			AND pas2pa.products_id = pa.products_id
			AND pas.products_attributes_sets_id = pas2pa.products_attributes_sets_id
			AND pas.products_options_id = pa.options_id
			AND pase.products_attributes_sets_id = pas.products_attributes_sets_id
			AND pase.options_values_id = pa.options_values_id
			AND pov.products_options_values_id = pa.options_values_id
			AND pov.language_id = '1'
			ORDER BY pase.sort_order, pa.options_values_id
		[31] => 
	  SELECT pov.products_options_values_id, pov.products_options_values_name, 
		   pa.options_values_price, pa.price_prefix , pase.sort_order
		  FROM products_attributes pa, products_attributes_sets_to_products pas2pa, products_attributes_sets pas, products_attributes_sets_elements pase, products_options_values pov
				WHERE	  pa.products_id = '115'		   
			AND pa.options_id = '15'
			AND pas2pa.products_id = pa.products_id
			AND pas.products_attributes_sets_id = pas2pa.products_attributes_sets_id
			AND pas.products_options_id = pa.options_id
			AND pase.products_attributes_sets_id = pas.products_attributes_sets_id
			AND pase.options_values_id = pa.options_values_id
			AND pov.products_options_values_id = pa.options_values_id
			AND pov.language_id = '1'
			ORDER BY pase.sort_order, pa.options_values_id
		[32] => select distinct patrib.options_values_price, patrib.price_prefix from products_attributes patrib where patrib.products_id='115' and patrib.options_id = '2'
		[33] => 
	  SELECT pov.products_options_values_id, pov.products_options_values_name, 
		   pa.options_values_price, pa.price_prefix , pase.sort_order
		  FROM products_attributes pa, products_attributes_sets_to_products pas2pa, products_attributes_sets pas, products_attributes_sets_elements pase, products_options_values pov
				WHERE	  pa.products_id = '115'		   
			AND pa.options_id = '17'
			AND pas2pa.products_id = pa.products_id
			AND pas.products_attributes_sets_id = pas2pa.products_attributes_sets_id
			AND pas.products_options_id = pa.options_id
			AND pase.products_attributes_sets_id = pas.products_attributes_sets_id
			AND pase.options_values_id = pa.options_values_id
			AND pov.products_options_values_id = pa.options_values_id
			AND pov.language_id = '1'
			ORDER BY pase.sort_order, pa.options_values_id
		[34] => select count(*) as count from reviews where products_id = '115'
		[35] => select r.reviews_id, r.customers_name, r.date_added, rd.reviews_text, r.reviews_rating FROM reviews r, reviews_description rd WHERE r.reviews_id = rd.reviews_id AND r.products_id = '115' AND rd.languages_id = '1' and r.approved = '1' ORDER BY r.date_added DESC LIMIT 5
		[36] => select p.products_id, p.products_image from orders_products opa, orders_products opb, orders o, products p where opa.products_id = '115' and opa.orders_id = opb.orders_id and opb.products_id != '115' and opb.products_id = p.products_id and opb.orders_id = o.orders_id and p.products_status = '1' group by p.products_id order by o.date_purchased desc limit 6
		[37] => select count(*) as total from sessions where sesskey = 'c6f31da63f2b9e6403bd357df177edca'
		[38] => update sessions set expiry = '1201734228', value = 'cart|O:12:\"shoppingcart\":5:{s:8:\"contents\";a:0:{}s:5:\"total\";i:0;s:6:\"weight\";i:0;s:6:\"cartID\";N;s:12:\"content_type\";b:0;}language|s:7:\"english\";languages_id|s:1:\"1\";currency|s:3:\"GBP\";navigation|O:17:\"navigationhistory\":2:{s:4:\"path\";a:4:{i:0;a:4:{s:4:\"page\";s:9:\"index.php\";s:4:\"mode\";s:6:\"NONSSL\";s:3:\"get\";a:0:{}s:4:\"post\";a:0:{}}i:1;a:4:{s:4:\"page\";s:9:\"index.php\";s:4:\"mode\";s:6:\"NONSSL\";s:3:\"get\";a:1:{s:5:\"cPath\";s:2:\"94\";}s:4:\"post\";a:0:{}}i:2;a:4:{s:4:\"page\";s:9:\"index.php\";s:4:\"mode\";s:6:\"NONSSL\";s:3:\"get\";a:1:{s:5:\"cPath\";s:6:\"94_102\";}s:4:\"post\";a:0:{}}i:3;a:4:{s:4:\"page\";s:16:\"product_info.php\";s:4:\"mode\";s:6:\"NONSSL\";s:3:\"get\";a:2:{s:11:\"products_id\";s:3:\"115\";s:6:\"output\";s:1:\"1\";}s:4:\"post\";a:0:{}}}s:8:\"snapshot\";a:0:{}}referral_id|s:0:\"\";' where sesskey = 'c6f31da63f2b9e6403bd357df177edca'
	)

[TIME] => Array
	(
		[0] => 0.002639
		[1] => 0.000217
		[2] => 0.000222
		[3] => 0.000110
		[4] => 0.000201
		[5] => 0.000197
		[6] => 0.000595
		[7] => 0.000149
		[8] => 0.000151
		[9] => 0.000182
		[10] => 0.000139
		[11] => 0.000121
		[12] => 0.000157
		[13] => 0.000138
		[14] => 0.000171
		[15] => 0.000185
		[16] => 0.000300
		[17] => 0.000595
		[18] => 0.000329
		[19] => 0.000192
		[20] => 0.000116
		[21] => 0.000247
		[22] => 0.000747
		[23] => 0.001183
		[24] => 0.702038
		[25] => 0.690427
		[26] => 0.694649
		[27] => 0.714184
		[28] => 0.000759
		[29] => 0.000704
		[30] => 0.695446
		[31] => 0.688231
		[32] => 0.000743
		[33] => 0.697950
		[34] => 0.000163
		[35] => 0.000187
		[36] => 0.000396
		[37] => 0.000153
		[38] => 0.000213
	)

)


--------------------------------------------------------------------------------
SESSION: 
Array
(
[cart] => shoppingcart Object
	(
		[contents] => Array
			(
			)

		[total] => 0
		[weight] => 0
		[cartID] => 
		[content_type] => 
	)

[language] => english
[languages_id] => 1
[currency] => GBP
[navigation] => navigationhistory Object
	(
		[path] => Array
			(
				[0] => Array
					(
						

 => index.php
						[mode] => NONSSL
						[get] => Array
							(
							)

						[post] => Array
							(
							)

					)

				[1] => Array
					(
						

 => index.php
						[mode] => NONSSL
						[get] => Array
							(
								[cPath] => 94
							)

						[post] => Array
							(
							)

					)

				[2] => Array
					(
						

 => index.php
						[mode] => NONSSL
						[get] => Array
							(
								[cPath] => 94_102
							)

						[post] => Array
							(
							)

					)

				[3] => Array
					(
						

 => product_info.php
						[mode] => NONSSL
						[get] => Array
							(
								[products_id] => 115
								[output] => 1
							)

						[post] => Array
							(
							)

					)

			)

		[snapshot] => Array
			(
			)

	)

[referral_id] => 
[output] => 1
)


--------------------------------------------------------------------------------
COOKIE: 
Array
(
[osCsid] => c6f31da63f2b9e6403bd357df177edca
)

POST: 
Array
(
)


--------------------------------------------------------------------------------
GET: 
Array
(
[products_id] => 115
[output] => 1
)

Edited by stubbsy

Share this post


Link to post
Share on other sites
Hi there,

 

I'm having a few speed issues with this contribution and I wondered if anyone could help?

 

product_info.php takes about 5 seconds to load and it seems to be a few queries relating to this this contribution which are slowing thigs up, queries 24,25,26,27,20 and 31

 

Here is my debug log, has anyone got any ideas on how I could speed this up?

 

thanks

 

Dave

 

Hi Dave

 

This query was never overly optimised for performance (because the shop it was designed for was small)- it could be as simple as an indexing issue. Firstly check that the tables (in the troublesome queries) all have indexes as per original install. If you are not SQL savvy then the quick fix is to do without the Sort (which is all the ASP code in product_info.php provides). My advice would be to replace it with the original osC code and see how that fares. If nothing else it will identify the actual ASP SQL scripting as the issue.

The original osC code orders by the id, ie. the order you added to the DB (if I remember correctly).

 

The alternative, if sorting is required, is to ask someone with SQL skills to look more closely at the query and the tables indexes. If you have a very large database then it may be that the query needs shortening by a slight table redesign. I'm afraid this goes beyond my free support due to time required.

 

This is all assuming you do not have a corrupt table or DB of course. You can check this by running mysql check tables commands (see mysql manual!) - suggest you check the db rather than just the tables for ASP.

 

You are the first to identify an issue so perhaps it is a local issue or you are doing something unusual?

 

Maybe some of that will help....or not! PLease do report back with findings/thoughts.

 

cheers

Chris.

Share this post


Link to post
Share on other sites

OK I made all the edits, and now products_attributes_sets_edit.php returns nothing, an empty table meaning I can't actually add any sets to products.

 

<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr><td class="pageHeading">Attribute Sets Edit</td>
<td class="pageHeading" align="right"><img src="images/pixel_trans.gif" border="0" alt="" width="100" height="70"></td>
</tr>
</table>

Share this post


Link to post
Share on other sites

I just resolved the sort order problem in my install. I'm not sure what modules everyone has installed but I had QT Pro Version 4.1 installed as well as a few other custom hacks. To fix the problem I just changed the query used in QT Pro which pulls up the attributes and replaced it with the query that is in the INSTALL file for Attribute Sets Plus. Take the query in Step 6 of the ASP Install instructions and paste it into file catalog/includes/classes/pad_base.php on approximately line 369. Not sure what exact line as my copy may have been hacked more since.

 

In catalog/includes/classes/pad_base.php find: (note that I edited this query in my file to include more data so you can't simply search directly for this query, you're going to have to figure out exactly where it is. In my file it's on line 369 somewhere inside the function definition function _build_attributes_array($build_stocked, $build_nonstocked) {

 

		$products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pov.prod_opt_val_desc, pov.prod_opt_val_pic, pov.prod_opt_val_price, pov.prod_opt_val_pref, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$this->products_id . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'");

 

and replace it with:

 

				// BOF Linkmatics attributes sets plus								  
	  $products_options_query = tep_db_query("
	  SELECT pov.products_options_values_id, pov.products_options_values_name, 
		   pa.options_values_price, pa.price_prefix , pase.sort_order
		  FROM " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . 
				TABLE_PRODUCTS_ATTRIBUTES_SETS_TO_PRODUCTS . " pas2pa, " . 
				TABLE_PRODUCTS_ATTRIBUTES_SETS . " pas, " .
				TABLE_PRODUCTS_ATTRIBUTES_SETS_ELEMENTS . " pase, " .
				TABLE_PRODUCTS_OPTIONS_VALUES . " pov
				WHERE	  pa.products_id = '" . (int)$_GET['products_id'] . "'		   
			AND pa.options_id = '" . $products_options_name['products_options_id'] . "'
			AND pas2pa.products_id = pa.products_id
			AND pas.products_attributes_sets_id = pas2pa.products_attributes_sets_id
			AND pas.products_options_id = pa.options_id
			AND pase.products_attributes_sets_id = pas.products_attributes_sets_id
			AND pase.options_values_id = pa.options_values_id
			AND pov.products_options_values_id = pa.options_values_id
			AND pov.language_id = '" . $languages_id . "'
			ORDER BY pase.sort_order, pa.options_values_id"); 
				 // >>>>> BOF Linkmatics attributes sets plus patch v1.01
	   if (tep_db_num_rows($products_options_query)== 0 ) {
				   $products_options_query = tep_db_query("
		   SELECT pov.products_options_values_id, pov.products_options_values_name,
				  pa.options_values_price, pa.price_prefix , pa.options_values_id
			 FROM " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " .
					  TABLE_PRODUCTS_OPTIONS_VALUES . " pov
			 WHERE pa.products_id = '" . (int)$_GET['products_id'] . "'
			   AND pa.options_id = '" . $products_options_name['products_options_id'] . "'
			   AND pov.products_options_values_id = pa.options_values_id
			   AND pov.language_id = '" . $languages_id . "'
			 ORDER BY pa.options_values_id");
	   }
	  // <<<<< EOF Linkmatics attributes sets plus patch v1.01	  
	  // EOF Linkmatics attributes sets plus

 

Backup your code before making any changes. I'm not responsible for any problems that happen with your site if you implement this change.

Share this post


Link to post
Share on other sites

ok well i installed this and now i get this..........when i goto my store or should i say try.

 

1146 - Table 'myonline_store.TABLE_PAGES' doesn't exist

 

select p.pages_id, p.sort_order, p.status, s.pages_title, s.pages_html_text from TABLE_PAGES p LEFT JOIN TABLE_PAGES_DESCRIPTION s on p.pages_id = s.pages_id where p.status = 1 and s.language_id = '1' and p.page_type = 1

Share this post


Link to post
Share on other sites
an answer to my question would be great.

thanks!

 

Hmmmm.....don't expect premium support, my time in here is out of the goodness of my heart - praise accepted and cheques too!

 

As for your question you have a table definition missing, which is nothing to do with this contribution. Have you installed another contrib? You need to define this table constant (TABLE_PAGES) in one of your files.

 

FYI: This table is not part of standard osC (as far as I can see), but if this is RC1 I don't now either way.

 

One thing is for sure - its nothing to do with ASP.

 

Good luck

 

Chris.

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  

×