In altre parole, devo dividere il file principale del contrib, cioè questo:
<?php
/*
$Id: similar_products.php,v 1.0 2004/06/06 jck Exp $
Based on whats_new.php,v 1.31 by hpdl
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2004 osCommerce
Released under the GNU General Public License
*/
// Set the sort order for the display
switch(SIMILAR_PRODUCTS_ORDER){
case 'Random':
$sort_order = 'RAND() ';
break;
case 'Products ID':
$sort_order = 'p.products_id ';
break;
case 'Model Number':
$sort_order = 'p.products_model ';
break;
case 'Price':
$sort_order = 'p.products_price ';
break;
case 'Date Added':
$sort_order = 'p.products_date_added ';
break;
case 'Last Modified':
$sort_order = 'p.products_last_modified ';
break;
case 'Products Ordered':
$sort_order = 'p.products_ordered ';
break;
case 'Products Name':
$sort_order = 'pd.products_name ';
break;
case 'Products Viewed':
$sort_order = 'pd.products_viewed ';
break;
default:
$sort_order = 'RAND() ';
} // switch
switch(SIMILAR_PRODUCTS_SORT_ORDER){
case 'Ascending':
$sort_order .= 'asc';
break;
case 'Descending':
$sort_order .= 'desc';
break;
default:
$sort_order .= 'asc';
} // switch
// Find the id # of the category that the current product is in
$category_query = tep_db_query("select categories_id
from " . TABLE_PRODUCTS_TO_CATEGORIES . "
where products_id = '" . (int)$_GET['products_id'] . "'"
);
$category = tep_db_fetch_array($category_query);
$category_id = $category['categories_id'];
// Count prods in category; if less than 2 dont display (removes empty infobox from pages)
$product_count_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p,
" . TABLE_PRODUCTS_DESCRIPTION . " pd,
" . TABLE_PRODUCTS_TO_CATEGORIES . " pc
where p.products_id = pc.products_id
and p.products_id = pd.products_id
and p.products_id != '" . (int)$_GET['products_id'] . "'
and p.products_status = '1'
and pc.categories_id = '" . (int)$category_id . "'
and pd.language_id = '". (int)$languages_id ."'"
);
$product_count = tep_db_fetch_array($product_count_query);
// if less than total similar prods displayed exist in current category, dont display (empty) infobox
if ($product_count['total'] >= MAX_SIMILAR_PRODUCTS) {
// Select the other products in the same category
$products_query = tep_db_query("select p.products_id,
p.products_image,
p.products_price,
p.products_model,
pd.products_name,
p.products_tax_class_id
from " . TABLE_PRODUCTS . " p,
" . TABLE_PRODUCTS_DESCRIPTION . " pd,
" . TABLE_PRODUCTS_TO_CATEGORIES . " pc
where p.products_id = pc.products_id
and p.products_id = pd.products_id
and p.products_id != '" . (int)$_GET['products_id'] . "'
and p.products_status = '1'
and pc.categories_id = '" . (int)$category_id . "'
and pd.language_id = '" . (int)$languages_id . "'
order by " . $sort_order . "
limit " . MAX_SIMILAR_PRODUCTS
);
// Write the output containing each of the products
$products_string = '';
$count_products = 0;
while ($products = tep_db_fetch_array($products_query)) {
if ($products['products_id'] != $_GET['products_id']) {
$products_string .= '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id']) . '">';
$products_string .= tep_image(DIR_WS_IMAGES . $products['products_image'], $products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT);
$products_string .= '</a><br><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products['products_id']) . '">';
if (SIMILAR_PRODUCTS_SHOW_MODEL == 'true' && tep_not_null($products['products_model'])) {
$products_string .= $products['products_model'] . '<br>';
}
if ((SIMILAR_PRODUCTS_SHOW_NAME == 'true') && tep_not_null($products['products_name'])) {
$products_string .= $products['products_name'] . '<br>';
}
if (SIMILAR_PRODUCTS_SHOW_PRICE == 'true') {
#$products_string .= $currencies->display_price($products['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '<br>';
$products_string .= $currencies->display_price($products['products_price'], tep_get_tax_rate($products['products_tax_class_id'])) . '<br>';
}
$products_string .= '</a><br>';
$count_products++;
}
}
?>
<!-- similar_products //-->
<tr>
<td>
<?php
$info_box_contents = array();
$info_box_contents[] = array('text' => BOX_HEADING_SIMILAR_PRODUCTS);
new infoBoxHeading($info_box_contents, false, false);
$info_box_contents = array();
$info_box_contents[] = array('align' => 'center',
'text' => $products_string
);
new infoBox($info_box_contents);
?>
</td>
</tr>
<?
} // END PROD TOTAL (WITHIN CURRENT CATEGORY) CHECK
?>
<!-- similar_products_eof //-->
e
creare i
2 file da inserire nella cartella
catalog/includes/boxes/similar_products.php e t
emplate/nome/similar_products.tpl.php ed inserire il richiamo nel file
main_page.tpl.php
Ho provato a dividere in
2 file, ma ho sbagliato qualcosa perchè il template perde l'ordinamento.
A quale punto devo
dividere il file oppure o
dimenticato qualcosa?
Grazie del prezioso aiuto.
Linda.