chrometweaks.org

Which iPage web host company is the best?

Click Here To View All Answers...


First of all Which iPage web host company is the best? Many thanks for any response. Another question... Is there a way to sort attributes manually without installing a contribution? Reason for this is I have already put in a contribution for the categories.php file and don't want to replace it for another contribution. If it can be done by adding a contribution that doesn't alter the categories.php file, then that would work too, but all the ones I found altered this file. Any suggestions?.

Thanks in advance..

Brian..

Comments (118)

Hmm... I need to find out myself. I don't know what is the right answer. I'll do some research in Google and get back to you if I discover an good answer. You should email the people at iPage as they probably could help you..

Comment #1

Ahh, thanks much. However, being a total newbie I don't understand what i'm being asked to do right here (from the instructions):.

SQL To Be Executed In YOUR Database:.

**********************************************************************.

ALTER TABLE `YOUR_DATABASE_NAME`.`products_attributes` ADD `sort_order` INT DEFAULT '50' NOT NULL;.

The rest of the instructions are pretty straight forward (change "this" to "that").. but they lost me on this.. i'm not even sure if this is something i'm supposed to do, or if it's saying that this WILL be executed.. help me out please.

And don't laugh too hard at my inexperience..

Comment #2

Hi Brian,.

If you go into phpmyadmin (if you have it) click on the database your store is in..

Then click on the tab saying 'SQl' past the code into the sql box and press to..

That's it.

Regards.

PhilipH..

Comment #3

Hmm, it also tells me to do some changes to /catalog/products_info.php but when I look in the catalog directory, there are no files there... any idea what the deal is with that?..

Comment #4

Well, I found a "product_info.php" in the root directory, but it doesn't contain the lines that are supposed to be changed. Is it possible that this contrib was written for an older version of osc?.

I feel so defeated..

Comment #5

Brian,.

Don't give up..

Post the directions you're having problems with here. Also, note the version of osC you're using. I will check very late tonight if no one else has solved it by then..

Ed..

Comment #6

I'm using osC version 2.2ms2..

This is where i'm stuck:.

**********************************************************************.

**********************************************************************.

**********************************************************************.

In file /catalog/products_info.php.

**********************************************************************.

In catalog/product_info.php find (depends on your version).

(version 1.2).

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

And add "order by pa.sort_order, pov.products_options_values_name" near the end so it looks like.

       // replaced line - sort attrib mod - TexaStar.com...

       // $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from "TABLE_PRODUCTS_ATTRIBUTES" pa, "TABLE_PRODUCTS_OPTIONS_VALUES" pov where pa.products_id = '"(int)$HTTP_GET_VARS['products_id']"' and pa.options_id = '"$products_options_name['products_options_id']"' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '"$languages_id"'");.

       // with - sort attrib mod - TexaStar.com....

       $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from "TABLE_PRODUCTS_ATTRIBUTES" pa, "TABLE_PRODUCTS_OPTIONS_VALUES" pov where pa.products_id = '"(int)$HTTP_GET_VARS['products_id']"' and pa.options_id = '"$products_options_name['products_options_id']"' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '"$languages_id"' order by pa.sort_order, pov.products_options_values_name");.

* OR * OR * OR * OR * OR * OR * OR * OR * OR * OR *.

(version 1.48+).

       $products_options = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from "TABLE_PRODUCTS_ATTRIBUTES" pa, "TABLE_PRODUCTS_OPTIONS_VALUES" pov where pa.products_id = '"$HTTP_GET_VARS['products_id']"' and pa.options_id = '"$products_options_name_values['products_options_id']"' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '"$languages_id"'");.

And add "order by pa.sort_order, pov.products_options_values_name" near the end so it looks like.

       // replaced line - sort attrib mod - TexaStar.com...

       // $products_options = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from "TABLE_PRODUCTS_ATTRIBUTES" pa, "TABLE_PRODUCTS_OPTIONS_VALUES" pov where pa.products_id = '"$HTTP_GET_VARS['products_id']"' and pa.options_id = '"$products_options_name_values['products_options_id']"' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '"$languages_id"'");.

       // with - sort attrib mod - TexaStar.com....

       $products_options = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from "TABLE_PRODUCTS_ATTRIBUTES" pa, "TABLE_PRODUCTS_OPTIONS_VALUES" pov where pa.products_id = '"$HTTP_GET_VARS['products_id']"' and pa.options_id = '"$products_options_name_values['products_options_id']"' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '"$languages_id"' order by pa.sort_order, pov.products_options_values_name");.

Like I said, in my catalog folder, there are no files, just a folder called "includes" that extends on into other folders with no files. these directions call for editing "products_info.php" (plural) however, I see a file called "product_info.php" (singular) in my root directory, but it does not have the exact code listed above in it..

My "product_info.php":.

<?php.

