mac2me Posted December 1, 2009 Posted December 1, 2009 Hi there, is there any chance that instead of muli-add quantity boxes they could be replaced with check boxes w/ select all button ? My products are do not require add'l product options nor add'l quantity. thanks liz. Quote
spooks Posted December 2, 2009 Author Posted December 2, 2009 Hi there, is there any chance that instead of muli-add quantity boxes they could be replaced with check boxes w/ select all button ? My products are do not require add'l product options nor add'l quantity. thanks liz. I'm afraid thats not something that I plan to add any time soon, I`ll keep it in mind though. Quote Sam Remember, What you think I ment may not be what I thought I ment when I said it. Contributions: Auto Backup your Database, Easy way Multi Images with Fancy Pop-ups, Easy way Products in columns with multi buy etc etc Disable any Category or Product, Easy way Secure & Improve your account pages et al.
mac2me Posted December 2, 2009 Posted December 2, 2009 I'm afraid thats not something that I plan to add any time soon, I`ll keep it in mind though. Hi Sam, I appreciate your response and ALL the very hard work you've done with this contribution!! If I do happen to get the checkboxes working I'll pass you along the code..... : ) cheers. Quote
fan4chevy Posted December 2, 2009 Posted December 2, 2009 (edited) Spooks, Great work! I am having the following issues and hope you might be able to help: 1.) In admin I have it set to product listing style- thumbs and grid and product Listing set to Buy Now / Details. However, I only show the Buy Now button on product listing but on New products listing shows both buy now and details. How do I get it to show both Buy Now and Detail buttons? 2.) Want background image behind thumbnail. I put the provided inserts in CSS and uploaded the image but it is not not showing up behind the thumbnail. Any ideas? Thank you again. Charles Edited December 2, 2009 by fan4chevy Quote
spooks Posted December 2, 2009 Author Posted December 2, 2009 buy now and details don't work 1.) In admin I have it set to product listing style- thumbs and grid and product Listing set to Buy Now / Details. However, I only show the Buy Now button on product listing but on New products listing shows both buy now and details. How do I get it to show both Buy Now and Detail buttons? 2.) Want background image behind thumbnail. I put the provided inserts in CSS and uploaded the image but it is not not showing up behind the thumbnail. Any ideas? I did say I wasn't guaranteeing no bugs in the current version, yes I didn't test that mode (buy now and details ) after the latest button code changes & its not working properly , sorry, I'll release a fixed version as soon as I'm able. You need to look up css backround techniques, I gave tips in the doc, but if your struggling there's plenty of sites dedicated to css techniques, I'm afraid I can't help with every little niggle!! Quote Sam Remember, What you think I ment may not be what I thought I ment when I said it. Contributions: Auto Backup your Database, Easy way Multi Images with Fancy Pop-ups, Easy way Products in columns with multi buy etc etc Disable any Category or Product, Easy way Secure & Improve your account pages et al.
fan4chevy Posted December 2, 2009 Posted December 2, 2009 Thanks Spooks, I am trying to get it to look just like your Product_thumbnail_listing.jpg image with the gradient background and the buy/detail buttons. Just not quite getting it yet.:) Quote
spooks Posted December 2, 2009 Author Posted December 2, 2009 I am trying to get it to look just like your Product_thumbnail_listing.jpg image with the gradient background and the buy/detail buttons. Just not quite getting it yet. I gave tips in the doc If you wish to use a background image, add to the .infoBoxProducts above: background-image: url(images/my-pic.gif); background-attachment: scroll; background-x-position: 0%; background-y-position: 0%; background-repeat: repeat-x; & put the pic in your images directory. Quote Sam Remember, What you think I ment may not be what I thought I ment when I said it. Contributions: Auto Backup your Database, Easy way Multi Images with Fancy Pop-ups, Easy way Products in columns with multi buy etc etc Disable any Category or Product, Easy way Secure & Improve your account pages et al.
spooks Posted December 3, 2009 Author Posted December 3, 2009 Uploaded new version 2.4 Fixed issue with details/buy now buttons Added quantity drop down option, see settings for use. There is currently on-going development of this contribution, so some controls that currently require changes within the code will ultimately be ported to admin controls. Changed files: product_listing.php, CSS UPGRADING Upload the changed files. Add new entries to your style sheet Quote Sam Remember, What you think I ment may not be what I thought I ment when I said it. Contributions: Auto Backup your Database, Easy way Multi Images with Fancy Pop-ups, Easy way Products in columns with multi buy etc etc Disable any Category or Product, Easy way Secure & Improve your account pages et al.
fan4chevy Posted December 3, 2009 Posted December 3, 2009 Hi Spooks, Glad you fixed the buy now and details area. However, I think I found a bug! I have narrowed it down the the MODS of product_listing.php and possibly in new_products.php. What it is doing is putting two images next to each other in the listing. One larger and one thumb. As a test, I uploaded these two files from the previous version and it resolved the duplication of images. Hope this helps, Charles Quote
spooks Posted December 3, 2009 Author Posted December 3, 2009 Tool tip image shows always Hi Spooks, Glad you fixed the buy now and details area. However, I think I found a bug! I have narrowed it down the the MODS of product_listing.php and possibly in new_products.php. What it is doing is putting two images next to each other in the listing. One larger and one thumb. As a test, I uploaded these two files from the previous version and it resolved the duplication of images. Hope this helps, Charles Thats not a bug, you have tool tip enabled, but have failed to make the changes detailed to use it, see the doc. Quote Sam Remember, What you think I ment may not be what I thought I ment when I said it. Contributions: Auto Backup your Database, Easy way Multi Images with Fancy Pop-ups, Easy way Products in columns with multi buy etc etc Disable any Category or Product, Easy way Secure & Improve your account pages et al.
fan4chevy Posted December 3, 2009 Posted December 3, 2009 Thanks Sooks. I got it! I changed this in the supplied file mods/product_listing.php to false and now only shows the one image. Charles Quote
Guest Posted December 4, 2009 Posted December 4, 2009 FAO: Spooks or anyone with good knowledge of this contrib. I have just installed the Product Extra Fields add-on and I’m having problems getting the extra fields to display on product listing. dremhmrk2 had a similar problem on page 54 of this thread, but he was using the thumbnail view on his site and I am using manufacturers view. Here is the code that worked for dremhmrk2 but has I said I am using manufactures view and it doesn’t seem to work (either that or I’m putting it in the wrong place). My full product_listing code is below, if someone could let me know where to place the code it would be great. case 'PRODUCT_LIST_NAME': $extra_fields_text = ''; $extra_fields_query = tep_db_query(" SELECT pef.products_extra_fields_name as name, ptf.products_extra_fields_value as value FROM ". TABLE_PRODUCTS_EXTRA_FIELDS ." pef, ". TABLE_PRODUCTS_TO_PRODUCTS_EXTRA_FIELDS ." ptf WHERE ptf.products_extra_fields_id=pef.products_extra_fields_id and ptf.products_id=". (int) $products['products_id'] ." and (pef.languages_id = '0' or pef.languages_id = '".(int)$languages_id."') and ptf.products_extra_fields_value<>'' and pef.products_extra_fields_status ORDER BY pef.products_extra_fields_order"); while ($extra_fields = tep_db_fetch_array($extra_fields_query)) { $extra_fields_text .= '<tr><td class="smallText"><span class="xtra-field-name">' . $extra_fields['name'] . ': </span><span class="xtra-field-value">' . $extra_fields['value'] . '</span></td></tr>'; } $display .= '<table summary="" width="100%" ><tr><td class="thumbcontent" height="'.PRODUCT_NAME_VSPACE.'" >'.$name.'</td></tr>' . $extra_fields_text . '</table>'; break; My product_listing.php (with none of the above code added). Ideally I like the extra product fields code to replace "PRODUCT_LIST_DESCRIPTION" as will be no longer need if I can get the extra fields to show. <form name="cart_multi" method="post" action="<?php echo tep_href_link(FILENAME_SHOPPING_CART, tep_get_all_get_params(array('action')) . 'action=add_multi', 'NONSSL'); ?>"> <script language=javascript> function changeValue(textObject,delta){ var myVal = parseInt(textObject.value); if (myVal == NaN) { myVal = 0; } else { myVal = myVal + delta; } /* check that it is not negetive */ if (myVal < 0) { myVal = 0; } textObject.value = myVal; return; } </script> <?php /* $Id: product_listing.php,v 2 2008/06/30 22:49:59 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ if (PRODUCTS_PER_ROW == 'PRODUCTS_PER_ROW' || PRODUCTS_PER_ROW == 0 || LISTING_SWITCH == 'LISTING_SWITCH') { $to = 'Setup Error!\nPlease ensure you have run the\nProduct Listing Setup File.' ; print "<script>alert('$to');</script>"; } $listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id'); if ( ($listing_split->number_of_rows > (int)MAX_DISPLAY_SEARCH_RESULTS) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) { ?> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="smallText"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td> <td class="smallText" align="right"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td> </tr> </table> <?php } function thumbnail($products,$manufacturer = NULL,$column_list,$border,$borderend,$PHP_SELF) { $currencies = new currencies(); $image = $products['products_image']; $addimages = (file_exists(DIR_WS_CLASSES . 'displayimages.php')); // Additional Images Present if ($addimages) { $image_query = tep_db_query( "SELECT ai.medium_images, ai.images_description, ai.popup_images, p.products_image_med, p.products_image_description FROM " . TABLE_ADDITIONAL_IMAGES . " ai, " . TABLE_PRODUCTS . " p WHERE ai.products_id=p.products_id and ai.products_id = '".(int)$products['products_id']."'"); $selected_image = tep_db_fetch_array($image_query); $image = ($selected_image['medium_images'] ? $selected_image['medium_images'] : ($selected_image['products_image_med'] ? $selected_image['products_image_med'] : ($selected_image['popup_images'] ? $selected_image['popup_images'] : $products['products_image']))); } $image = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $image, ($addimages ? ($selected_image['images_description'] ? $selected_image['images_description'] : ($selected_image['products_image_description'] ? $selected_image['products_image_description'] : $products['products_name'])) : $products['products_name']), PRODUCT_IMAGE_WIDTH, '') . '</a>' . '<br><br>'; $buypic = (LISTING_BUTTON == 'buy now' ? 'button_in_cart.gif' : 'button_buy_now.gif'); $button = (LISTING_BUTTON != 'none' && PRODUCT_LIST_BUY_NOW ? (LISTING_BUTTON == 'buy now & details' ? '<br><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $products['products_id']) . '">' . tep_image_button($buypic, IMAGE_BUTTON_BUY_NOW, 'class="thm_buy_now"') . '</a> <span class="buy_now">|</span> <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id']) . '">' . tep_image_button('button_details_small.gif', IMAGE_BUTTON_DETAILS, 'class="thm_buy_now"') . '</a><br><br>' : (strstr(LISTING_BUTTON, 'buy now') ? '<br><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $products['products_id']) . '">' . tep_image_button($buypic, IMAGE_BUTTON_BUY_NOW) . '</a><br><br>' : '<br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id']) . '">' . tep_image_button('button_details.gif', IMAGE_BUTTON_DETAILS) . '</a><br><br>' )) : ' '); $name = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id']) . '">'. '<b>' . $products['products_name'] . '</b>' . '</a><br>'. ($products['short_desc'] && (PRODUCT_SHORT_DESC == 'true') ? '<br>' . $products['short_desc'] . '<br>' : ''); $price = (function_exists(display_short_price)) ? $currencies->display_short_price($products['products_price'], tep_get_tax_rate($products['products_tax_class_id'])) : $currencies->display_price($products['products_price'], tep_get_tax_rate($products['products_tax_class_id'])); $show_price = '<br><font size="'.PRODUCT_PRICE_SIZE.'">' . ($products['products_price'] > 0 ? $price : 'P.O.A') . '<br></font>'; $quantity = ($products['products_quantity'] ? 'Stock = '.$products['products_quantity'] : 'Out of Stock').'<br />'; $weight = 'Weight = '.$products['products_weight'].'Kg<br />'; $model = $products['products_model'] . '<br>'; $manfact = $products['manufacturers_name'].'<br />'.(MANU_DESCRIPTION == 'true' && $products['manufacturers_description'] ? $manufacturer['manufacturers_description'].'<br />' : ''); $display = $border; for ($disp=0, $n=sizeof($column_list); $disp<$n; $disp++) { switch ($column_list[$disp]) { case 'PRODUCT_LIST_IMAGE': $display .= $image; break; case 'PRODUCT_LIST_NAME': $display .= $name; break; case 'PRODUCT_LIST_MODEL': $display .= $model; break; case 'PRODUCT_LIST_MANUFACTURER': $display .= $manfact; break; case 'PRODUCT_LIST_PRICE': $display .= $show_price; break; case 'PRODUCT_LIST_QUANTITY': $display .= $quantity; break; case 'PRODUCT_LIST_WEIGHT': $display .= $weight; break; } } $display .= $borderend . $button; return($display); }// thumb function end function list_box_head($column_list) { for ($col=0, $n=sizeof($column_list); $col<$n; $col++) { switch ($column_list[$col]) { case 'PRODUCT_LIST_MODEL': $lc_text = TABLE_HEADING_MODEL; $lc_align = 'center'; break; // BO Review Rating in Product Listing 1.0 $reviews_query_raw = "select r.reviews_id, left(rd.reviews_id,100) as reviews_id, r.reviews_rating from " . TABLE_REVIEWS . " r, " . TABLE_REVIEWS_DESCRIPTION . " rd, " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = r.products_id and r.reviews_id = rd.reviews_id and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' and rd.languages_id = '" . (int)$languages_id . "' and p.products_id = ". (int)$listing['products_id'] ." order by r.reviews_id DESC"; $reviews_split = new splitPageResults($reviews_query_raw, MAX_DISPLAY_NEW_REVIEWS); $compteurReview = 0; $noteReview = 0; $reviews_query = tep_db_query($reviews_split->sql_query); while ($reviews = tep_db_fetch_array($reviews_query)) { $compteurReview +=1; $noteReview += (int)$reviews['reviews_rating']; } // EO Review Rating in Product Listing 1.0 case 'PRODUCT_LIST_NAME': $lc_text = TABLE_HEADING_PRODUCTS; $lc_align = ''; break; case 'PRODUCT_LIST_MANUFACTURER': $lc_text = TABLE_HEADING_MANUFACTURER; $lc_align = ''; break; case 'PRODUCT_LIST_PRICE': $lc_text = TABLE_HEADING_PRICE; $lc_align = 'right'; break; case 'PRODUCT_LIST_PRICE_EX': $lc_text = TABLE_HEADING_PRICE_EX; $lc_align = 'center'; break; case 'PRODUCT_LIST_QUANTITY': $lc_text = TABLE_HEADING_QUANTITY; $lc_align = 'right'; break; // START: display min. order. qty. mod case 'PRODUCT_LIST_MIN_ORDER_QTY': $lc_align = 'center'; $lc_text = ' ' . TABLE_HEADING_MIN_ORDER_QTY . ' '; break; // END: display min. order. qty. mod case 'PRODUCT_LIST_WEIGHT': $lc_text = TABLE_HEADING_WEIGHT; $lc_align = 'right'; break; case 'PRODUCT_LIST_IMAGE': $lc_text = TABLE_HEADING_IMAGE; $lc_align = 'center'; break; case 'PRODUCT_LIST_BUY_NOW': $lc_text = (strstr(LISTING_BUTTON, 'buy now')? TABLE_HEADING_BUY_NOW : TABLE_HEADING_DETAIL); $lc_align = 'center'; break; } if ( ($column_list[$col] != 'PRODUCT_LIST_BUY_NOW') && ($column_list[$col] != 'PRODUCT_LIST_IMAGE') ) { $lc_text = tep_create_sort_heading($_GET['sort'], $col+1, $lc_text); } $list_box_contents[] = array('align' => $lc_align,'params' => 'class="productListing-heading"','text' => ' ' . $lc_text . ' '); } return ($list_box_contents); } // function list_head end function list_box_data($listing, $column_list,$PHP_SELF) { $currencies = new currencies(); if (!strstr(PRODUCT_THUMBNAIL_VIEW, 'block')) { for ($col=0, $n=sizeof($column_list); $col<$n; $col++) { $lc_align = ''; switch ($column_list[$col]) { case 'PRODUCT_LIST_MODEL': $lc_align = 'center'; $lc_text = ' ' . $listing['products_model'] . ' '; break; case 'PRODUCT_LIST_NAME': $lc_align = ''; if (isset($HTTP_GET_VARS['manufacturers_id'])) { $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '"></a>'; } else { $lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $listing['products_id']) . '">' . $category['categories_product_title'] . '</a> '; } if (PRODUCT_LIST_DESCRIPTION && $listing['products_description'] && PRODUCT_LIST_DESCRIPTION_MAX_LENGTH) $lc_text .= '<table border="0" cellpadding="0" cellspacing="0" width="90%"><tr><td class="productDesc">' . tep_flatten_product_description($listing['products_description'], ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $listing['products_id']) . '">' . TEXT_MORE . '</a>') . '</td></tr></table>'; // BO Review Rating in Product Listing 1.0 if ($compteurReview >0) { $noteReview = $noteReview/$compteurReview; $lc_text .= '<br><i><a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS . '?products_id=' . $listing['products_id']) . '">' . sprintf(TEXT_REVIEW_RATING_ALG, tep_image(DIR_WS_IMAGES . 'stars_' . (int)$noteReview . '.gif', $noteReview .'/5'), $compteurReview) . '</a></i>'; } // EO Review Rating in Product Listing 1.0 if ($listing['products_high_capacity'] == true) { $lc_text .= '<span class="productPriceEX">' . HIGH_CAPACITY_PRODUCT . '</span>'; } else { } if ($listing['products_multi_pack'] == true) { $lc_text .= '<span class="productPriceEX">' . MULTI_PACK_PRODUCT . '</span>'; } else { } break; case 'PRODUCT_LIST_MANUFACTURER': $lc_align = ''; $lc_text = ' <a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing['manufacturers_id']) . '">' . $listing['manufacturers_name'] . '</a> '; break; case 'PRODUCT_LIST_PRICE': $lc_align = 'right'; if (tep_not_null($listing['specials_new_products_price'])) { $lc_text = '<s>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span><BR><span class="productSpecialPriceEX">(' . $currencies->display_price_ex($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . ' ex.vat)</span><br>'; $lc_align = 'right'; $lc_text .= '<Table><td class="main" valign="center">QTY:<input type="text" STYLE="text-align:center" name="add_id['.$number_of_products.']" id="add_id_'.$listing['products_id'].'" value="0" size="1"><td><img src="images/btn-up.gif" border="0" width=21 height=10 onclick="javascript:changeValue(document.getElementById(\'add_id_'.$listing['products_id'].'\'),1);return false;"><br><img src="images/btn-dn.gif" border="0" width=21 height=10 onclick="javascript:changeValue(document.getElementById(\'add_id_'.$listing['products_id'].'\'),-1);return false; "></td></Table>'; $lc_text .= '<input type="hidden" name="products_id['.$number_of_products.']" value="'.$listing['products_id'].'">'; } else { $lc_text = ' ' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . ' <br><span class="productPriceEX">(' . $currencies->display_price_ex($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . ' ex.vat)</span><br>'; $lc_align = 'right'; $lc_text .= '<Table><td class="main" valign="center">QTY:<input type="text" STYLE="text-align:center" name="add_id['.$number_of_products.']" id="add_id_'.$listing['products_id'].'" value="0" size="1"><td><img src="images/btn-up.gif" border="0" width=21 height=10 onclick="javascript:changeValue(document.getElementById(\'add_id_'.$listing['products_id'].'\'),1);return false;"><br><img src="images/btn-dn.gif" border="0" width=21 height=10 onclick="javascript:changeValue(document.getElementById(\'add_id_'.$listing['products_id'].'\'),-1);return false; "></td></Table>'; $lc_text .= '<input type="hidden" name="products_id['.$number_of_products.']" value="'.$listing['products_id'].'">'; } if ($listing['products_free_shipping'] == true) { $lc_text .= '<BR>' . FREE_SHIPPING_FOR_THIS_PRODUCT2 . ''; } else { $lc_text .= '<BR>' . FREE_SHIPPING_FOR_THIS_PRODUCT3 . ''; } break; case 'PRODUCT_LIST_QUANTITY': $lc_align = 'right'; $lc_text = ' ' . $listing['products_quantity'] . ' '; break; // START: display min. order. qty. mod case 'PRODUCT_LIST_MIN_ORDER_QTY': $lc_align = ''; $lc_text = ' ' . $listing['products_min_order_qty'] . ' '; break; // END: display min. order. qty. mod case 'PRODUCT_LIST_WEIGHT': $lc_align = 'right'; $lc_text = ' ' . $listing['products_weight'] . ' '; break; case 'PRODUCT_LIST_IMAGE': $lc_align = 'center'; if (isset($_GET['manufacturers_id'])) { $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $_GET['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>'; } else { $lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a> '; // BO Review Rating in Product Listing 1.0 if ($compteurReview >0) { $noteReview = $noteReview/$compteurReview; $lc_text .= '<br><i><a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS . '?products_id=' . $listing['products_id']) . '">' . sprintf(TEXT_REVIEW_RATING_ALG, tep_image(DIR_WS_IMAGES . 'stars_' . (int)$noteReview . '.gif', $noteReview .'/5'), $compteurReview) . '</a></i>'; } // EO Review Rating in Product Listing 1.0 } break; case 'PRODUCT_LIST_BUY_NOW': $lc_align = 'center'; $lc_text = ''; break; } $list_box_temp[] = array('align' => $lc_align, 'params' => 'class="productListing-data" valign="top"', 'text' => $lc_text); } } else { // block listing $list_box_temp = array(); if (PRODUCT_LIST_IMAGE) { $list_box_temp[] = array('align' => 'center', 'params' => 'class="productListing-data" ', 'text' => (isset($_GET['manufacturers_id']) ? '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $_GET['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>' : '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>' )); } $display =''; for ($col=0, $n=sizeof($column_list); $col<$n; $col++) { switch ($column_list[$col]) { case 'PRODUCT_LIST_MODEL': $display .= $listing['products_model'] . '<br>'; break; case 'PRODUCT_LIST_NAME': if (isset($_GET['manufacturers_id'])) { $display .= '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $_GET['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '"><b><u>' . $listing['products_name'] . '</u></b></a><br>' . ($listing['short_desc'] && (PRODUCT_SHORT_DESC == 'true') ? '<span class="short">' . $listing['short_desc'] . '</span><br>' : ''); } else { $display .= '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '"><b><u>' . $listing['products_name'] . '</u></b></a><br>' . ($listing['short_desc'] && (PRODUCT_SHORT_DESC == 'true') ? '<span class="short">' . $listing['short_desc'] . '</span><br>' : '');} break; case 'PRODUCT_LIST_MANUFACTURER': $display .= '<a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing['manufacturers_id']) . '">' . $listing['manufacturers_name'] . '</a><br>'; break; case 'PRODUCT_LIST_PRICE': $display .= '<br>Price: '; $price = (function_exists(display_short_price)) ? $currencies->display_short_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) : $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])); if (tep_not_null($listing['specials_new_products_price'])) { $display .= '<s>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span><br>'; } else { $display .= ($listing['products_price'] > 0 ? '' . $price : '' . TEXT_POA); if (function_exists(tep_get_att_price)) $display .= (tep_get_att_price($listing['products_id']) > 0 ? '+' : ' ') ; $display .= '<br>'; $lc_align = 'center'; $lc_text = '<input type="text" name="add_id['.$number_of_products.']" value="0" size="1">'; $lc_text = '<Table><td><input type="text" STYLE="text-align:center" name="add_id['.$number_of_products.']" id="add_id_'.$listing['products_id'].'" value="0" size="1"><td><img src="images/btn-up.gif" border="0" width=21 height=11 onclick="javascript:changeValue(document.getElementById(\'add_id_'.$listing['products_id'].'\'),1);return false;"><br><img src="images/btn-dn.gif" border="0" width=21 height=11 onclick="javascript:changeValue(document.getElementById(\'add_id_'.$listing['products_id'].'\'),-1);return false; "></td></Table>'; $lc_text .= '<input type="hidden" name="products_id['.$number_of_products.']" value="'.$listing['products_id'].'">'; } break; case 'PRODUCT_LIST_QUANTITY': $display .= ($listing['products_quantity'] ? 'Stock = ' . $listing['products_quantity'] : 'Out of Stock') . '<br>'; break; case 'PRODUCT_LIST_WEIGHT': $display .= 'Weight = ' . $listing['products_weight'] . '<br>'; break; } } $list_box_temp[] = array('align' => 'left', 'params' => 'class="main" valign="top"', 'text' => $display); if (PRODUCT_LIST_BUY_NOW) { $buypic = (LISTING_BUTTON == 'buy now' ? 'button_in_cart.gif' : 'button_buy_now.gif'); $button = (LISTING_BUTTON == 'buy now & details' ? '<br><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button($buypic, IMAGE_BUTTON_BUY_NOW, 'class="thm_buy_now"') . '</a> <span class="buy_now">|</span> <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $listing['products_id']) . '">' . tep_image_button('button_details_small.gif', IMAGE_BUTTON_DETAILS, 'class="thm_buy_now"') . '</a><br><br>' : (strstr(LISTING_BUTTON, 'buy now') ? '<br><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button($buypic, IMAGE_BUTTON_BUY_NOW) . '</a><br><br>' : '<br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $listing['products_id']) . '">' . tep_image_button('button_details.gif', IMAGE_BUTTON_DETAILS) . '</a><br><br>' )) ; $list_box_temp[] = array('align' => 'left', 'params' => 'class="productListing-data" width="'.(100/4).'%" ', 'text' => $button); } } return ($list_box_temp); } // function list_box_data end // set initial values $thumbnail_view = (isset($HTTP_GET_VARS['list']) ? $HTTP_GET_VARS['list'] : PRODUCT_THUMBNAIL_VIEW); $empty_list=false; $grid = strstr(PRODUCT_THUMBNAIL_VIEW, 'grid'); $gborders = function_exists(mws_boxHeader); $Tborder = (!$gborders ? '<table class="infoBoxList" width="100%"><tr><td>' : mws_boxHeader ()); $Tborderend = (!$gborders ? '</td></tr></table>' : mws_boxFooter ()); $border2 = (!$gborders ? '<table class="infoBoxList" width="100%"><tr><td>' : ($graphic_bord == 'yes' ? mws_boxHeader() : '')); $border2end = (!$gborders ? '</td></tr></table>' : ($graphic_bord == 'yes' ? mws_boxFooter() : '')); // output selected display if (strstr($thumbnail_view, 'thumbnails')) { //thumbnail $row = 0; $col = 0; $border = (!$grid ? '<table class="infoBoxProducts" cellpadding="4" width="'.PRODUCT_LIST_WIDTH.'" height="'.PRODUCT_LIST_HEIGHT.'"><tr><td>' : '<br>'); $borderend = (!$grid ? '</td></tr></table>' : ''); $style = (!$grid ? 'class="smallText"' : 'class="infoBoxGrid"'); $info_box_contents = array(); if ($listing_split->number_of_rows > 0) { $listing_query = tep_db_query($listing_split->sql_query);} else { $listing_query = tep_db_query($listing_sql); } if (tep_db_num_rows($listing_query)) { while ($products = tep_db_fetch_array($listing_query)) { if ($row == 0) { if (!$gborders && !$grid) $info_box_contents[$row][$col] = array('align' => 'center', 'params' => 'class="smallText" width="'.(PRODUCTS_PER_ROW ? (100/PRODUCTS_PER_ROW) : '').'%" valign="top"', 'text' => ' '); echo $Tborder;$row ++; } $info_box_contents[$row][$col] = array('align' => 'center', 'params' => $style . ' width="'.(PRODUCTS_PER_ROW ? (100/PRODUCTS_PER_ROW) : '').'%" valign="top"', 'text' => thumbnail($products, '',$column_list,$border,$borderend,$PHP_SELF)); $col ++; if ($col > PRODUCTS_PER_ROW-1) { $col = 0; $row ++; } } // prod loop } else {$empty_list=true; }// no products!! // got display if ($row) { $col = 0;$row ++;$info_box_contents[$row][$col] = array('align' => 'center', 'params' => 'class="smallText" width="'.(PRODUCTS_PER_ROW ? (100/PRODUCTS_PER_ROW) : '').'%" ', 'text' => ' '); if ($gborders && class_exists(noborderBox)) new noborderBox($info_box_contents); else new contentBox($info_box_contents); echo $Tborderend; } else {$empty_list=true; } } elseif (strstr($thumbnail_view, 'manufacturer')) { //manufacturer $row = 0;$col = 0; if (!isset($_GET['manufacturers_id'])) { $filterlist_sql= tep_db_query("select distinct m.manufacturers_id, m.manufacturers_name, mi.manufacturers_description from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_MANUFACTURERS . " m left join " . TABLE_MANUFACTURERS_INFO . " mi on m.manufacturers_id = mi.manufacturers_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' and mi.languages_id = '" . (int)$languages_id . "' order by m.manufacturers_name"); }else{$filterlist_sql= tep_db_query("select distinct m.manufacturers_id, m.manufacturers_name, mi.manufacturers_description from " . TABLE_MANUFACTURERS . " m left join " . TABLE_MANUFACTURERS_INFO . " mi on m.manufacturers_id = mi.manufacturers_id where m.manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "' and mi.languages_id = '" . (int)$languages_id . "'");} if (tep_db_num_rows($filterlist_sql)) { echo tep_image_submit('button_in_cart2.gif', IMAGE_BUTTON_IN_CART, 'align="right"'); while ($manufacturer = tep_db_fetch_array($filterlist_sql)) { $info_box_heading = array(); echo $border2; $info_box_heading[0] = array('align' => 'left', 'text' => ''.$manufacturer['manufacturers_name'].' • '.$category['categories_name'].' <br />'.(MANU_DESCRIPTION == 'true' ? $manufacturer['manufacturers_description']. '<br />' : '')); new infoBoxHeading($info_box_heading, false, false); echo tep_draw_separator('pixel_trans.gif', '100%', '20'); $list_box_contents = array(); $list_box_contents[0] = (LISTING_HEADINGS == 'true' && !strstr(PRODUCT_THUMBNAIL_VIEW, 'block') ? list_box_head($column_list) : ''); if ($listing_split->number_of_rows > 0) { $rows = 0; $listing_query = tep_db_query($listing_split->sql_query);} else { $listing_query = tep_db_query($listing_sql); } while ($listing = tep_db_fetch_array($listing_query)) { if ($listing['manufacturers_id'] != $manufacturer['manufacturers_id']) continue; $rows++; $cur_row = sizeof($list_box_contents); $list_box_contents[$cur_row][] = array('align' => 'left', 'params' => 'colspan="'.sizeof($column_list).'" class="productListing-title"', 'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . ' </a>'); $list_box_contents[$cur_row+1] = list_box_data($listing, $column_list,$PHP_SELF); } if (!$rows && isset($_GET['manufacturers_id'])) { $list_box_contents = array(); $list_box_contents[0] = array('params' => 'class="productListing-odd"'); $list_box_contents[0][] = array('params' => 'class="productListing-data"', 'text' => TEXT_NO_PRODUCTS); $rows++; } if ($rows) new productListingBox($list_box_contents); echo $border2end . tep_draw_separator('pixel_trans.gif', '100%', '4'); echo tep_image_submit('button_in_cart2.gif', IMAGE_BUTTON_IN_CART,'align="right"'); } // man loop; $col = 0;$row ++;$info_box_contents[$row][$col] = array('align' => 'center', 'params' => 'class="smallText" width="33%" valign="top"', 'text' => ' '); } else {$empty_list=true; } // no manufacturers!! } if ((!strstr($thumbnail_view, 'thumbnails') && !strstr($thumbnail_view, 'manufacturer')) || $empty_list) { //default listing $list_box_contents = array(); $list_box_contents[0] = (LISTING_HEADINGS == 'true' && !strstr(PRODUCT_THUMBNAIL_VIEW, 'block') ? list_box_head($column_list) : ''); if ($listing_split->number_of_rows > 0) { $rows = 0; $listing_query = tep_db_query($listing_split->sql_query); while ($listing = tep_db_fetch_array($listing_query)) { $rows++; $cur_row = sizeof($list_box_contents); $list_box_contents[$cur_row] = array('align' => 'left', 'params' => 'colspan="'.sizeof($column_list).'" class="productListing-title"', 'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . ' ' . $category['categories_keyword'] . '</a>'); $list_box_contents[$cur_row+1] = list_box_data($listing, $column_list,$PHP_SELF); } new productListingBox($list_box_contents); } else { $list_box_contents = array(); $list_box_contents[0] = array('params' => 'class="productListing-odd"'); $list_box_contents[0][] = array('params' => 'class="productListing-data"', 'text' => TEXT_NO_PRODUCTS); new productListingBox($list_box_contents); } } if ( ($listing_split->number_of_rows > (int)MAX_DISPLAY_SEARCH_RESULTS) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3')) ) { ?> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td align="right" class="main"><?php echo tep_image_submit('button_in_cart2.gif', IMAGE_BUTTON_IN_CART); ?></td> </tr> </table> <?php echo tep_draw_separator('pixel_trans.gif', '100%', '20');?> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="smallText"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td> <td class="smallText" align="right"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td> </tr> </table> <?php } echo tep_draw_separator('pixel_trans.gif', '100%', '100'); if (!strstr(PRODUCT_THUMBNAIL_VIEW, 'list') && LISTING_SWITCH != 'false') echo '<br><span class="smalltext"><a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('list')). 'list='.($thumbnail_view == 'thumbnails' ? 'manufacturer' : 'thumbnails')) . '">' . ($thumbnail_view == 'thumbnails' ? 'List View' : 'Thumbnail View').'</a></span><br /><br />'; ?> </form> Quote
dandelion Posted December 4, 2009 Posted December 4, 2009 Sam, I just want to say a huge thank you to you for this great addon and your support in the forum. I just installed this and it is wonderful! THANK YOU! Quote
fan4chevy Posted December 4, 2009 Posted December 4, 2009 Since there are kudos, I agree! Spooks is a real asset here. Thanks Spooks. :thumbsup: Quote
spooks Posted December 4, 2009 Author Posted December 4, 2009 You need to replace $products[ with $listing[ but if you use the latest version its built in Quote Sam Remember, What you think I ment may not be what I thought I ment when I said it. Contributions: Auto Backup your Database, Easy way Multi Images with Fancy Pop-ups, Easy way Products in columns with multi buy etc etc Disable any Category or Product, Easy way Secure & Improve your account pages et al.
Guest Posted December 4, 2009 Posted December 4, 2009 You need to replace $products[ with $listing[ but if you use the latest version its built in changing $products[ to $listing[ didn't work for me. I think I'll have a crack at updating to the latest verison but I think it going to end in tears, we'll see. Will let you know how I get on. Thnaks. Quote
dandelion Posted December 4, 2009 Posted December 4, 2009 Hi.... I'm trying to do two things and need some php help Site is http://www.kingwestflowers.com/index.php/cPath/19 1) change the image to use lightbox - here is the code from product info <?php if (tep_not_null($product_info['products_image'])) { ?> <table border="0" cellspacing="0" cellpadding="2" align="right"> <tr> <td id="gallery" align="center" class="smallText"> <?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank" title="'.$product_info['products_name'].'">' . 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>'; ?> </td> </tr> </table> <?php }?> 2) Move the price to above the add to cart button I'm learning but this is beyond me. Thanks! arash.najafi 1 Quote
dandelion Posted December 4, 2009 Posted December 4, 2009 Hi.... I'm trying to do two things and need some php help Site is http://www.kingwestflowers.com/index.php/cPath/19 1) change the image to use lightbox - here is the code from product info <?php if (tep_not_null($product_info['products_image'])) { ?> <table border="0" cellspacing="0" cellpadding="2" align="right"> <tr> <td id="gallery" align="center" class="smallText"> <?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank" title="'.$product_info['products_name'].'">' . 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>'; ?> </td> </tr> </table> <?php }?> 2) Move the price to above the add to cart button I'm learning but this is beyond me. Thanks! I also want to remove links to the product_info page ... I changed Line 131 in Product Listing from $link = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $listing['products_id'] . ($man_id ? '&manufacturers_id='.$man_id : ( to $link = '<a href="' . tep_href_link(FILENAME_DEFAULT, 'products_id=' . $listing['products_id'] . ($man_id ? '&manufacturers_id='.$man_id : ( so now the product lising page just refreshes I know this is the wrong way to do it but anything else I try messes up the tool tip. For number 2 above: On second thought maybe I should move the add to cart button down beside the price instead of the price up above... anyway I don't know how to do either :blush: Quote
dandelion Posted December 4, 2009 Posted December 4, 2009 I made some styling changes to tool tip and now I'm happy with it as it is so I don't care about the lightbox any more. :thumbsup: Quote
spooks Posted December 4, 2009 Author Posted December 4, 2009 I made some styling changes to tool tip and now I'm happy with it as it is so I don't care about the lightbox any more. I will do an update to allow as many fields as you wish in the last column in block mode, but the change is too complex to post here, so please hang on!! Quote Sam Remember, What you think I ment may not be what I thought I ment when I said it. Contributions: Auto Backup your Database, Easy way Multi Images with Fancy Pop-ups, Easy way Products in columns with multi buy etc etc Disable any Category or Product, Easy way Secure & Improve your account pages et al.
fan4chevy Posted December 4, 2009 Posted December 4, 2009 Can someone give me a tip as to where I can fine tune the size of the grid or product individual column width and heights. I would like to tighten the space all around the image and in between each line such as title, pricing, buttons area, etc. Thanks, Quote
Guest Posted December 4, 2009 Posted December 4, 2009 changing $products[ to $listing[ didn't work for me. I think I'll have a crack at updating to the latest verison but I think it going to end in tears, we'll see. Will let you know how I get on. Thnaks. I've updated to Product Listing Enhancements, Thumbnails & Manufacturer Headings V2.4 and it didn't go to plan (as I predicted). There's no errors but the product listing isn't working right... the product images are appearing twice (whats all that about), the product extra fields don't show, the buy it now column doesn't show... Well just take a look here. any ideas? heres the admin settings: Quote
spooks Posted December 4, 2009 Author Posted December 4, 2009 I did'nt read the settings doc & it don't work!! Please read the settings doc esp re settings within the file (currently) also re tool tip usage. Quote Sam Remember, What you think I ment may not be what I thought I ment when I said it. Contributions: Auto Backup your Database, Easy way Multi Images with Fancy Pop-ups, Easy way Products in columns with multi buy etc etc Disable any Category or Product, Easy way Secure & Improve your account pages et al.
Guest Posted December 4, 2009 Posted December 4, 2009 I did'nt read the settings doc & it don't work!! Please read the settings doc esp re settings within the file (currently) also re tool tip usage. Yes I'm a dumb ass and didn't read the settings doc. LOL. Things have improved, but I still having issues (see here). Still can't get the following to display: - Qty boxes - product extra fields - product descriptions here are my settings from my product_listing file and the admin settings I posted above are the same: $graphic_bord = 'no'; // set to 'yes' if you have older 'graphic borders' and not 'easy graphic borders'. $cat_path = false; // set to true to include category paths in urls $no_drop = true; // set to true to remove resuls/page & sort order drop downs $set_width = false; // set to false to allow columns to find their own widths in list mode $ttip = false; // set to true to display tool tip pics on hover $ttip_width = 200; // width of tooltip image on hover $show_extra_fields = true; // set to true if you have products_extra_fields installed & you want to display the fields in the listing $head_title = false; // Set to true so each listing entry will have its own product TITLE header (list modes only) $multi_add = true; // Set to true to enable adding mutiple items to the cart at once $global_add = 'both'; // If $multi_add = true, set position of buy button, top, bottom or both (ie the ends of the listing) $qty_drop = true; // Set to true to have a drop down for quantity box instead of a input box Quote
Guest Posted December 4, 2009 Posted December 4, 2009 UPDATE^^^^^^^^^^^ qty box appears if I change the Product Listing Style in admin settings to thumbnails in grid, still no product extra fields though. No for me though I need manufacturer view. Quote
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.