20,'text'=>20); $limit[] = array('id'=>48,'text'=>48); $limit[] = array('id'=>60,'text'=>60); $limit[] = array('id'=>'80','text'=>'80'); if(isset($_GET['dis'])){ $plist=$_GET['dis']; } $max_results = ($plist=='columns' && PRODUCT_LISTING_COLUMNS_PER_ROW>0) ? (PRODUCT_LISTING_COLUMNS_PER_ROW * (int)(MAX_DISPLAY_PRODUCTS_LISTING/PRODUCT_LISTING_COLUMNS_PER_ROW)) : MAX_DISPLAY_PRODUCTS_LISTING; $show_submit = zen_run_normal(); if($use_product_listing) { $listing_split = $snaf_listing_split; }else{ $listing_split = new splitPageResults($listing_sql, (isset($_GET['limit']) ? $_GET['limit'] : $max_results), 'p.products_id', 'page'); } $zco_notifier->notify('NOTIFY_MODULE_PRODUCT_LISTING_RESULTCOUNT', $listing_split->number_of_rows); $how_many = 0; // Begin Row Layout Header if ($plist == 'rows') { // For Column Layout (Grid Layout) add on module $list_box_contents[0] = array('params' => 'class="productListing-rowheading"'); $zc_col_count_description = 0; $lc_align = ''; 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 = ''; $zc_col_count_description++; break; case 'PRODUCT_LIST_NAME': $lc_text = TABLE_HEADING_PRODUCTS; $lc_align = ''; $zc_col_count_description++; break; case 'PRODUCT_LIST_MANUFACTURER': $lc_text = TABLE_HEADING_MANUFACTURER; $lc_align = ''; $zc_col_count_description++; break; case 'PRODUCT_LIST_PRICE': $lc_text = TABLE_HEADING_PRICE; $lc_align = 'right' . (PRODUCTS_LIST_PRICE_WIDTH > 0 ? '" width="' . PRODUCTS_LIST_PRICE_WIDTH : ''); $zc_col_count_description++; break; case 'PRODUCT_LIST_QUANTITY': $lc_text = TABLE_HEADING_QUANTITY; $lc_align = 'right'; $zc_col_count_description++; break; case 'PRODUCT_LIST_WEIGHT': $lc_text = TABLE_HEADING_WEIGHT; $lc_align = 'right'; $zc_col_count_description++; break; case 'PRODUCT_LIST_IMAGE': $lc_text = TABLE_HEADING_IMAGE; $lc_align = 'center'; $zc_col_count_description++; break; } if ( ($column_list[$col] != 'PRODUCT_LIST_IMAGE') ) { $lc_text = zen_create_sort_heading($_GET['sort'], $col+1, $lc_text); } $list_box_contents[0][$col] = array('align' => $lc_align, 'params' => 'class="productListing-heading"', 'text' => $lc_text ); } } // End Row Layout Header used in Column Layout (Grid Layout) add on module ///////////// HEADER ROW ABOVE ///////////////////////////////////////////////// $num_products_count = $listing_split->number_of_rows; if ($listing_split->number_of_rows > 0) { $rows = 0; // Used for Column Layout (Grid Layout) add on module $column = 0; if ($plist == 'columns') { if ($num_products_count < PRODUCT_LISTING_COLUMNS_PER_ROW || PRODUCT_LISTING_COLUMNS_PER_ROW == 0 ) { $col_width = floor(100/$num_products_count) - 0.5; } else { $col_width = floor(100/PRODUCT_LISTING_COLUMNS_PER_ROW) - 0.5; } } // Used for Column Layout (Grid Layout) add on module $listing = $db->Execute($listing_split->sql_query); $extra_row = 0; while (!$listing->EOF) { if ($plist == 'rows') { // Used in Column Layout (Grid Layout) Add on module $rows++; if ((($rows-$extra_row)/2) == floor(($rows-$extra_row)/2)) { $list_box_contents[$rows] = array('params' => 'class="productListing-even"'); } else { $list_box_contents[$rows] = array('params' => 'class="productListing-even"'); } $cur_row = sizeof($list_box_contents) - 1; } // End of Conditional execution - only for row (regular style layout) $product_contents = array(); // Used For Column Layout (Grid Layout) Add on module 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->fields['products_model']; break; case 'PRODUCT_LIST_NAME': $lc_align = ''; if (isset($_GET['manufacturers_id'])) { $lc_text = '