/*.

 $Id: product_info.php,v 1.97 2003/07/01 14:34:54 hpdl Exp $.

 osCommerce, Open Source E-Commerce Solutions.

 http://www.oscommerce.com.

 Copyright (c) 2003 osCommerce.

 Released under the GNU General Public License.

*/.

 require('includes/application_top.php');.

 require(DIR_WS_LANGUAGES$language'/'FILENAME_PRODUCT_INFO);.

 $product_check_query = tep_db_query("select count(*) as total 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"'");.

 $product_check = tep_db_fetch_array($product_check_query);.

?>.

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">.

<html <?php echo HTML_PARAMS; ?>>.

<head>.

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">.

<title><?php echo TITLE; ?></title>.

<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER)DIR_WS_CATALOG; ?>">.

<link rel="stylesheet" type="text/css" href="stylesheet.css">.

<script language="javascript"><!.

Function popupWindow(url) {.

 window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,res.

Izable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,le.

Ft=150').

}.

//></script>.

</head>.

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">.

<! header //>.

<?php require(DIR_WS_INCLUDES'header.php'); ?>.

<! header_eof //>.

<! body //>.

<table border="0" width="100%" cellspacing="3" cellpadding="3">.

 <tr>.

   <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">.

<! left_navigation //>.

<?php require(DIR_WS_INCLUDES'column_left.php'); ?>.

<! left_navigation_eof //>.

   </table></td>.

<! body_text //>.

   <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.

 if ($product_check['total'] < 1) {.

?>.

     <tr>.

       <td><?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?></td>.

     </tr>.

     <tr>.

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

     </tr>.

     <tr>.

       <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">.

         <tr class="infoBoxContents">.

           <td><table border="0" width="100%" cellspacing="0" cellpadding="2">.

             <tr>.

               <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>.

               <td align="right"><?php echo '<a href="'tep_href_link(FILENAME_DEFAULT)'">'tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE)'</a>'; ?></td>.

               <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>.

             </tr>.

           </table></td>.

         </tr>.

       </table></td>.

     </tr>.

<?php.

 } else {.

   $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_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"'");.

   $product_info = tep_db_fetch_array($product_info_query);.

   tep_db_query("update "TABLE_PRODUCTS_DESCRIPTION" set products_viewed = products_viewed+1 where products_id = '"(int)$HTTP_GET_VARS['products_id']"' and language_id = '"(int)$languages_id"'");.

   if ($new_price = tep_get_products_special_price($product_info['products_id'])) {.

     $products_price = '<s>'$currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']))'</s> <span class="productSpecialPrice">'$currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id']))'</span>';.

   } else {.

     $products_price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));.

   }.

   if (tep_not_null($product_info['products_model'])) {.

     $products_name = $product_info['products_name']'<br><span class="smallText">['$product_info['products_model']']</span>';.

   } else {.

     $products_name = $product_info['products_name'];.

   }.

?>.

     <tr>.

       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">.

         <tr>.

           <td class="pageHeading" valign="top"><?php echo $products_name; ?></td>.

           <td class="pageHeading" align="right" valign="top"><?php echo $products_price; ?></td>.

         </tr>.

       </table></td>.

     </tr>.

     <tr>.

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

     </tr>.

     <tr>.

       <td class="main">.

<?php.

   if (tep_not_null($product_info['products_image'])) {.

?>.

         <table border="0" cellspacing="0" cellpadding="2" align="right">.

           <tr>.

             <td align="center" class="smallText">.

<script language="javascript"><!.

Document.write('<?php echo '<a href="javascript:popupWindow(\\\''tep_href_link(FILENAME_POPUP_IMAGE, 'pID='$product_info['products_id'])'\\\')">'tep_image(DIR_WS_IMAGES$product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"')'<br>'TEXT_CLICK_TO_ENLARGE'</a>'; ?>');.

//></script>.

<noscript>.

<?php echo '<a href="'tep_href_link(DIR_WS_IMAGES$product_info['products_image'])'" target="_blank">'tep_image(DIR_WS_IMAGES$product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"')'<br>'TEXT_CLICK_TO_ENLARGE'</a>'; ?>.

</noscript>.

             </td>.

           </tr>.

         </table>.

<?php.

   }.

?>.

         <p><?php echo stripslashes($product_info['products_description']); ?></p>.

<?php.

   $products_attributes_query = tep_db_query("select count(*) as total from "TABLE_PRODUCTS_OPTIONS" popt, "TABLE_PRODUCTS_ATTRIBUTES" patrib where patrib.products_id='"(int)$HTTP_GET_VARS['products_id']"' and patrib.options_id = popt.products_options_id and popt.language_id = '"(int)$languages_id"'");.

   $products_attributes = tep_db_fetch_array($products_attributes_query);.

   if ($products_attributes['total'] > 0) {.

?>.

         <table border="0" cellspacing="0" cellpadding="2">.

           <tr>.

             <td class="main" colspan="2"><?php echo TEXT_PRODUCT_OPTIONS; ?></td>.

           </tr>.

<?php.

     $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from "TABLE_PRODUCTS_OPTIONS" popt, "TABLE_PRODUCTS_ATTRIBUTES" patrib where patrib.products_id='"(int)$HTTP_GET_VARS['products_id']"' and patrib.options_id = popt.products_options_id and popt.language_id = '"(int)$languages_id"' order by popt.products_options_name");.

     while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {.

       $products_options_array = array();.

       $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from "TABLE_PRODUCTS_ATTRIBUTES" pa, "TABLE_PRODUCTS_OPTIONS_VALUES" pov where pa.products_id = '"(int)$HTTP_GET_VARS['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"'");.

       while ($products_options = tep_db_fetch_array($products_options_query)) {.

         $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);.

         if ($products_options['options_values_price'] != '0') {.

           $products_options_array[sizeof($products_options_array)-1]['text'] .= ' ('$products_options['price_prefix']$currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') ';.

         }.

       }.

       if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) {.

         $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']];.

       } else {.

         $selected_attribute = false;.

       }.

