Guest Posted September 1, 2005 Share Posted September 1, 2005 Thanks so much, That did it for the What's New InfoBox. Can it also be done for products_new.php, search results, and.....(are there other places this might happen)? Thanks again. <{POST_SNAPBACK}> Yes - the only thing added to the query is: and products_master_status = '1' Matti Quote Link to comment Share on other sites More sharing options...
Guest Posted September 1, 2005 Share Posted September 1, 2005 anyone know how i would sort the fields in an options drop down? sizes for clothes seem to come up all over the place, eg: 6,10,16,12 Quote Link to comment Share on other sites More sharing options...
inkan Posted September 2, 2005 Share Posted September 2, 2005 Tip for getting the Specials box to function with Master Products: I use Master Products v1.1.5 and the Add-On Rev 4. The way I use it, the Master Products price is set to "0" and the slaves are where the actual price is set. Using it this way, the file /catalog/includes/boxes/specials.php needs to be just slightly modified to work. If not modified, no special prices will be shown in the specials box. Change this row in /catalog/includes/boxes/specials.php: if ($random_product = tep_random_select("select p.products_id, pd.products_name, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' order by s.specials_date_added desc limit " . MAX_RANDOM_SELECT_SPECIALS)) { to this: if ($random_product = tep_random_select("select p.products_id, pd.products_name, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and p.products_id = s.products_id and p.products_price != '0' and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' order by s.specials_date_added desc limit " . MAX_RANDOM_SELECT_SPECIALS)) { The only thing that has change, is that and p.products_price != '0' is added at the end of the query. This is not within the fixes for MP as for what I have seen. If my thinking is wrong here, please feel free to correct me. I am not a MySQL-pro... :-" /Inkan Quote Link to comment Share on other sites More sharing options...
Guest Posted September 2, 2005 Share Posted September 2, 2005 Tip for getting the Specials box to function with Master Products: I use Master Products v1.1.5 and the Add-On Rev 4. The way I use it, the Master Products price is set to "0" and the slaves are where the actual price is set. Using it this way, the file /catalog/includes/boxes/specials.php needs to be just slightly modified to work. If not modified, no special prices will be shown in the specials box. Change this row in /catalog/includes/boxes/specials.php: if ($random_product = tep_random_select("select p.products_id, pd.products_name, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s where p.products_status = '1' and p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' order by s.specials_date_added desc limit " . MAX_RANDOM_SELECT_SPECIALS)) { to this: if ($random_product = tep_random_select("select ?p.products_id, ?pd.products_name, ?p.products_price, ?p.products_tax_class_id, ?p.products_image, ?s.specials_new_products_price ?from " . TABLE_PRODUCTS . " p, ?" . TABLE_PRODUCTS_DESCRIPTION . " pd, ?" . TABLE_SPECIALS . " s ?where p.products_status = '1' ?and p.products_id = s.products_id ?and p.products_price != '0' ?and pd.products_id = s.products_id ?and pd.language_id = '" . (int)$languages_id . "' ?and s.status = '1' ?order by s.specials_date_added desc limit " . MAX_RANDOM_SELECT_SPECIALS)) { The only thing that has change, is that and p.products_price != '0' is added at the end of the query. This is not within the fixes for MP as for what I have seen. If my thinking is wrong here, please feel free to correct me. I am not a MySQL-pro... :-" /Inkan <{POST_SNAPBACK}> I had a thought about this and my own post yesterday - I think that this would be better: and p.products_master !> 0 Matti Quote Link to comment Share on other sites More sharing options...
inkan Posted September 2, 2005 Share Posted September 2, 2005 Hi Matti, and thanks for replying! Sorry, but I forgot to mention in my previous post that in my case, besides using products with master-slave relationships, there are also "normal" products that only comes in one version, and is nor a master or a slave. The "normal" products price are set at usual. Using your query would not catch the special products price for the "normal" products, only the slaves, right? To clarify the product structure, here is an example: Product #1 --------------------- Master #1: Face Tonic, Product description, no price Slave #1: Face Tonic, 118 ml bottle, Price 1 Slave #2: Face Tonic, 118 ml spray bottle, Price 2 Slave #3: Face Tonic, 118 ml spray bottle, Price 3 Product #2 --------------------- Night cream, product description, 118 ml can, price /Inkan Quote Link to comment Share on other sites More sharing options...
Guest Posted September 2, 2005 Share Posted September 2, 2005 Hi all I?m new here in this forum but have been doing some osCommerce in Sweden for a year. I have used MP for a time and now i have added the latest contrib that makes it possible to have one slave to several masters. But... It doesn?t work properly :( I can connect several masters in admin and the product id is stored in the db but the slave only shows in one of the defined master products in the shop. Anyone here that have had the same problem and a sollution? Thanks in advance Borje <{POST_SNAPBACK}> Hi Borje, I have the exact same problem but so far have not got a fix. Can anyone help? Cheers, Rushy Quote Link to comment Share on other sites More sharing options...
Guest Posted September 4, 2005 Share Posted September 4, 2005 Yes I have the same problem , assign to one it works fine, assign to two it stops working for both. If this gets sorted this will be the perfect contrib for me, I have lots of products where people can add the same items to them, therefore multiple masters to slaves would make my whole site work! Quote Link to comment Share on other sites More sharing options...
Guest Posted September 6, 2005 Share Posted September 6, 2005 OK sorted this, the documentation by eddy is missing one thing, you need to make a change to the product_info.php file. in the file you should see that there is line $master_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . "where products_master = '" . (int) $HTTP_GET_VARS['products_id'] . "'"); needs to be: $master_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . "where products_master LIKE '%" . (int) $HTTP_GET_VARS['products_id'] . "%'"); Quote Link to comment Share on other sites More sharing options...
CrassOne Posted September 8, 2005 Share Posted September 8, 2005 I have been trying to remove the description column from the slave products table, but have been unsuccesfull so far. Can anyone tell me how to do this? From this: Model Description Options Name+ Select Price To this: Model Options Name+ Select Price Thanks, Mark Quote Link to comment Share on other sites More sharing options...
Guest Posted September 8, 2005 Share Posted September 8, 2005 I have been trying to remove the description column from the slave products table, but have been unsuccesfull so far. Can anyone tell me how to do this? From this: Model Description Options Name+ Select Price To this: Model Options Name+ Select Price Thanks, Mark <{POST_SNAPBACK}> admin area Go to Configuration - Slave Products ChangeDisplay slave product description to 0 Quote Link to comment Share on other sites More sharing options...
Guest Posted September 8, 2005 Share Posted September 8, 2005 I would really like to download this contribution and get it up and running but which one do I download?? Most of them are updates and it's hard to tell which is a "full" package to grab. Point me in the right direction?? I am hoping I don't need to go to the first one then rebuild it from each update. :'( :thumbsup: Quote Link to comment Share on other sites More sharing options...
inkan Posted September 8, 2005 Share Posted September 8, 2005 Hi! I added version 1.1.15 and after that installed rev 4 found above and "Master Product Slave Attributes". Depending on your needs, you might not need all addons for Master Products. Good Luck!!! /Inkan Quote Link to comment Share on other sites More sharing options...
CrassOne Posted September 8, 2005 Share Posted September 8, 2005 admin areaGo to Configuration - Slave Products ChangeDisplay slave product description to 0 <{POST_SNAPBACK}> Oh man, do I feel dumb. I've been so busy editing code, I forgot completely about Admin. However, now that I've been to the Slave Products section of Admin, I noticed that each item is listed twice, i.e.: Display Slave Product Name 5 Display Slave Product Name 5 Display Slave Product Model 1 Display Slave Product Model 1 etc...... It seems to work OK, but I'd still like to fix it, if someone knows how. Quote Link to comment Share on other sites More sharing options...
ratmarie Posted September 8, 2005 Share Posted September 8, 2005 Hello. I installed this contribute and the attritbutes to go with it. The only problem I have now is that, earlier I had added another contribute--I can't recall the name of it-- but it's for options. On my master and normal products the options still show up like they're suppose to--radio buttons, text, checkbox--but slave products just show up as select. What can I do to have them have the same type of options? Also, I don't know if anyone knows how to do this, but is there a way to change the slaves according to something they choose on the master? Ideally, my "friend" wants her site to look like this one::: Neiman Marcus After working months with her, she just told me this last week, so I'm trying to get it as close as possible. Thank you in advance for all your help. Rat Marie Quote Link to comment Share on other sites More sharing options...
Guest Posted September 8, 2005 Share Posted September 8, 2005 :-" Anyone have this working with option type features? If so, how did u do it? Quote Link to comment Share on other sites More sharing options...
dlpuma Posted September 9, 2005 Share Posted September 9, 2005 (edited) :-"? Anyone have this working with option type features? If so, how did u do it? <{POST_SNAPBACK}> I had a lot of trouble with this. I was able to get the radio buttons and check boxes to work with out a hitch, but the text and text area would not work. So, I have done a "work-around" that allows the Option Type features to work with stand alone products. Any Master/Slave products work as originally intended with just the pull down menus. --- Dorothy Edited September 9, 2005 by Johnson Quote Link to comment Share on other sites More sharing options...
Guest Posted September 9, 2005 Share Posted September 9, 2005 I am running sts with mp, and have recently changed my main product template, the slave products are now contained inside a table however it appears that the slave prouct listing is fixed in its width somehow, which cokcs up my tables? any ideas? Quote Link to comment Share on other sites More sharing options...
dlpuma Posted September 9, 2005 Share Posted September 9, 2005 For those looking for a possible solution for having Master Products and Option Type working together, I did some modifications as shown below. I am not a programmer, and these mods are "Use at your Own Risk", but maybe someone else might be able to clean things up a bit. Okay, this is what I did, since I needed the Master Product to keep the price displayed, I altered the original if statement (step 4) and that's why I added the extra field in the database (step 1). I kept the "Option Type" modifications the same as the original contribution (some suggestions in the "Master Products" forum were to change them, but I found out that we need to keep them intact). Step 1: ALTER TABLE products ADD master_list_qty_box INT( 5 ) DEFAULT '1' NOT NULL; (this allows for the if statement to work) Step 2: Change this code: <td width="100%" valign="top"><?php echo '<form name="buy_now_" method="post" action="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=add_slave', 'NONSSL') . '">'; ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> to: if ($product_info['master_list_qty_box']==0) { ?> <td width="100%" valign="top"><?php echo '<form name="buy_now_" method="post" action="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=add_slave', 'NONSSL') . '">'; ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <?php } else { ?> <td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0"> <?php } ?> Step 3: Update the sql statement from this: $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_master_status, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); to add in the "master_list_qty_box": $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, pd.products_url, p.products_price, p.products_master_status, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id, p.master_list_qty_box from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'"); Step 4: change this: if ($product_info['products_price']>0) { to this: if ($product_info['master_list_qty_box']>0) { I also changed the pull down quantity to an input field step 5: change this (I think there are two of these to change): echo TEXT_QUANTITY . ' ' . tep_draw_pull_down_menu('Qty_ProdId_' . $product_info['products_id'], $qty_array); to: echo TEXT_ENTER_QUANTITY . ":" . tep_draw_input_field('cart_quantity', $pf->adjustQty(1), 'size="6"'); Step 6: We need to add in the end of the form. So, change this: </table></td> <!-- Master Products EOF //--> <!-- body_text_eof //--> to this: </table></form></td> <!-- Master Products EOF //--> <!-- body_text_eof //--> That should be all the changes. Now, when you add a Master Product, you change the "master_list_qty_box" to a zero and the slaves will add correctly, even if you have options within the slaves. If you have "master_list_qty_box" as a 1, then the option types will work. To see this in action check out my website. For the text input boxes (no slaves): Custom Belt For a Master with Slaves: Hapkido Uniform And, a Master with Slaves and the slaves have options: Graphite Bo Hope this helps :D --- Dorothy Quote Link to comment Share on other sites More sharing options...
CrassOne Posted September 9, 2005 Share Posted September 9, 2005 Can anyone tell me why each item in the Slave Products area of Admin is listed twice? Like this: Display Slave Product Name 5 Display Slave Product Name 5 Display Slave Product Model 1 Display Slave Product Model 1 etc...... All assistance is appreciated. Mark Quote Link to comment Share on other sites More sharing options...
inkan Posted September 9, 2005 Share Posted September 9, 2005 Can anyone tell me why each item in the Slave Products area of Admin is listed twice? Mark, it is only listed once for me. Look into your code if someting is inserted twice in product_info.php - or if you inserted something new without commenting away the old code. /Inkan Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted September 9, 2005 Share Posted September 9, 2005 Can anyone tell me why each item in the Slave Products area of Admin is listed twice? <{POST_SNAPBACK}> Perhaps you ran master.sql twice by accident? Then in the table configuration you would find them back twice (all with the configuration_group_id of "Slave Product Listing - Configuration options" (16?) found in configuration_group). Quote Link to comment Share on other sites More sharing options...
CrassOne Posted September 9, 2005 Share Posted September 9, 2005 Mark,it is only listed once for me. Look into your code if someting is inserted twice in product_info.php - or if you inserted something new without commenting away the old code. /Inkan <{POST_SNAPBACK}> I tried to find the problem myself but could not. I think it is in admin/configuration.php, but I'm not enough of a programmer to figure it out. Here's the code I suspect: <?php $configuration_query = tep_db_query("select configuration_id, configuration_title, configuration_value, use_function from " . TABLE_CONFIGURATION . " where configuration_group_id = '" . (int)$gID . "' order by sort_order"); while ($configuration = tep_db_fetch_array($configuration_query)) { if (tep_not_null($configuration['use_function'])) { $use_function = $configuration['use_function']; if (ereg('->', $use_function)) { $class_method = explode('->', $use_function); if (!is_object(${$class_method[0]})) { include(DIR_WS_CLASSES . $class_method[0] . '.php'); ${$class_method[0]} = new $class_method[0](); } $cfgValue = tep_call_function($class_method[1], $configuration['configuration_value'], ${$class_method[0]}); } else { $cfgValue = tep_call_function($use_function, $configuration['configuration_value']); } } else { $cfgValue = $configuration['configuration_value']; } if ((!isset($HTTP_GET_VARS['cID']) || (isset($HTTP_GET_VARS['cID']) && ($HTTP_GET_VARS['cID'] == $configuration['configuration_id']))) && !isset($cInfo) && (substr($action, 0, 3) != 'new')) { $cfg_extra_query = tep_db_query("select configuration_key, configuration_description, date_added, last_modified, use_function, set_function from " . TABLE_CONFIGURATION . " where configuration_id = '" . (int)$configuration['configuration_id'] . "'"); $cfg_extra = tep_db_fetch_array($cfg_extra_query); $cInfo_array = array_merge($configuration, $cfg_extra); $cInfo = new objectInfo($cInfo_array); } if ( (isset($cInfo) && is_object($cInfo)) && ($configuration['configuration_id'] == $cInfo->configuration_id) ) { echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $cInfo->configuration_id . '&action=edit') . '\'">' . "\n"; } else { echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $configuration['configuration_id']) . '\'">' . "\n"; } ?> --------------------------------------------------------------------------- <td class="dataTableContent"><?php echo $configuration['configuration_title']; ?></td> <td class="dataTableContent"><?php echo htmlspecialchars($cfgValue); ?></td> <td class="dataTableContent" align="right"><?php if ( (isset($cInfo) && is_object($cInfo)) && ($configuration['configuration_id'] == $cInfo->configuration_id) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_CONFIGURATION, 'gID=' . $HTTP_GET_VARS['gID'] . '&cID=' . $configuration['configuration_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td> --------------------------------------------------------------------------- </tr> <?php } ?> The code between the dashed lines appears to write the lines in question. So why does it write them twice? I thought it might have something to do with the 'while' statement at the top, but I don't really know how to interpret it. I also thought it could by in my database, but I'm not sure what to look for there, either. It might help if I knew what I was doing :-) If you think it is in product_info.php, can you tell me where? Thanks again. Quote Link to comment Share on other sites More sharing options...
CrassOne Posted September 9, 2005 Share Posted September 9, 2005 Perhaps you ran master.sql twice by accident? Then in the table configuration you would find them back twice (all with the configuration_group_id of "Slave Product Listing - Configuration options" (16?) found in configuration_group). <{POST_SNAPBACK}> I did think the problem might be in the database (as I said in the post below). I checked the 'configuration' db and found what appear to be duplicate records. There are 11 of them. I guess I can just delete them? I'm a little scared. Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted September 9, 2005 Share Posted September 9, 2005 There are 11 of them. I guess I can just delete them? I'm a little scared.<{POST_SNAPBACK}> That is the right number. Yes, you can delete them. If you are uncertain, first backup your database in the admin section. If you run into trouble you can always restore your db back to that point (not a bad idea to do that whenever you make changes in the structure or manual changes). Quote Link to comment Share on other sites More sharing options...
CrassOne Posted September 9, 2005 Share Posted September 9, 2005 That is the right number. Yes, you can delete them. If you are uncertain, first backup your database in the admin section. If you run into trouble you can always restore your db back to that point (not a bad idea to do that whenever you make changes in the structure or manual changes). <{POST_SNAPBACK}> That worked. Thanks so much for your help. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.