Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Zeme

Archived
  • Posts

    46
  • Joined

  • Last visited

Profile Information

  • Real Name
    Robin Dunlop
  • Location
    Canada
  • Website

Zeme's Achievements

  1. I don't have the code in front of me, but I'm guessing that perhaps you haven't patched that function into the necessary file. I would suggest that you: - Search the contribution's patches for "tep_copy_product_attributes", find out which file it's supposed to be applied to. (You'll have to find the patch that includes the function's definition (ie: body of the function)). - Find the target file on your system, and inspect it to see if the function has been patched in.
  2. In the contribution there are instructions and a file for modification of the database tables. These changes add the columns that are now giving you errors. Perahps you forgot that step? You should be able to find a file that has something like "ALTER TABLE..." in it, you'll need to apply that file to your database.
  3. In one of your php files, you have a typo, specifically, you're missing a space (as I mentioned before). It's not a problem with your database setup, it's just a little mistake in the php file itself. (the error that gives you the "TEP STOP" will probably easily tell you which php file this error is in). With respect to the "column count doesn't match count": Since the "insert" in specifying 7 peices of data, and you're getting this error, it means that your 'product_attributes' table has either more, or less than 7 columns. This problem is 95% of the time cause by missing this file when applying a contribution, or having a column on the table left over from a removed contribution. Good luck
  4. you're missing a space between the table's long name and it's short name: change: products_options_values_to_products_optionspovt to products_options_values_to_products_options povt and it should work
  5. I think it should be: /* BOF: Attributes Sort/copy */ $products = tep_db_query("select p.products_id, pd.products_name, pov.products_options_values_name, povt.products_options_values_sort_order from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov, " . TABLE_PRODUCTS_OPTIONS_VALUES_TO_PRODUCTS_OPTIONS . " povt, " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_DESCRIPTION . " pd where pd.products_id = p.products_id and pov.language_id = '" . (int)$languages_id . "' and pd.language_id = '" . (int)$languages_id . "' and pa.products_id = p.products_id and pa.options_id='" . (int)$HTTP_GET_VARS['option_id'] . "' and pov.products_options_values_id = pa.options_values_id and povt.products_options_id='" . (int)$HTTP_GET_VARS['option_id'] . "' and povt.products_options_values_id = pov.products_options_values_id order by pd.products_name"); /* EOF: Attributes Sort/copy */ Note the space after "from", and, as tdogg mentioned, a space before povt
  6. Once you've installed the contribution (version 5.1b?), you'll be able to do that. To copy all attributes from one product to an entire category: 1) Set all the attributes that you want, on that product. 2) Under "Catalog", click "Categories/Products". 3) Click on the name of the category that you want to Copy to 4) on the right hand side you should see a "Copy product attributes to ALL products in Category: X". Click on that. 5) Click on "Product ID lookup" to find out the product ID of the "source product" (the one from step 1). 6) the rest of the options here are pretty self-explanatory
  7. Phillip, as you can see, it is trying to do an "insert" with 7 different values, but your table has 8 columns, hense the mismatch. I don't recognize the options_values_weight column, and I'm pretty sure that you don't want/need it. Do you remember running any "ALTER" statements to add it? do you have any other contributions installed? (they probably added it). Assuming that you have no other contributions, we want to remove that extra colum. Running on this theory, here's what I suggest you do: 1) back up the database. Both the schema (table layouts), and the records (actual entries in the individual tables). I'm pretty sure that the oscommerce admin tool can do this. 2) check the backup file to ensure you have valid data (just look at it to make sure it doesn't look empty) 3) check the 'options values weight' column to see if there's any actual data in it. You could use the mysql interface, or custom sql: "select options_values_weight from products_attributes" 4) Once you've determined that the 'options_values_weight' column is extra, remove it, either using a mysql admin tool, or the custom sql: "alter table PRODUCTS_attributes drop column options_values_weight" 5) once this has succeeded, check all your admin pages again to see if any of them no longer work, if there are pages that don't work now, they were probably depending on the (now deleted) column, and you'll have to deal with that. Note: don't do any steps unless you understand that step, and are confident in the impact of it. Also, if you do have another contribution installed (which added the options_values_weight column), let me know, and I'll look into helping you merge the 2 contributions (the name of the other contribution /location would be useful). I hope this helps, and I look forward to hearing the results.
  8. Note, I meant 5.1b, not 5.2b (there is no 5.2b)
  9. Which is fine.....as long as that is EVERY column in the table. Julia, you'll have to excuse me if I'm confused, but I'm assuming that your current error was posted under the name Milly Ramsey (posted about 2 hours before you, to which I replied). Here's the weird analysis of the error so far: 1) It is complaining about inserting 7 columns into products_attributes 2) There used to be 6 columns (before you apply this contribution), so showing 7 trying to be inserted means that you've got the right .php file 3) the description of the products_attributes table also shows 7 columns, so why is there a "column count" mismatch? On a side note, other than Option Type Feature (ver 1.71 right? (Link)) and this 5.2b contribution, do you have any other contributions installed on the system?
  10. Did you successfully apply the change.sql table modifications to the database? (this contribution added a sort_order column to the products_attributes table: ALTER TABLE products_attributes ADD products_options_sort_order int(6) NOT NULL default '0' AFTER price_prefix; ALTER TABLE products_options_values_to_products_options ADD products_options_values_sort_order int(6) NOT NULL default '0' AFTER products_options_values_id; If this is not the case, have you added other contributions to your installation? if so, then likely you have more columns in the products_attributes table than this contribution expects, find out what they are, and we can deal with that. (post the results of the SQL "describe products_attributes" and we'll find a solution for you)
  11. My theory is that you have not specified the sort-order for the existing attributes. When you install this contribution, it adds the ability to specify sort-order for your product-values and product-attributes. If you have specified the sort-order for the product-values, when you _next_ add a product-attribute for that value, the sort-order will be inherited (copied) automatically. But, if, when you installed the contirbution, you already had some product-attributes created, they will all have a sort-order of 0 specified (thus defaulting to order-by-name....I think). So, you should go through the existing attributes, and set their sort-order values. And, also, set the sort-order values for your product-values table. Then, once that is all done, every new product-attribute you make will have the product sort-order. If I am incorrect (and the sort-order is specified, but it is still not working), then perhaps you need to check that product_info.php was updated with the newest version. Good luck , Robin
  12. I haven't had the chance to test out this merge, but this is my attempt to merge the two files together. I hope it works for you. $contents = array('form' => tep_draw_form('products', FILENAME_CATEGORIES, 'action=move_product_confirm&cPath=' . $cPath) . tep_draw_hidden_field('products_id', $pInfo->products_id)); $contents[] = array('text' => sprintf(TEXT_MOVE_PRODUCTS_INTRO, $pInfo->products_name)); $contents[] = array('text' => '<br>' . TEXT_INFO_CURRENT_CATEGORIES . '<br><b>' . tep_output_generated_category_path($pInfo->products_id, 'product') . '</b>'); $contents[] = array('text' => '<br>' . sprintf(TEXT_MOVE, $pInfo->products_name) . '<br>' . tep_draw_pull_down_menu('move_to_category_id', tep_get_category_tree(), $current_category_id)); $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_move.gif', IMAGE_MOVE) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; case 'new_images': $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_NEW_IMAGES . '</b>'); $contents = array('form' => tep_draw_form('new_images', FILENAME_CATEGORIES, 'action=add_images&cPath=' . $cPath . '&pID=' . $HTTP_GET_VARS['pID'], 'post', 'enctype="multipart/form-data"')); $contents[] = array('text' => TEXT_NEW_IMAGES_INTRO); $contents[] = array('text' => '<br>' . TEXT_PRODUCTS_IMAGES_DESC . '<br>' . tep_draw_input_field('images_description')); $contents[] = array('text' => '<br>' . TEXT_PRODUCTS_IMAGES_NEWPOP . $newpop_resol . '<br>' . tep_draw_file_field('popup_images')); $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_save.gif', IMAGE_SAVE) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $HTTP_GET_VARS['pID']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; case 'delete_images': $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_NEW_IMAGES . '</b>'); $contents = array('form' => tep_draw_form('delete_images', FILENAME_CATEGORIES, 'action=del_images&cPath=' . $cPath . '&pID=' . $HTTP_GET_VARS['pID'])); $contents[] = array('text' => TEXT_DEL_IMAGES_INTRO); $images_product = tep_db_query("SELECT additional_images_id, images_description FROM " . TABLE_ADDITIONAL_IMAGES . " where products_id = '" . $HTTP_GET_VARS['pID'] . "'"); if (!tep_db_num_rows($images_product)) { $contents[] = array('align' => 'center', 'text' => '<br><font color="red">No Additional Images!</font>'); $contents[] = array('align' => 'center', 'text' => '<br><a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $HTTP_GET_VARS['pID']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); } else { while ($new_images = tep_db_fetch_array($images_product)) { $contents[] = array('text' => ' ' . tep_draw_checkbox_field('additional_images_id[]', $new_images['additional_images_id'], true) . $new_images['images_description']); } $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_SAVE) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $HTTP_GET_VARS['pID']) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); } break; case 'copy_to': $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_COPY_TO . '</b>'); $contents = array('form' => tep_draw_form('copy_to', FILENAME_CATEGORIES, 'action=copy_to_confirm&cPath=' . $cPath) . tep_draw_hidden_field('products_id', $pInfo->products_id)); $contents[] = array('text' => TEXT_INFO_COPY_TO_INTRO); $contents[] = array('text' => '<br>' . TEXT_INFO_CURRENT_CATEGORIES . '<br><b>' . tep_output_generated_category_path($pInfo->products_id, 'product') . '</b>'); $contents[] = array('text' => '<br>' . TEXT_CATEGORIES . '<br>' . tep_draw_pull_down_menu('categories_id', tep_get_category_tree(), $current_category_id)); $contents[] = array('text' => '<br>' . TEXT_HOW_TO_COPY . '<br>' . tep_draw_radio_field('copy_as', 'link', true) . ' ' . TEXT_COPY_AS_LINK . '<br>' . tep_draw_radio_field('copy_as', 'duplicate') . ' ' . TEXT_COPY_AS_DUPLICATE); // BOF: Attributes copy // WebMakers.com Added: Attributes Copy $contents[] = array('text' => '<br>' . tep_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3')); $contents[] = array('text' => '<br>' . TEXT_COPY_ATTRIBUTES_ONLY); $contents[] = array('text' => '<br>' . TEXT_COPY_ATTRIBUTES . '<br>' . tep_draw_radio_field('copy_attributes', 'copy_attributes_yes', true) . ' ' . TEXT_COPY_ATTRIBUTES_YES . '<br>' . tep_draw_radio_field('copy_attributes', 'copy_attributes_no') . ' ' . TEXT_COPY_ATTRIBUTES_NO); $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_copy.gif', IMAGE_COPY) . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); $contents[] = array('align' => 'center', 'text' => '<br>' . ATTRIBUTES_NAMES_HELPER . '<br>' . tep_draw_separator('pixel_trans.gif', '1', '10')); // EOF: Attributes copy break; // BOF: Attributes copy to existing product: // WebMakers.com Added: Copy Attributes Existing Product to another Existing Product case 'copy_product_attributes': $copy_attributes_delete_first='1'; $copy_attributes_duplicates_skipped='1'; $copy_attributes_duplicates_overwrite='0'; if (DOWNLOAD_ENABLED == 'true') { $copy_attributes_include_downloads='1'; $copy_attributes_include_filename='1'; } else { $copy_attributes_include_downloads='0'; $copy_attributes_include_filename='0'; } $heading[] = array('text' => '<b>' . 'Copy Attributes to another product' . '</b>'); $contents = array('form' => tep_draw_form('products', FILENAME_CATEGORIES, 'action=create_copy_product_attributes&cPath=' . $cPath . '&pID=' . $pInfo->products_id) . tep_draw_hidden_field('products_id', $pInfo->products_id) . tep_draw_hidden_field('products_name', $pInfo->products_name)); $contents[] = array('text' => '<br>Copying Attributes from #' . $pInfo->products_id . '<br><b>' . $pInfo->products_name . '</b>'); $contents[] = array('text' => 'Copying Attributes to # ' . tep_draw_input_field('copy_to_products_id', $copy_to_products_id, 'size="3"')); $contents[] = array('text' => '<br>Delete ALL Attributes and Downloads before copying ' . tep_draw_checkbox_field('copy_attributes_delete_first',$copy_attributes_delete_first, 'size="2"')); $contents[] = array('text' => '<br>' . tep_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3')); $contents[] = array('text' => '<br>' . 'Otherwise ...'); $contents[] = array('text' => 'Duplicate Attributes should be skipped ' . tep_draw_checkbox_field('copy_attributes_duplicates_skipped',$copy_attributes_duplicates_skipped, 'size="2"')); $contents[] = array('text' => ' Duplicate Attributes should be overwritten ' . tep_draw_checkbox_field('copy_attributes_duplicates_overwrite',$copy_attributes_duplicates_overwrite, 'size="2"')); if (DOWNLOAD_ENABLED == 'true') { $contents[] = array('text' => '<br>Copy Attributes with Downloads ' . tep_draw_checkbox_field('copy_attributes_include_downloads',$copy_attributes_include_downloads, 'size="2"')); // Not used at this time - download name copies if download attribute is copied // $contents[] = array('text' => ' Include Download Filenames ' . tep_draw_checkbox_field('copy_attributes_include_filename',$copy_attributes_include_filename, 'size="2"')); } $contents[] = array('text' => '<br>' . tep_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3')); $contents[] = array('align' => 'center', 'text' => '<br>' . PRODUCT_NAMES_HELPER); if ($pID) { $contents[] = array('align' => 'center', 'text' => '<br>' . ATTRIBUTES_NAMES_HELPER); } else { $contents[] = array('align' => 'center', 'text' => '<br>Select a product for display'); } $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_copy.gif', 'Copy Attribtues') . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; // WebMakers.com Added: Copy Attributes Existing Product to All Products in Category case 'copy_product_attributes_categories': $copy_attributes_delete_first='1'; $copy_attributes_duplicates_skipped='1'; $copy_attributes_duplicates_overwrite='0'; if (DOWNLOAD_ENABLED == 'true') { $copy_attributes_include_downloads='1'; $copy_attributes_include_filename='1'; } else { $copy_attributes_include_downloads='0'; $copy_attributes_include_filename='0'; } $heading[] = array('text' => '<b>' . 'Copy Product Attributes to Category ...' . '</b>'); $contents = array('form' => tep_draw_form('products', FILENAME_CATEGORIES, 'action=create_copy_product_attributes_categories&cPath=' . $cPath . '&cID=' . $cID . '&make_copy_from_products_id=' . $copy_from_products_id)); $contents[] = array('text' => 'Copy Product Attributes from Product ID# ' . tep_draw_input_field('make_copy_from_products_id', $make_copy_from_products_id, 'size="3"')); $contents[] = array('text' => '<br>Copying to all products in Category ID# ' . $cID . '<br>Category Name: <b>' . tep_get_category_name($cID, $languages_id) . '</b>'); $contents[] = array('text' => '<br>Delete ALL Attributes and Downloads before copying ' . tep_draw_checkbox_field('copy_attributes_delete_first',$copy_attributes_delete_first, 'size="2"')); $contents[] = array('text' => '<br>' . tep_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3')); $contents[] = array('text' => '<br>' . 'Otherwise ...'); $contents[] = array('text' => 'Duplicate Attributes should be skipped ' . tep_draw_checkbox_field('copy_attributes_duplicates_skipped',$copy_attributes_duplicates_skipped, 'size="2"')); $contents[] = array('text' => ' Duplicate Attributes should be overwritten ' . tep_draw_checkbox_field('copy_attributes_duplicates_overwrite',$copy_attributes_duplicates_overwrite, 'size="2"')); if (DOWNLOAD_ENABLED == 'true') { $contents[] = array('text' => '<br>Copy Attributes with Downloads ' . tep_draw_checkbox_field('copy_attributes_include_downloads',$copy_attributes_include_downloads, 'size="2"')); // Not used at this time - download name copies if download attribute is copied // $contents[] = array('text' => ' Include Download Filenames ' . tep_draw_checkbox_field('copy_attributes_include_filename',$copy_attributes_include_filename, 'size="2"')); } $contents[] = array('text' => '<br>' . tep_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3')); $contents[] = array('align' => 'center', 'text' => '<br>' . PRODUCT_NAMES_HELPER); $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_copy.gif', 'Copy Attribtues') . ' <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $cID) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; // EOF: Attributes copy default: if ($rows > 0) { if (isset($cInfo) && is_object($cInfo)) { // category info box contents $heading[] = array('text' => '<b>' . $cInfo->categories_name . '</b>'); $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $cInfo->categories_id . '&action=edit_category') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $cInfo->categories_id . '&action=delete_category') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a> <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $cInfo->categories_id . '&action=move_category') . '">' . tep_image_button('button_move.gif', IMAGE_MOVE) . '</a>'); $contents[] = array('text' => '<br>' . TEXT_DATE_ADDED . ' ' . tep_date_short($cInfo->date_added)); if (tep_not_null($cInfo->last_modified)) $contents[] = array('text' => TEXT_LAST_MODIFIED . ' ' . tep_date_short($cInfo->last_modified)); $contents[] = array('text' => '<br>' . tep_info_image($cInfo->categories_image, $cInfo->categories_name, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT) . '<br>' . $cInfo->categories_image); $contents[] = array('text' => '<br>' . TEXT_SUBCATEGORIES . ' ' . $cInfo->childs_count . '<br>' . TEXT_PRODUCTS . ' ' . $cInfo->products_count); //BOF: Attributes copy to all existing products if ($cInfo->childs_count==0 and $cInfo->products_count >= 1) { // WebMakers.com Added: Copy Attributes Existing Product to All Existing Products in Category $contents[] = array('text' => '<br>' . tep_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3')); if ($cID) { $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $cID . '&action=copy_product_attributes_categories') . '">' . 'Copy Product Attributes to <br>ALL products in Category: ' . tep_get_category_name($cID, $languages_id) . '<br>' . tep_image_button('button_copy_to.gif', 'Copy Attributes') . '</a>'); } else { $contents[] = array('align' => 'center', 'text' => '<br>Select a Category to copy attributes to'); } } //EOF: Attributes copy to all existing products } elseif (isset($pInfo) && is_object($pInfo)) { // product info box contents $heading[] = array('text' => '<b>' . tep_get_products_name($pInfo->products_id, $languages_id) . '</b>'); $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=new_product') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=delete_product') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a> <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=move_product') . '">' . tep_image_button('button_move.gif', IMAGE_MOVE) . '</a> <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=copy_to') . '">' . tep_image_button('button_copy_to.gif', IMAGE_COPY_TO) . '</a>'); $contents[] = array('text' => '<br>' . TEXT_DATE_ADDED . ' ' . tep_date_short($pInfo->products_date_added)); if (tep_not_null($pInfo->products_last_modified)) $contents[] = array('text' => TEXT_LAST_MODIFIED . ' ' . tep_date_short($pInfo->products_last_modified)); if (date('Y-m-d') < $pInfo->products_date_available) $contents[] = array('text' => TEXT_DATE_AVAILABLE . ' ' . tep_date_short($pInfo->products_date_available)); $contents[] = array('text' => '<br>' . tep_info_image($pInfo->products_image, $pInfo->products_name, SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '<br>' . $pInfo->products_image); $contents[] = array('text' => '<br>' . TEXT_PRODUCTS_PRICE_INFO . ' ' . $currencies->format($pInfo->products_price) . '<br>' . TEXT_PRODUCTS_QUANTITY_INFO . ' ' . $pInfo->products_quantity); $contents[] = array('text' => '<br>' . TEXT_PRODUCTS_AVERAGE_RATING . ' ' . number_format($pInfo->average_rating, 2) . '%'); // BOF: Attributes copy existing to existing // WebMakers.com Added: Copy Attributes Existing Product to another Existing Product $contents[] = array('text' => '<br>' . tep_image(DIR_WS_IMAGES . 'pixel_black.gif','','100%','3')); $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=copy_product_attributes') . '">' . 'Products Attributes Copier:<br>' . tep_image_button('button_copy_to.gif', 'Copy Attributes') . '</a>'); if ($pID) { $contents[] = array('align' => 'center', 'text' => '<br>' . ATTRIBUTES_NAMES_HELPER . '<br>' . tep_draw_separator('pixel_trans.gif', '1', '10')); } else { $contents[] = array('align' => 'center', 'text' => '<br>Select a product to display attributes'); } //EOF: Attributes copy existing to existing $contents[] = array('text' => '<br><b>' . TEXT_INFO_HEADING_NEW_IMAGES . '</b><hr>'); $images_product = tep_db_query("SELECT additional_images_id, popup_images, images_description FROM " . TABLE_ADDITIONAL_IMAGES . " where products_id = '" . $pInfo->products_id . "'"); if (!tep_db_num_rows($images_product)) { $contents[] = array('align' => 'center', 'text' => '<font color="red">No Additional Images!</font><hr>'); } else { while ($new_images = tep_db_fetch_array($images_product)) { $contents[] = array('text' => ' ' . tep_image(DIR_WS_CATALOG_IMAGES . $new_images['popup_images'], $new_images['images_description'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'align="absmiddle"') . '<br><br> <hr>'); } } $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=new_images') . '">' . tep_image_button('button_images_add.gif', IMAGE_ADDITIONAL_NEW) . '</a> <a href="' . tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&pID=' . $pInfo->products_id . '&action=delete_images') . '">' . tep_image_button('button_images_del.gif', IMAGE_ADDITIONAL_DEL) . '</a>'); } } else { // create category/product info $heading[] = array('text' => '<b>' . EMPTY_CATEGORY . '</b>'); $contents[] = array('text' => TEXT_NO_CHILD_CATEGORIES_OR_PRODUCTS); } break;
  13. I've helped another community member merge those two contributions together. There wasn't much trouble (other than merging a few files together). The contributions don't seem to cause any problems with each other. A few notes: If you have any Text type inputs, they won't show up properly on the product-edit page (you won't be able to add/remove them as you do other types of attributes). Otherwise, things work decently together. I too have wanted to merge these two contributions together for quite some time, and I've actually started working on doing just that, but I haven't had time to properly resolve the TEXT type attributes issue. I do have a lot of experience working with the 5.1b code though, so I'd be happy to take a look at any problems you encounter if you decide to merge them together as is.
  14. I'm glad to hear that it got resolved. With regards to the load times, since there's a ton of information to process (354 option values is a lot of text), the delay could be either on the server side, or on the client side. Your browser could be causing the delay as it tries to figure out how to properly display all this data. So, you can check a few things: 1) do you have network traffic the whole time it's loading the page (ie: is the server sending you data throughout the 4.5 seconds?). 2) if you save the resulting page to a static page (on your local machine), and "open" that, does it load faster (if yes, then likely the slowdown is caused by the server), 3) does it load any faster (consistently) on a different browser (I've seen sites that take 2x longer to load in mozilla than in IE, or faster yet in Opera). Just tossing some thoughts around. , Robin P.S. Re: AttSortCopy v5.1b, I'd suggest you don't look at updating to that version quite yet, I've just finished v5.2 and it should be posted sometime this week. Some nice new features you might like/find useful.
  15. Well, if the same files/database content, when duplicated to another machine, work perfectly, that seems to say that it's likely a server-configuration issue. I tried setting a product to have 16 different option-values from the product-edit screen (using Sorter and Copier ~v5.1b), and it works fine for me. I'm using php 4.3.10 and mysql 11.18 (3.23.58) on redhat. I have no experience with getting "kicked out", when you say "log in again", do you mean authenticate against some sort of .htacess list? My test machine doesn't have SSL or .htacess set up on it, so I won't be of much help troubleshooting that. This is probably "out in left field", but when you said "only 11 attributes get saved", I thought of a possible issue: If the attributes or values are being passed via the URL (the bar at the top), there may be a length restriction (and you can't fit all the data you want). I looked into this possible problem, and it seems that this isn't the case (the variables are all passed via "POST" which means there is no length restriction). So, other things to check that might be causing this problem: different/upgraded web browser, full filesystem (weird errors occur when you have reached your disk-space limits). Sorry I don't have more promising ideas. I know how annoying problems like this are. One more thing I'd like you to check on: If you re-enable the adding of attributes to the product-edit page (where you "can only add 11"), go to the product-edit page, and view the HTML source, right below the 'class="attributes Table"' you'll find all the stuff for the attributes boxes, check that the checkboxes are numbered like: option[1] prefix[1] price[1] option[2] prefix[2] price[2] ...... option[20] prefix[20] price[20] (assuming you only have 20 attributes) I ask you to check this only because if the numbers aren't correct, that would cause it to not work too. (though this is stretching it, since the same files work fine on a different server). :angry: , Robin
×
×
  • Create New...