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; }
// 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
// Si la clause: p2c.products_id = p.products_id and
// Est omise: osCommerce affichera quand même les produits qui sont dans les catégories pros...
// Car, au niveau SQL, plus d'un enregistrement sera renvoyé !
if ($random_product = tep_random_select("select distinct p.products_id, pd.products_name, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p2c.products_id = p.products_id and p.products_status = '1' and p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' " . find_pro_cat_sql_filter("p2c.", "and", $osc_78_customer_id_container) . " order by s.specials_date_added desc limit " . MAX_RANDOM_SELECT_SPECIALS)) {
// <- OSC-78: Gestion de catégories réservées aux professionnels
?>
VD : rend le titre des soldes cliquables
$menu_info_box_contents[] = array('text' => " " . '' . BOX_HEADING_SPECIALS . '');
// <- VD
new menuInfoBoxHeading($menu_info_box_contents, false, false, tep_href_link(FILENAME_SPECIALS));
$menu_info_box_contents = array();
$menu_info_box_contents[] = array('align' => 'center',
// -> OSC-70 : Gestion HT/TTC : affichage prix HT et TTC
/*
* Affichage du prix dans la box des promotions/Soldes, 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
* (je reformates le code pour qu'il possède un affichage moins brouillon).
*/
'text' => ''
// HT/TTC: image + lien
. ''
. tep_image(DIR_WS_IMAGES . $random_product['products_image'], $random_product['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT)
. ''
. ' '
// HT/TTC: nom + lien
. ''
. $random_product['products_name']
. ''
. ' '
// HT: prix base
. ''
. $currencies->display_price($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id']))
. ' HT'
. ''
// . ' En guise de séparateur de prix base et de prix promotionnel pour l'affichage HT, on utilise pas un saut de ligne...
// Mais deux espaces:
. ' '
// HT: prix promotionnel
.''
. $currencies->display_price($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT'
.''
//
// Séparateur des affichages HT | TTC
// via: (ligne horizontale)
. ' '
//
// TTC: prix base
// ajout de gras..
. ''
. ''
. $currencies->afficher_prix_ttc($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id']))
. ' TTC'
. ''
// . ' En guise de séparateur de prix base et de prix promotionnel pour l'affichage TTC, on utilise pas un saut de ligne...
// Mais deux espaces:
. ' '
// TTC: prix promotionnel
. ''
. $currencies->afficher_prix_ttc($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC'
.''
. ''
);
// <- 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
?>
|