?>.

           <tr>.

             <td class="main"><?php echo $products_options_name['products_options_name']':'; ?></td>.

             <td class="main"><?php echo tep_draw_pull_down_menu('id['$products_options_name['products_options_id']']', $products_options_array, $selected_attribute); ?></td>.

           </tr>.

<?php.

     }.

?>.

         </table>.

<?php.

   }.

?>.

       </td>.

     </tr>.

     <tr>.

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

     </tr>.

<?php.

   $reviews_query = tep_db_query("select count(*) as count from "TABLE_REVIEWS" where products_id = '"(int)$HTTP_GET_VARS['products_id']"'");.

   $reviews = tep_db_fetch_array($reviews_query);.

   if ($reviews['count'] > 0) {.

?>.

     <tr>.

       <td class="main"><?php echo TEXT_CURRENT_REVIEWS' '$reviews['count']; ?></td>.

     </tr>.

     <tr>.

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

     </tr>.

<?php.

   }.

   if (tep_not_null($product_info['products_url'])) {.

?>.

     <tr>.

       <td class="main"><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto='urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td>.

     </tr>.

     <tr>.

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

     </tr>.

<?php.

   }.

   if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) {.

?>.

     <tr>.

       <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td>.

     </tr>.

<?php.

   } else {.

?>.

     <tr>.

       <td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></td>.

     </tr>.

<?php.

   }.

?>.

     <tr>.

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

     </tr>.

     <tr>.

       <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">.

         <tr class="infoBoxContents">.

           <td><table border="0" width="100%" cellspacing="0" cellpadding="2">.

             <tr>.

               <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>.

               <td class="main"><?php echo '<a href="'tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params())'">'tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS)'</a>'; ?></td>.

               <td class="main" align="right"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id'])tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td>.

               <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>.

             </tr>.

           </table></td>.

         </tr>.

       </table></td>.

     </tr>.

     <tr>.

       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>.

     </tr>.

     <tr>.

       <td>.

<?php.

   if ((USE_CACHE == 'true') && empty($SID)) {.

     echo tep_cache_also_purchased(3600);.

   } else {.

     include(DIR_WS_MODULESFILENAME_ALSO_PURCHASED_PRODUCTS);.

   }.

 }.

?>.

       </td>.

     </tr>.

   </table></form></td>.

<! body_text_eof //>.

   <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">.

<! right_navigation //>.

<?php require(DIR_WS_INCLUDES'column_right.php'); ?>.

<! right_navigation_eof //>.

   </table></td>.

 </tr>.

</table>.

<! body_eof //>.

<! footer //>.

<?php require(DIR_WS_INCLUDES'footer.php'); ?>.

<! footer_eof //>.

<br>.

</body>.

</html>.

<?php require(DIR_WS_INCLUDES'application_bottom.php'); ?>.

Hopefully I gave enough info this time.

Thanks again for all the help guys..

Comment #7

Ok, well I think was able to put in the code I needed for the product_info.php..

Now my question is simple... now that i've put in that contrib.. where do I go to change the attribute order? I went under products attributes but I didn't see anything different. Maybe it's just not working, but I don't know. Any idea?..

Comment #8

You need another contrib.

Try:.

Product Attributes Sort Order.

Use version V1.04..

Ed.

This post has been edited by.

Medvid.

: 05 November 2004, 20:49..

Comment #9

Ok.. I noticed where there is now a sort order field on the attributes list.. but that doesnt really help because I have over 1000 attributes for the items i've entered so far.. i'm not about to go back and change the values on each item.. I just wanted to do it on the attribute itself, if that makes sense...

Comment #10

Brian,.

No, what do you mean "on the attribute itself" You have three attributes (like color, size, and style) with drop downs and want them sorted style, size, color or something?.

Ed..

Comment #11

Is there a way to sort attributes manually without installing a contribution? Reason for this is I have already put in a contribution for the categories.php file and don't want to replace it for another contribution. If it can be done by adding a contribution that doesn't alter the categories.php file, then that would work too, but all the ones I found altered this file. Any suggestions?.

Thanks in advance..

Brian..

Comment #12

Brien,.

The.

Product Attributes Sort Order v1.0.

Contrib does not modify categories.php. If you do use it, be sure to use V1.04 from 29 Feb 2004..

Ed..

Comment #13


This question was taken from a support group/message board and re-posted here so others can learn from it.