OSC-78: Gestion de catégories réservées aux professionnels
// Si le client n'est pas identifié, cela aménerait une warning ERROR (de fait que la variable $customer_id) n'existerait pas!
// Ainsi, on vérifie si la variable est vide/inexistante
// Par précaution, on va créé une variable temporaire et l'utiliser pour stocker le customer_id. et on on la déclare valorisée à vide si c'est le cas sinon on créé.
// Modifier la variable par défaut créée par oscommerce n'ammènerait que des ennuis (et pas forcément tout de suite mais lors de futurs développements).
// Ainsi, on créé une variable vide:
$osc_78_customer_id_container = '';
if (empty($customer_id)) { $osc_78_customer_id_container = ''; } else { $osc_78_customer_id_container = $customer_id; }
$account_query = tep_db_query("select * from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$customer_id . "'");
$account = tep_db_fetch_array($account_query);
$coeff_partner = $account['coeff_partner'];
$is_partner = $account['is_partner'];
// On ajoute des clauses WHERE à la requête SQL basé (pour éviter de retourner TOUT ce qui est PRO si l'utilisateur ne l'est pas (ou n'est pas identifié))
// Les clauses WHERE additionnelles seront sur ce que nous retournera la fonction find_pro_cat_sql_filter()
// déclarée dans le fichier ../functions/general.php
if ($random_product = tep_random_select("select distinct p.products_id, p.products_image, p.products_tax_class_id, p.products_price, p.products_cost from " . TABLE_PRODUCTS . " p, " .
TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p2c.products_id = p.products_id " . find_pro_cat_sql_filter("p2c.", "and", $osc_78_customer_id_container) . " and p.products_status = '1' order by products_date_added desc limit " . MAX_RANDOM_SELECT_NEW)) {
// <- OSC-78: Gestion de catégories réservées aux professionnels
?>
" " . BOX_HEADING_WHATS_NEW);
new menuInfoBoxHeading($menu_info_box_contents, false, false, tep_href_link(FILENAME_PRODUCTS_NEW));
// -> OSC-12 : Arrondissement des angles pour le visuel du site
// -> OSC-70 : Gestion HT/TTC : affichage prix HT et TTC
/*
* Affichage du prix dans la box des nouveautés -Nouveaux Produits-, en HT, et en TTC (en gras).
* utilise la nouvelle méthode 'afficher_prix_ttc()' de la classe currencies en ce qui concerne l'affichage TTC
* A NOTER: certains nouveaux produits peuvent déjà posséder une offre promotionnelle.
*/
if ($is_partner==true) {
if (tep_not_null($random_product['specials_new_products_price']) && $random_product['specials_new_products_price']< $random_product_partner_price ) {
// Prix HT, on retire néanmoins le de fin, pour éviter de sauter une ligne...
// On précise HT à la fin.
// Du fait qu'on a supprimé le saut de ligne, on ajoute deux espaces avant le prix promotionnel pour séparer l'ancien prix du nouveau..
$whats_new_price = '' . $currencies->display_price($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT';
$whats_new_price .= ' ' . $currencies->display_price($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT';
// On ajoute un saut de ligne pour une meilleure lisibilité
// $whats_new_price .= ' ';
// Plus joli! : On ajoute le séparateur barre verticale html
$whats_new_price .= ' ';
// On ajoute le prix en TTC via la méthode 'afficher_prix_ttc()' de la classe currencies.
// On utilise pour écrire en gras
// On précise TTC à la fin.
// On ajoute deux espaces avant le prix promotionnel pour séparer l'ancien prix du nouveau..
$whats_new_price .= '' . $currencies->afficher_prix_ttc($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC';
$whats_new_price .= ' ' . $currencies->afficher_prix_ttc($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC';
} elseif ( $random_product['products_price']< $random_product_partner_price) {
// Ce produit ne dispose pas d'un prix promotionnel:
// Prix HT, on précise HT à la fin.
$whats_new_price = $currencies->display_price($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT';
// On ajoute le séparateur ' / '
$whats_new_price .= ' / ';
// On ajoute le prix en TTC via la méthode 'afficher_prix_ttc()' de la classe currencies.
// On utilise pour écrire en gras
// On précise TTC à la fin.
$whats_new_price .= '' . $currencies->afficher_prix_ttc($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC';
} else {
// Ce produit ne dispose pas d'un prix promotionnel:
// Prix HT, on précise HT à la fin.
$whats_new_price = $currencies->display_price($random_product_partner_price, tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT';
// On ajoute le séparateur ' / '
$whats_new_price .= ' / ';
// On ajoute le prix en TTC via la méthode 'afficher_prix_ttc()' de la classe currencies.
// On utilise pour écrire en gras
// On précise TTC à la fin.
$whats_new_price .= '' . $currencies->afficher_prix_ttc($random_product_partner_price, tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC';
}
// -> OSC-70 : Gestion HT/TTC : affichage prix HT et TTC
// <- OSC-12 : Arrondissement des angles pour le visuel du site
}else {
// Ce produit dispose d'un prix promotionnel:
if (tep_not_null($random_product['specials_new_products_price'])) {
// Prix HT, on retire néanmoins le de fin, pour éviter de sauter une ligne...
// On précise HT à la fin.
// Du fait qu'on a supprimé le saut de ligne, on ajoute deux espaces avant le prix promotionnel pour séparer l'ancien prix du nouveau..
$whats_new_price = '' . $currencies->display_price($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT';
$whats_new_price .= ' ' . $currencies->display_price($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT';
// On ajoute un saut de ligne pour une meilleure lisibilité
// $whats_new_price .= ' ';
// Plus joli! : On ajoute le séparateur barre verticale html
$whats_new_price .= ' ';
// On ajoute le prix en TTC via la méthode 'afficher_prix_ttc()' de la classe currencies.
// On utilise pour écrire en gras
// On précise TTC à la fin.
// On ajoute deux espaces avant le prix promotionnel pour séparer l'ancien prix du nouveau..
$whats_new_price .= '' . $currencies->afficher_prix_ttc($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC';
$whats_new_price .= ' ' . $currencies->afficher_prix_ttc($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC';
} else {
// Ce produit ne dispose pas d'un prix promotionnel:
// Prix HT, on précise HT à la fin.
$whats_new_price = $currencies->display_price($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT';
// On ajoute le séparateur ' / '
$whats_new_price .= ' / ';
// On ajoute le prix en TTC via la méthode 'afficher_prix_ttc()' de la classe currencies.
// On utilise pour écrire en gras
// On précise TTC à la fin.
$whats_new_price .= '' . $currencies->afficher_prix_ttc($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC';
}
// -> OSC-70 : Gestion HT/TTC : affichage prix HT et TTC
}
// <- OSC-12 : Arrondissement des angles pour le visuel du site
$menu_info_box_contents = array();
$menu_info_box_contents[] = array('align' => 'center',
// -> OSC-70 : Gestion HT/TTC : affichage prix HT et TTC
/*
* Ajout d'un deuxième saut de ligne ( ) pour aérer le nom du produit des différents prix...
*/
'text' => '' . tep_image(DIR_WS_IMAGES . $random_product['products_image'], $random_product['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . ' ' . $random_product['products_name'] . '
' . $whats_new_price);
// <- OSC-70 : Gestion HT/TTC : affichage prix HT et TTC
new menuInfoBox($menu_info_box_contents);
// -> OSC-12 : Arrondissement des angles pour le visuel du site
?>
|