' . substr(strip_tags($listing->fields['products_name']), 0, 80) . '

' ; } else { $lc_text = '

' . substr(strip_tags($listing->fields['products_name']), 0, 76) . '

'.$reviews_display .'
'; } break; case 'PRODUCT_LIST_MANUFACTURER': $lc_align = ''; $lc_text = '' . $listing->fields['manufacturers_name'] . ''; break; case 'PRODUCT_LIST_PRICE': if(zen_get_products_special_price($listing->fields['products_id'])){ $ps_dd=true; } else{ $ps_dd=false; } $feat_sql=$db->Execute("select * from ".TABLE_FEATURED." where products_id=".$listing->fields['products_id']); if($feat_sql->RecordCount()>0){ $pf_dd=true; }else{ $pf_dd=false; } if($listing->fields['product_is_always_free_shipping']){ $free_dd=true; }else{ $free_dd=false; } if($ps_dd&&$pf_dd&&$free_dd){ $dd='Sale Free shipping'; } else if(($ps_dd&&$pf_dd)||($pf_dd&&$free_dd)||($ps_dd&&$free_dd)){ if($ps_dd&&$pf_dd){ $dd='Sale '; }else if($pf_dd&&$free_dd){ $dd=' Free shipping '; }else if($ps_dd&&$free_dd){ $dd='Sale Free shipping '; } } else if($ps_dd){ $dd='Sale'; } else if($pf_dd){ $dd=''; } else if($free_dd){ $dd='Free shipping'; } else{ $dd=''; } $lc_price = zen_get_products_display_price($listing->fields['products_id']) . ''; $lc_align = 'right'; $lc_text = '
' . $lc_price . '
'; $lc_text .='
'.$dd.'
'; // more info in place of buy now $lc_button = ''; if (zen_has_product_attributes($listing->fields['products_id']) or PRODUCT_LIST_PRICE_BUY_NOW == '0') { $lc_button = ''; } else { if (PRODUCT_LISTING_MULTIPLE_ADD_TO_CART != 0) { if ( // not a hide qty box product $listing->fields['products_qty_box_status'] != 0 && // product type can be added to cart zen_get_products_allow_add_to_cart($listing->fields['products_id']) != 'N' && // product is not call for price $listing->fields['product_is_call'] == 0 && // product is in stock or customers may add it to cart anyway ($listing->fields['products_quantity'] > 0 || SHOW_PRODUCTS_SOLD_OUT_IMAGE == 0) ) { $how_many++; } // hide quantity box if ($listing->fields['products_qty_box_status'] == 0) { $lc_button = '' . zen_image_button(BUTTON_IMAGE_BUY_NOW, BUTTON_BUY_NOW_ALT, 'class="listingBuyNowButton"') . ''; } else { $lc_button = TEXT_PRODUCT_LISTING_MULTIPLE_ADD_TO_CART . "fields['products_id'] . "]\" value=\"0\" size=\"4\" />"; } } else { // qty box with add to cart button if (PRODUCT_LIST_PRICE_BUY_NOW == '2' && $listing->fields['products_qty_box_status'] != 0) { $lc_button= zen_draw_form('cart_quantity', zen_href_link($_GET['main_page'], zen_get_all_get_params(array('action')) . 'action=add_product&products_id=' . $listing->fields['products_id']), 'post', 'enctype="multipart/form-data"') . '
' . zen_draw_hidden_field('products_id', $listing->fields['products_id']) . zen_image_submit(BUTTON_IMAGE_IN_CART, BUTTON_IN_CART_ALT) . ''; } else { $lc_button = '' . zen_image_button(BUTTON_IMAGE_BUY_NOW, BUTTON_BUY_NOW_ALT, 'class="listingBuyNowButton"') . ''; } } } $the_button = $lc_button; $products_butt = ''; $products_revies = ''; if (!empty($_SESSION['compare']) && in_array($listing->fields['products_id'],$_SESSION['compare'])) { $compare_display =''; }else{$compare_display =''; } $count_stars_query = "select count(reviews_rating) as num, avg(reviews_rating) as aver from " . TABLE_REVIEWS . " where products_id = '" . (int)$listing->fields['products_id'] . "'"; $count_stars = $db->Execute($count_stars_query); $starnum = round($count_stars->fields['aver']); $star = array("","","","","");if($count_stars->fields['num']>=1){ $reviews_display =''. $star[$starnum-1] .'
('.$count_stars->fields['num'].')
'; }else{ $reviews_display ='
(0 '.')
'; } $reviews_displays =''. $reviews_displays.''; $lc_text .= ''; break; case 'PRODUCT_LIST_QUANTITY': $lc_align = 'right'; $lc_text = $listing->fields['products_quantity']; break; case 'PRODUCT_LIST_WEIGHT': $lc_align = 'right'; $lc_text = $listing->fields['products_weight']; break; case 'PRODUCT_LIST_IMAGE': $lc_align = 'center'; if ($listing->fields['products_image'] == '' and PRODUCTS_IMAGE_NO_IMAGE_STATUS == 0) { $lc_text = ''; } else { if (isset($_GET['manufacturers_id'])) { $lc_text = '
' . zen_image(DIR_WS_IMAGES . $listing->fields['products_image'], $listing->fields['products_name'], IMAGE_PRODUCT_LISTING_WIDTH, IMAGE_PRODUCT_LISTING_HEIGHT, '') . '
' . ' '; } else { $lc_text = '
' . zen_image(DIR_WS_IMAGES . $listing->fields['products_image'], $listing->fields['products_name'], IMAGE_PRODUCT_LISTING_WIDTH, IMAGE_PRODUCT_LISTING_HEIGHT, '') . '
' . ''; } } break; } $product_contents[] = $lc_text; // Used For Column Layout (Grid Layout) Option if ($plist == 'rows') { $list_box_contents[$rows][$col] = array('align' => $lc_align, 'params' => 'class="productListing-data"', 'text' => $lc_text); } } // add description and match alternating colors //if (PRODUCT_LIST_DESCRIPTION > 0) { // $rows++; // if ($extra_row == 1) { // $list_box_description = "productListing-data-description-even"; // $extra_row=0; // } else { // $list_box_description = "productListing-data-description-odd"; // $extra_row=1; // } // $list_box_contents[$rows][] = array('params' => 'class="' . $list_box_description . '" colspan="' . $zc_col_count_description . '"', // 'text' => zen_trunc_string(zen_clean_html(stripslashes(zen_get_products_description($listing->fields['products_id'], $_SESSION['languages_id']))), PRODUCT_LIST_DESCRIPTION)); //} // Following code will be executed only if Column Layout (Grid Layout) option is chosen if ($plist == 'columns') { $lc_text = implode('', $product_contents); $list_box_contents[$rows][$column] = array('params' => 'class="product-col"', 'text' => $lc_text); $column ++; if ($column >= PRODUCT_LISTING_COLUMNS_PER_ROW) { $column = 0; $rows ++; } } // End of Code fragment for Column Layout (Grid Layout) option in add on module $listing->MoveNext(); } $error_categories = false; } else { $list_box_contents = array(); $list_box_contents[0] = array('params' => ''); $list_box_contents[0][] = array('params' => 'class="productListing-data"', 'text' => TEXT_NO_PRODUCTS); $error_categories = true; } if (($how_many > 0 and $show_submit == true and $listing_split->number_of_rows > 0) and (PRODUCT_LISTING_MULTIPLE_ADD_TO_CART == 1 or PRODUCT_LISTING_MULTIPLE_ADD_TO_CART == 3) ) { $show_top_submit_button = true; } else { $show_top_submit_button = false; } //=========== bof SNAF (add filter dropdown to product listing) if($show_product_listing_filter) { require($template->get_template_dir('/tpl_snaf_display_order.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_snaf_display_order.php'); } //=========== eof SNAF (add filter dropdown to product listing) if ($how_many > 0 && PRODUCT_LISTING_MULTIPLE_ADD_TO_CART != 0 and $show_submit == true and $listing_split->number_of_rows > 0) { // bof: multiple products echo zen_draw_form('multiple_products_cart_quantity', zen_href_link(FILENAME_DEFAULT, zen_get_all_get_params(array('action')) . 'action=multiple_products_add_product', $request_type), 'post', 'enctype="multipart/form-data"'); } ?>