[SI-LINDER-PARTNER-2][OSC] - Refonte du site Internet pour supporter le Responsive Design /* ATTENTION - le design du site ne peut pas être passé en doctype html (html 5) dans la révision 1 du design. bien qu'une révision 2 sera instanciée plus tard (l'année prochaine), il faudra se contenter de nombreux workaround en restant en HTML TRANSITIONAL 4.01 Du fait du nombre massif des éléments DE CETTE PAGE (et de ce qui en découlerait) qui seront à revoir pour transformer le design en design responsive.. .. il est alors plus judicieux de globaliser un TAG unique pour cette tâche pour ne pas alourdir de commentaires le code déjà suffisemment alourdi comme cela! En gros, ici, pour cette méga-tâche, je vais utiliser un format maison de commentaires pour cette tâche précise: --> pour en comprendre les méandres, voir le fichier /[!] - Saphyra-Interactive-TaskList-Explanations/[SI-LINDER-PARTNER-2][OSC]--semantic.php */ // <- [SI-LINDER-PARTNER-2][OSC] - Refonte du site Internet pour supporter le Responsive Design ?>[SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" désormais, pour rajouter une boite normale (box) ou une petite boite (cardbox) (ou autres) il faut procéder ainsi: // (1) selon le type de boite s'inspirer des fichiers de boites // normale : [s'inspirer de] si_newdesign2019_livraison_rapide.php (ou encore) si_newdesign2019_marquage_publicitaire.php ... // cardbox : [s'inspirer de] si_newdesign2019_methodes_livraison_cardbox.php (ou encore) si_newdesign2019_methodes_paiement_cardbox.php // navigationbox : [s'inspirer de] si_newdesign2019_liens_produits_navigationbox.php (ou encore) - // offerbox : [s'inspirer de] si_newdesign2019_offres_speciales_offerbox.php (ou encore) - // buttonbox : [s'inspirer de] si_newdesign2019_socialisation_buttonbox.php (ou encore) - // oneactionbox : [s'inspirer de] si_newdesign2019_previsualisation_panier_oneactionbox.php (ou encore) - // (2) ajouter son include ici, // (3) songer à lui ajouter ses styles CSS: // classes CSS UNIVERSELLES : /design/ResponsiveOverrides/si-css-ro-_mainStyleSheet.css (et consors: éventuels autres fichiers .css, inspirez-vous de celles existantes du même type de boite choisi) // classes CSS RESPONSIVES : /design/ResponsiveOverrides/si-css-ro-_mainMediaQueriesForScreens.css (et consors: éventuels autres fichiers .css, inspirez-vous de celles existantes du même type de boite choisi) // (4) dans les fichiers ainsi créés (développés), scrupuleusement respecter la structure des boites comme contruites dans les nouvelles autres, afin de garder une cohérence dans le design ainsi que dans OSCommerce // (5) n'oubliez pas de créér dans le dossier '/images/infobox/' un dossier du nom de la boite, (sans écrire le type de la boite dans le nom), // s'inspirer des dossiers déjà en place, // ne pas oublier de placer un fichier index.html vide dedans pour éviter (1) le listing du dossier (2) les soucis de chmod. // "} /* ************************************************************************ [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ l'ancienne boite specials.php ne sert plus à rien, du coup, on la commente (note) l'ancienne boite n'est pas native à OSCommerce, elle avait été rajouté par un développeur tiers à l'époque, (peut-être Monsieur Vincent Detzel) on a aussi changé le type de commentaires et son code de condition PHP, pour faire plus joli à lire dans le code-source PHP - 2/ la nouvelle boite si_newdesign2019_offres_speciales_offerbox.php son emplacement est au même endroit que les boites habituelles de OSCommerce, ici: /includes/boxes est alors celle qui remplacera l'ancienne boite 'specials.php' est là pour afficher à l'utilisateur les supers offres du site (plus précisemment, cela affiche en réalité les Fins de Série jusqu'à épuisements des stocks) (note) cette nouvelle boite n'est pas native à OSCommerce non plus, elle est toute nouvelle, responsive, et est utilisée uniquement pour diffuser une image et un prix promo, au clic sur l'image, on peut accéder à la page du-dit produit en offre spéciale ! format choisi pour cette boite: offerbox - 3/ l'ancienne boite shopping_cart.php ne sert plus à rien, du coup, on la commente (note) l'ancienne boite est native à OSCommerce - 4/ la nouvelle boite si_newdesign2019_previsualisation_panier_oneactionbox.php son emplacement est au même endroit que les boites habituelles de OSCommerce, ici: /includes/boxes est alors celle qui remplacera l'ancienne boite 'shopping_cart.php' est là pour afficher à l'utilisateur le contenu prévisualisé du panier (plus précisemment, cela affiche quantité et noms des produits dans le panier, de même que le prix total de ce que ça coûte) (note) cette nouvelle boite n'est pas native à OSCommerce non plus, elle est toute nouvelle, responsive, et est utilisée uniquement pour prévisualiser le panier, la prévisualisation se sert d'une fonctionnalité que j'ai déjà mis en place pour le design responsive, le bouton unique dans cette boite fera appel à la-dite fonctionnalité déjà en place (voir CODETAG: [PREVIEWING_SHOPPING_CART_IS_TRIGGERED_HERE] dans le fichier /includes/header.php) on soumet aussi l'affichage de cette boite à une nouvelle condition: on doit être identifié à notre compte boutique sinon ça n'apparaîtra pas format choisi pour cette boite: oneactionbox - 5/ l'ancienne boite whats_new.php ne sert plus à rien, du coup, on la commente (note) l'ancienne boite n'est pas native à OSCommerce, elle avait été rajouté par un développeur tiers à l'époque, (peut-être Monsieur Vincent Detzel) on a aussi changé le type de commentaires et son code de condition PHP, pour faire plus joli à lire dans le code-source PHP - 6/ la nouvelle boite si_newdesign2019_tout_nouveau_offerbox.php son emplacement est au même endroit que les boites habituelles de OSCommerce, ici: /includes/boxes est alors celle qui remplacera l'ancienne boite 'whats_new.php' est là pour afficher à l'utilisateur les produits tout nouveaux du site (plus précisemment, cela affiche en réalité les Nouveautés) (note) cette nouvelle boite n'est pas native à OSCommerce non plus, elle est toute nouvelle, responsive, et est utilisée uniquement pour diffuser une image et un prix produit, au clic sur l'image, on peut accéder à la page du-dit produit tout neuf ! format choisi pour cette boite: offerbox - 7/ l'ancienne boite facebook.php ne sert plus à rien, du coup, on la commente (note) l'ancienne boite n'est pas native à OSCommerce, elle avait été rajouté par un développeur tiers à l'époque, (peut-être Monsieur Vincent Detzel) - 8/ la nouvelle boite si_newdesign2019_socialisation_buttonbox.php son emplacement est au même endroit que les boites habituelles de OSCommerce, ici: /includes/boxes est alors celle qui remplacera l'ancienne boite 'facebook.php' et aussi la boite 'tell_a_friend.php' est là pour afficher à l'utilisateur des minis-boutons menant à l'affichage pour chacun d'une fenêtre de côté (offcanvas), concernant les réseaux sociaux ou encore la recommandation de produit par email. (note) cette nouvelle boite n'est pas native à OSCommerce non plus, elle est toute nouvelle, responsive, et se sert d'UI Kit pour afficher une interface dans une fenêtre modale en plein-écran ! IMPORTANT - pour la boite relative à l'API sociale Facebook, le fichier /includes/footer.php a aussi subi une modification (cherchez le CODETAG [FACEBOOK_API_IS_INITIALIZED_HERE]) IMPORTANT - pour la boite "Recommander à un Ami" (Tell a Friend), ce fichier a aussi subi une modification (cf la tâche [18], ainsi que cherchez le CODETAG [TELL_A_FRIEND_WAS_LOADED_FROM_THERE]) format choisi pour cette boite: buttonbox - 9/ l'ancienne boite concours.php ne sert plus à rien, du coup, on la laisse entre commentaires (note) l'ancienne boite n'est pas native à OSCommerce, elle avait été rajouté par un développeur tiers à l'époque, (peut-être Monsieur Vincent Detzel) puis commentée probablement par ce même développeur du fait de sa présence qui n'était plus désirée on a juste changé le type de commentaires (et fixé le problème d'accent du commentaire initial), pour faire plus joli à lire dans le code-source PHP elle initialisait un bloc Concours qui menait vers une Page d'Information lié à des Concours-Photos de clients du site - 10/ l'ancienne boite languages.php ne sert plus à rien, du coup, on la laisse entre commentaires (note) l'ancienne boite est native à OSCommerce, puis commentée probablement par un développeur ayant travaillé sur le site du fait de sa présence qui n'était plus désirée le site dispose d'un autre système de traduction via l'API Google Traduction -- non instauré par Saphyra Interactive -- (voir le fichier /includes/header.php), cherchez-y la fonction Javascript "googleTranslateElementInit()" on a juste fixé le problème d'accent du commentaire initial, pour faire plus joli à lire dans le code-source PHP elle initialisait un bloc Traduction qui nativement perméttait de traduire le site (après rafraichissement de la page et chargement de constantes PHP de languages dans la langue choisie via des drapeaux-boutons) - 11/ l'ancienne boite extra_info_pages.php ne sert plus à rien (du moins à cet endroit), du coup, on la commente (note) l'ancienne boite est native à OSCommerce, le client ne souhaite plus que cette boite apparaisse dans les colonnes du site (que ce soit celle de gauche ou de droite) en revanche.. on garde en mémoire que c'est dans le footer (pied-de-page) que désormais il y aura l'affichage du contenu initial de cette boite qui n'était autre qu'un listing des pages spéciales (ajouts/éditions/suppressions de ces pages via l'administration de OSCommerce) - 12/ l'ancienne boite reviews.php ne sert plus à rien, du coup, on la laisse entre commentaires (note) l'ancienne boite n'est pas native à OSCommerce, elle avait été rajouté par un développeur tiers à l'époque, (peut-être Monsieur Vincent Detzel) puis commentée probablement par ce même développeur du fait de sa présence qui n'était plus désirée on a juste changé le type de commentaires, pour faire plus joli à lire dans le code-source PHP elle initialisait un bloc Avis Clients/Critiques qui menait vers une Page dynamique lié à des Avis et critiques sur des produits commandés par des clients du site (page qui était la cible: /reviews.php) - 13/ l'ancienne boite manufacturer_info.php ne sert plus à rien, du coup, on la laisse entre commentaires (note) l'ancienne boite n'est pas native à OSCommerce, initialement, la boite chargée par l'autre développeur était celle-ci: /includes/boxes/manufacturers.php puis elle a été remplacée par une non-native à OSCommerce, moins explicite (basée sur /includes/boxes/manufacturers.php), la fameuse manufacturer_info.php elle avait été rajouté par un développeur tiers à l'époque, (peut-être Monsieur Vincent Detzel) puis commentée probablement par ce même développeur du fait de sa présence qui n'était plus désirée on a juste changé le type de commentaires et son code de condition PHP, pour faire plus joli à lire dans le code-source PHP elle initialisait un bloc Fabriquants qui affichait la liste des fabricants et où l'on pouvait aussi voir leur logo, sur un clic d'un fabricant on accédait à un tri de produits exclusifs au fabriquant cliqué - 14/ l'ancienne boite order_history.php ne sert plus à rien, du coup, on la commente (note) l'ancienne boite est native à OSCommerce on a aussi changé le type de commentaires et son code de condition PHP, pour faire plus joli à lire dans le code-source PHP - 15/ la nouvelle boite si_newdesign2019_vos_commandes_dynamicnavigationbox.php son emplacement est au même endroit que les boites habituelles de OSCommerce, ici: /includes/boxes est alors celle qui remplacera l'ancienne boite 'order_history.php' est là pour afficher à l'utilisateur ses commandes passées (plus précisemment, cela affiche en réalité l'Historique Commandes) (note) cette nouvelle boite n'est pas native à OSCommerce non plus, elle est toute nouvelle, responsive, et est utilisée pour faire la même chose mais en plus stylé ! format choisi pour cette boite: dynamicnavigationbox - 16/ l'ancienne boite best_sellers.php ne sert plus à rien, du coup, on la commente (note) l'ancienne boite est native à OSCommerce on a aussi changé le type de commentaires et son code de condition PHP, pour faire plus joli à lire dans le code-source PHP - 17/ la nouvelle boite ???.php cette boite ne sera pas ré-inclue dans la nouvelle version du design pour cause de non-respect des normes de requêtes SQL et impossibilité de tester la fonctionnalité. est alors celle qui aurait du remplacer l'ancienne boite 'best_sellers.php' est là pour initialement afficher à l'utilisateur les produits les plus vendus (plus précisemment, cela affiche en réalité Meilleures Ventes) impossible de la tester pour l'instant. mais.. toutefois, son emplacement est prévu pour une future inclusion en cas de "match!" des requêtes. format choisi pour cette boite: ??? - 18/ l'ancienne boite tell_a_friend.php ne sert plus à rien, du coup, on la commente (note) l'ancienne boite est native à OSCommerce, la nouvelle boite si_newdesign2019_socialisation_buttonbox.php qui est chargée en tâche [8] est la boite de type: buttonbox qui remplacera aussi l'ancienne boite 'tell_a_friend.php (ici) (cherchez le CODETAG: [TELL_A_FRIEND_IS_NOW_HERE] dans le fichier /includes/boxes/si_newdesign2019_socialisation_buttonbox.php) son emplacement est au même endroit que les boites habituelles de OSCommerce, ici: /includes/boxes en ce qui concerne cette tâche, on va restyliser la boite 'tell_a_friend.php' en se basant sur l'ancienne (la logique uniquement pas le design) pour l'afficher avec les autres boites-boutons de type "Sociaux" dans le fichier 'si_newdesign2019_socialisation_buttonbox.php' ici, on se charge juste de commenter (mais reformater) l'ancien code d'affichage de l'ancienne boite - 19/ l'ancienne boite currencies.php ne sert plus à rien, du coup, on la laisse entre commentaires (note) l'ancienne boite est native à OSCommerce, puis commentée probablement par un développeur ayant travaillé sur le site du fait de sa présence qui n'était plus désirée le site n'utilise qu'une seule devise monétaire (l'Euro: €) on a juste fixé le problème d'accent du commentaire initial, pour faire plus joli à lire dans le code-source PHP elle initialisait un bloc Convertisseur de Devises qui nativement perméttait de convertir les prix d'une devise monétaire à l'autre (après rafraichissement de la page et clic sur une devise) - 20/ l'ancienne boite shop.php ne sert plus à rien (du moins à cet endroit), du coup, on la commente (note) l'ancienne boite n'est pas native à OSCommerce, le client ne souhaite plus que cette boite apparaisse dans les colonnes du site (que ce soit celle de gauche ou de droite) en revanche.. on garde en mémoire que c'est dans le footer (pied-de-page) que désormais il y aura l'affichage du contenu initial de cette boite qui n'était autre qu'un module de galeries photos on reformate aussi un peu le commentaire de l'ancien développeur, histoire de garder un code-source proprement lisible - 21/ l'ancienne boite mvt_stock.php ne sert plus à rien, du coup, on la commente (note) l'ancienne boite n'est pas native à OSCommerce, elle avait été rajouté par un développeur tiers à l'époque, (peut-être Monsieur Vincent Detzel) - 22/ la nouvelle boite si_newdesign2019_nouveaux_arrivages_dynamicnavigationbox.php son emplacement est au même endroit que les boites habituelles de OSCommerce, ici: /includes/boxes est alors celle qui remplacera l'ancienne boite 'mvt_stock.php' est là pour afficher à l'utilisateur les nouveaux arrivages de produits (plus précisemment, cela affiche en réalité les mouvements de stock) (note) cette nouvelle boite n'est pas native à OSCommerce non plus, elle est toute nouvelle, responsive, et se sert d'UI Kit pour afficher une carte (une CARD pas MAP) format choisi pour cette boite: dynamicnavigationbox - 23/ ATTENTION - avant décembre 2020, le client, désirait que les liens menant vers le panier ne doit plus affiché aux utilisateurs qui ne sont pas identifiés sur le site - depuis décembre 2020, le client, finalement préfère que les liens menant vers le panier soit autant affiché aux utilisateurs qui ne sont pas identifiés sur le site comme ceux qui le sont pour faire cela, on va juste ajouter une deuxième condition (usage de OR) à l'affichage du lien.. soit donc, aussi: "si l'utilisateur n'est pas identifié" } */ // ([1])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN // if (!isset($HTTP_GET_VARS['products_id'])) { // include(DIR_WS_BOXES . 'specials.php'); // ([2])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END include(DIR_WS_BOXES . 'si_newdesign2019_offres_speciales_offerbox.php'); // } // ([1])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([3])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // require(DIR_WS_BOXES . 'shopping_cart.php'); // ([4])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN // ([23])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END if (tep_session_is_registered('customer_id') OR !tep_session_is_registered('customer_id')) { require(DIR_WS_BOXES . 'si_newdesign2019_previsualisation_panier_oneactionbox.php'); } // ([4])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([5])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // require(DIR_WS_BOXES . 'whats_new.php'); // ([6])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END require(DIR_WS_BOXES . 'si_newdesign2019_tout_nouveau_offerbox.php'); // ([7])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // require(DIR_WS_BOXES . 'facebook.php'); // ([8])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN // [TELL_A_FRIEND_IS_NOW_HERE] require(DIR_WS_BOXES . 'si_newdesign2019_socialisation_buttonbox.php'); // ([8])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([9])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN // <- OSC-41 : Retrait du bloc Concours et de sa Page Spéciale // include(DIR_WS_BOXES . 'concours.php'); // -> OSC-41 : Retrait du bloc Concours et de sa Page Spéciale // ([9])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([10])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN // -> OSC-83: système de traduction // include(DIR_WS_BOXES . 'languages.php'); // <- OSC-83: système de traduction // ([10])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([11])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN // -> EPIB46 // require(DIR_WS_BOXES . 'extra_info_pages.php'); // <- EPIB46 // ([11])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([12])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // require(DIR_WS_BOXES . 'reviews.php'); // ([13])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN /* if (isset($HTTP_GET_VARS['products_id'])) { include(DIR_WS_BOXES . 'manufacturer_info.php'); } */ // ([13])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN // ([14])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // if (tep_session_is_registered('customer_id')) include(DIR_WS_BOXES . 'order_history.php'); // ([15])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN if (tep_session_is_registered('customer_id')) { require(DIR_WS_BOXES . 'si_newdesign2019_vos_commandes_dynamicnavigationbox.php'); } // ([15])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([16])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN if (isset($HTTP_GET_VARS['products_id'])) { if (tep_session_is_registered('customer_id')) { $check_query = tep_db_query("select count(*) as count from " . TABLE_CUSTOMERS_INFO . " where customers_info_id = '" . (int)$customer_id . "' and global_product_notifications = '1'"); $check = tep_db_fetch_array($check_query); if ($check['count'] > 0) { // ([16])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END //include(DIR_WS_BOXES . 'best_sellers.php'); // ([17])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END //require(DIR_WS_BOXES . '???.php'); } else { // -> 0000012: désactivation de la notification // include(DIR_WS_BOXES . 'product_notifications.php'); // <- 0000012 } } else { // -> 0000012: désactivation de la notification // include(DIR_WS_BOXES . 'product_notifications.php'); // <- 0000012 } } else { // ([16])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END //include(DIR_WS_BOXES . 'best_sellers.php'); // ([17])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END //require(DIR_WS_BOXES . '???.php'); } // ([16])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([18])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN // [TELL_A_FRIEND_WAS_LOADED_FROM_THERE] /* if (isset($HTTP_GET_VARS['products_id'])) { if (basename($PHP_SELF) != FILENAME_TELL_A_FRIEND) { include(DIR_WS_BOXES . 'tell_a_friend.php'); } } */ // ([18])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([19])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN /* if (substr(basename($PHP_SELF), 0, 8) != 'checkout') { include(DIR_WS_BOXES . 'currencies.php'); } */ // ([19])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([20])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN // -> 0000017: ajout box magasin // include(DIR_WS_BOXES . 'shop.php'); // <- 0000017: ajout box magasin // ([20])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([21])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END //require(DIR_WS_BOXES . 'mvt_stock.php'); // ([22])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END require(DIR_WS_BOXES . 'si_newdesign2019_nouveaux_arrivages_dynamicnavigationbox.php'); /* [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?>