Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Recommended Posts

Posted (edited)

i've installed ReviewRatingInProductListing1.2 before

it works very well and all users can find the average rating when exploring the lists

 

today i install another addon, product_listing_columns_2.29, which change the list style to column grid

try to add the code from ReviewRatingInProductListing1.2 into this add on but fail

can anyone help to have a look? thanks

 

 

 

code of "product_listing_col.php" from product_listing_columns_2.29:

 

<?php

/*

$Id: product_listing.php, v1.44 2003/06/09 22:49:43 hpdl Exp $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

//if number of column per row is 1, include the original product_listing.php

if (PRODUCT_LIST_NUMCOL == 1) {

include(dirname(__FILE__).'/product_listing.php');

} else {

$list_box_contents = array();

$list_box_contents[] = array('params' => 'class="productListing-heading"');

$cur_row = sizeof($list_box_contents) - 1;

 

// three variables that determine a certain output

$use_tr_for_buy_now_button = false;

$add_multiple = false;

$use_of_attributes = false;

 

for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {

switch ($column_list[$col]) {

 

case 'PRODUCT_LIST_MULTIPLE':

$add_multiple = true;

$use_of_attributes = true;

echo '<form name="buy_now_" method="post" action="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action', 'sort', 'products_id')) . 'action=add_multiple', 'NONSSL') . '">';

break;

 

case 'PRODUCT_LIST_BUY_NOW_MULTIPLE':

$use_of_attributes = true;

break;

 

case 'PRODUCT_LIST_BUY_NOW':

$use_tr_for_buy_now_button = true;

break;

}

}

 

$listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id');

 

if ( ($listing_split->number_of_rows > 0) && ( (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', 'products_id'))); ?></td>

</tr>

</table>

<?php

}

 

$list_box_contents = array();

 

if ($listing_split->number_of_rows > 0) {

 

if (PRODUCT_LIST_NUMCOL <= 0) {

$colnum = 3;

$tdsize = floor(100/3);

} else {

$colnum = PRODUCT_LIST_NUMCOL;

$tdsize = floor(100/PRODUCT_LIST_NUMCOL);

}

 

$row = 0;

$column = 0;

$listing_query = tep_db_query($listing_split->sql_query);

$no_of_listings = tep_db_num_rows($listing_query);

 

while ($_listing = tep_db_fetch_array($listing_query)) {

$_listing['total'] = ''; // for number of attributes

$listing[] = $_listing;

$list_of_prdct_ids[] = $_listing['products_id'];

}

 

// lets save all the separate count queries that check if a product has attributes

// and do it in one (if needed)

if ($use_of_attributes == true) {

$products_attributes_count_query = tep_db_query("select count(*) as total, patrib.products_id from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id in (" . implode(',', $list_of_prdct_ids) . ") and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "' group by products_id");

while ($_products_attributes_count = tep_db_fetch_array($products_attributes_count_query)) {

$products_attributes_count[] = array('products_id' => $_products_attributes_count['products_id'], 'total' => $_products_attributes_count['total']);

}

$no_of_products_with_attributes = count($products_attributes_count);

for ($x = 0; $x < $no_of_listings; $x++) {

if (!empty($products_attributes_count)) {

for ($i = 0; $i < $no_of_products_with_attributes; $i++) {

if ($listing[$x]['products_id'] == $products_attributes_count[$i]['products_id'] ) {

$listing[$x]['total'] = $products_attributes_count[$i]['total'];

}

}

}

} // end for ($x = 0; $x < $no_of_listings; $x++)

} // end ($use_of_attributes == true)

 

// an extra query is used for all the specials because joining the table specials in a query

// often results in a slow query if you haven't added additional indexes to that table

// see http://www.oscommerce.com/forums/index.php?s=&showtopic=119077&view=findpost&p=1118789 and further

 

$specials_query = tep_db_query("select products_id, specials_new_products_price from " . TABLE_SPECIALS . " where products_id in (" . implode(',', $list_of_prdct_ids) . ") and status = '1'");

while ($specials_array = tep_db_fetch_array($specials_query)) {

$new_s_prices[] = array ('products_id' => $specials_array['products_id'], 'products_price' => '', 'specials_new_products_price' => $specials_array['specials_new_products_price']);

}

 

// add the correct specials_new_products_price and replace final_price

for ($x = 0; $x < $no_of_listings; $x++) {

if (!empty($new_s_prices)) {

for ($i = 0; $i < count($new_s_prices); $i++) {

if ($listing[$x]['products_id'] == $new_s_prices[$i]['products_id'] ) {

$listing[$x]['specials_new_products_price'] = $new_s_prices[$i]['specials_new_products_price'];

}

}

} // end if (!empty($new_s_prices)

} // end for ($x = 0; $x < $no_of_listings; $x++)

 

$counter = 0;

$class_for_buy_now = 'class="productListing-data" width="' . $tdsize . '%"';

for ($x = 0; $x < $no_of_listings; $x++) {

if ($x % PRODUCT_LIST_NUMCOL == 0) { // start of new row

if (($counter+1)/2 == floor(($counter+1)/2)) { // start with the background color productListing-odd

//if ($counter/2 == floor($counter/2)) { // if you want to start with the background color productListing-even use this

$list_box_contents[$row] = array('params' => 'class="productListing-even"');

$class_for_buy_now_row = 'class="productListing-even"';

} else {

$list_box_contents[$row] = array('params' => 'class="productListing-odd"');

$class_for_buy_now_row = 'class="productListing-odd"';

}

} // end if ($x % PRODUCT_LIST_NUMCOL == 0)

 

$product_contents = array();

for ($col=0, $n=sizeof($column_list); $col<$n; $col++) {

$lc_align = '';

 

switch ($column_list[$col]) {

 

case 'PRODUCT_LIST_MODEL':

$lc_align = '';

$lc_text = ' ' . $listing[$x]['products_model'] . ' ';

break;

 

case 'PRODUCT_LIST_NAME':

$lc_align = '';

if (isset($_GET['manufacturers_id'])) {

$lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . (int)$_GET['manufacturers_id'] . '&products_id=' . $listing[$x]['products_id']) . '">' . $listing[$x]['products_name'] . '</a>';

} else {

$lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing[$x]['products_id']) . '">' . $listing[$x]['products_name'] . '</a> ';

}

break;

 

case 'PRODUCT_LIST_MANUFACTURER':

$lc_align = '';

$lc_text = ' <a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing[$x]['manufacturers_id']) . '">' . $listing[$x]['manufacturers_name'] . '</a> ';

break;

 

case 'PRODUCT_LIST_PRICE':

$lc_align = 'right';

if (tep_not_null($listing[$x]['specials_new_products_price'])) {

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

} else {

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

}

break;

 

case 'PRODUCT_LIST_QUANTITY':

$lc_align = 'right';

$lc_text = ' ' . $listing[$x]['products_quantity'] . ' ';

break;

 

case 'PRODUCT_LIST_WEIGHT':

$lc_align = 'right';

$lc_text = ' ' . $listing[$x]['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=' . (int)$_GET['manufacturers_id'] . '&products_id=' . $listing[$x]['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing[$x]['products_image'], $listing[$x]['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[$x]['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing[$x]['products_image'], $listing[$x]['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a> ';

}

break;

 

case 'PRODUCT_LIST_BUY_NOW':

// this button will be in a separate table row for better aligning

$buy_now_button_array[] = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action','sort','products_id')) . 'action=buy_now&products_id=' . $listing[$x]['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW, 'style="padding-top: 5px;"') . '</a> ';

$lc_text = ''; // otherwise the previous $lc_text will be outputted again

break;

 

// Begin Buy Now button with attributes and quantity mod

// Begin Add Multiple with attributes Contrib

case 'PRODUCT_LIST_MULTIPLE':

$lc_align = 'right';

$lc_valign = 'top';

$lc_text = (TABLE_HEADING_MULTIPLE . tep_draw_input_field('Qty_ProdId_' . $listing[$x]['products_id'], '0', 'size="4"'));

if ((int)$listing[$x]['total'] > 0) {

$lc_text .= '<table border="0" cellpadding="0" cellspacing"0">';

$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='" . $listing[$x]['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'");

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

$selected_attribute = false;

$products_options_array = array();

$lc_text .= '<tr><td class="main">' . $products_options_name['products_options_name'] . ':</td><td>' . "\n";

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

$list_of_prdcts_attributes_id = '';

$products_options = array(); // makes sure this array is empty again

while ($_products_options = tep_db_fetch_array($products_options_query)) {

$products_options[] = $_products_options;

}

 

for ($v = 0 ; $v < count($products_options); $v++) {

$options_text = ''; // make it empty again

$options_text = $products_options[$v]['products_options_values_name'];

if (defined('PRODUCT_LIST_ACTUAL_PRICE_IN_DROPDOWN') && PRODUCT_LIST_ACTUAL_PRICE_IN_DROPDOWN == 'Yes') {

//if ((int) $products_options[$v]['options_values_price'] != '0') {

if (tep_not_null($listing[$x]['specials_new_products_price'])) {

$original_price = $listing[$x]['specials_new_products_price'];

} else {

$original_price = $listing[$x]['products_price'];

}

if ($products_options[$v]['price_prefix'] == "-") { // in case price lowers, don't add values, subtract

$show_price = 0.0 + $original_price - $products_options[$v]['options_values_price']; // force float (in case) using the 0.0;

} else {

$show_price = 0.0 + $original_price + $products_options[$v]['options_values_price']; // force float (in case) using the 0.0;

}

$options_text .= ' (' . $currencies->display_price($show_price, tep_get_tax_rate($listing[$x]['products_tax_class_id'])) .') ';

//}

} else {

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

$options_text .= ' (' . $products_options[$v]['price_prefix'] . $currencies->display_price($products_options[$v]['options_values_price'], tep_get_tax_rate($listing[$x]['products_tax_class_id'])) .') ';

}

}

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

} // end for ($v = 0 ; $v < count($products_options); $v++)

 

$lc_text .= tep_draw_pull_down_menu('id_'.$listing[$x]['products_id'].'[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute);

$lc_text .= '</td></tr>';

}

$lc_text .= '</table>';

}

break;

 

case 'PRODUCT_LIST_BUY_NOW_MULTIPLE':

$lc_align = 'right';

$lc_valign = 'top';

$lc_text = '<form name="buy_now_' . $listing[$x]['products_id'] . '" method="post" action="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action','sort','products_id')) . 'action=buy_now_form', 'NONSSL') . '">';

$lc_text .= (TABLE_HEADING_MULTIPLE) . '<input type="text" name="cart_quantity" value="1" maxlength="6" size="4">';

if ((int)$listing[$x]['total'] > 0) {

$lc_text .= '<table border="0" cellpadding="0" cellspacing"0">';

$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='" . $listing[$x]['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'");

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

$selected_attribute = false;

$products_options_array = array();

$lc_text .= '<tr><td class="main">' . $products_options_name['products_options_name'] . ':</td><td>' . "\n";

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

$list_of_prdcts_attributes_id = '';

$products_options = array(); // makes sure this array is empty again

while ($_products_options = tep_db_fetch_array($products_options_query)) {

$products_options[] = $_products_options;

}

 

for ($v = 0 ; $v < count($products_options); $v++) {

$options_text = ''; // make it empty again

$options_text = $products_options[$v]['products_options_values_name'];

if (defined('PRODUCT_LIST_ACTUAL_PRICE_IN_DROPDOWN') && PRODUCT_LIST_ACTUAL_PRICE_IN_DROPDOWN == 'Yes') {

if (tep_not_null($listing[$x]['specials_new_products_price'])) {

$original_price = $listing[$x]['specials_new_products_price'];

} else {

$original_price = $listing[$x]['products_price'];

}

if ($products_options[$v]['price_prefix'] == "-") { // in case price lowers, don't add values, subtract

$show_price = 0.0 + $original_price - $products_options[$v]['options_values_price']; // force float (in case) using the 0.0;

} else {

$show_price = 0.0 + $original_price + $products_options[$v]['options_values_price']; // force float (in case) using the 0.0;

}

$options_text .= ' (' . $currencies->display_price($show_price, tep_get_tax_rate($listing[$x]['products_tax_class_id'])) .') ';

} else {

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

$options_text .= ' (' . $products_options[$v]['price_prefix'] . $currencies->display_price($products_options[$v]['options_values_price'], tep_get_tax_rate($listing[$x]['products_tax_class_id'])) .') ';

}

}

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

} // end for ($v = 0 ; $v < count($products_options); $v++)

 

$lc_text .= tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute);

$lc_text .= '</td></tr>';

}

$lc_text .= '</table>';

$lc_text .= tep_draw_hidden_field('products_id', $listing[$x]['products_id']) . tep_image_submit('button_buy_now.gif', TEXT_BUY . $listing[$x]['products_name'] . TEXT_NOW);

 

} // end if ((int)$listing[$x]['total'] > 0)

if ((int)$listing[$x]['total'] == 0) {

$lc_text .= '<br> ';

$lc_text .= tep_draw_hidden_field('products_id', $listing[$x]['products_id']) . tep_image_submit('button_buy_now.gif', TEXT_BUY . $listing[$x]['products_name'] . TEXT_NOW);

$lc_text .= '<br> ';

$lc_text .= '<table border="0" cellpadding="0" cellspacing"0"><tr><td class="main"></td><td></td></tr></table>';

}

$lc_text .= '</form>';

break;

 

// End Add Multiple mod

default: $lc_text = '';

}

$product_contents[] = $lc_text;

}

$lc_text = implode('<br>', $product_contents);

$list_box_contents[$row][$column] = array(

'align' => 'center',

'valign' => $lc_valign,

'params' => 'class="productListing-data" width="'.$tdsize.'%"',

'text' => $lc_text

);

 

$column ++;

 

if ($x == ($no_of_listings -1)) {

$last_column = ($x % PRODUCT_LIST_NUMCOL); // x modulus number of columns

// fill up the remainder of the table row with empty cells

for ($column = ($last_column + 1) ; $column < $colnum; $column++) {

$list_box_contents[$row][$column] = array(

'align' => 'center',

'valign' => $lc_valign,

'params' => 'class="productListing-data" width="'.$tdsize.'%"',

'text' => " ");

}

}

 

if ($column >= $colnum && $x < ($no_of_listings -1)) {

$row ++; // we start a new tr here with $list_box_contents unless we already listed all products

// $list_box_contents[$row] = array('params' => $class_for_buy_now);

$column = 0;

$counter++; // counter only goes up after the buy now buttons have been outputted, counts the real rows

if ($use_tr_for_buy_now_button == true) {

// make sure all data cells per row are filled

$last_column = sizeof($buy_now_button_array);

for ($zz = $last_column ; $zz < PRODUCT_LIST_NUMCOL; $zz++) {

$buy_now_button_array[] = " ";

}

$list_box_contents[$row] = array('params' => $class_for_buy_now_row);

foreach ($buy_now_button_array as $column1 => $lc_text1) {

$list_box_contents[$row][$column1] = array(

'align' => 'center',

'params' => 'class="productListing-data"',

'text' => $lc_text1

);

}

unset($buy_now_button_array);

$row ++;

} // end if ($use_tr_for_buy_now_button == true)

// output the last row with buy now buttons if needed

} elseif ($x == ($no_of_listings -1) && $use_tr_for_buy_now_button == true) {

$row ++; // we start a new tr here with $list_box_contents for the last row with buy now buttons

// make sure all data cells per row are filled

$last_column = sizeof($buy_now_button_array);

for ($zz = $last_column ; $zz < PRODUCT_LIST_NUMCOL; $zz++) {

$buy_now_button_array[] = " ";

}

$list_box_contents[$row] = array('params' => $class_for_buy_now_row);

foreach ($buy_now_button_array as $column1 => $lc_text1) {

$list_box_contents[$row][$column1] = array(

'align' => 'center',

'params' => $class_for_buy_now,

'text' => $lc_text1

);

}

unset($buy_now_button_array);

} // end elseif ($x == ($no_of_listings -1) && $use_tr_for_buy_now_button == true)

} // end for ($x = 0; $x < $no_of_listings; $x++)

 

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 > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (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','products_id'))); ?></td>

</tr>

<?php if ($add_multiple == true){ ?>

<tr>

<td align="left" class="main"> </td>

<td align="right" class="main"><?php echo tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></form></td>

</tr>

<?php } ?>

</table>

<?php

}

}

?>

Edited by shiukik
Posted

and the code ReviewRatingInProductListing1.2 asks to change in "product_listing.php" originally:

 

In /YOUR_SHOP/includes/modules/product_listing.php

 

Approx line 96

Find :

case 'PRODUCT_LIST_MODEL':

$lc_align = '';

$lc_text = ' ' . $listing['products_model'] . ' ';

break;

case 'PRODUCT_LIST_NAME':

 

Add after :

// BO Review Rating in Product Listing 1.2

 

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

 

Approx line 113

Find :

$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']) . '">' . $listing['products_name'] . '</a>';

 

Add after :

// BO Review Rating in Product Listing 1.2

if ($compteurReview >0) {

$noteReview = $noteReview/$compteurReview;

$lc_text .= '<br><i><a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS . '?products_id=' . $listing['products_id']) . '">' . sprintf(($compteurReview ==1) ? TEXT_REVIEW_RATING_ALG_1:TEXT_REVIEW_RATING_ALG, tep_image(DIR_WS_IMAGES . 'stars_' . round($noteReview) . '.gif', round($noteReview,1) .'/5'), $compteurReview) . '</a></i>';

}

// EO Review Rating in Product Listing 1.2

 

Approx line 121

Find :

} else {

$lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a> ';

 

Add after :

// BO Review Rating in Product Listing 1.2

if ($compteurReview >0) {

$noteReview = $noteReview/$compteurReview;

$lc_text .= '<br><i><a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS . '?products_id=' . $listing['products_id']) . '">' . sprintf(($compteurReview ==1) ? TEXT_REVIEW_RATING_ALG_1:TEXT_REVIEW_RATING_ALG, tep_image(DIR_WS_IMAGES . 'stars_' . round($noteReview) . '.gif', round($noteReview,1) .'/5'), $compteurReview) . '</a></i>';

}

// EO Review Rating in Product Listing 1.2

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...