[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 // BEGIN Fancier Order Details & Print Invoice ?>set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } if (!isset($HTTP_GET_VARS['order_id']) || (isset($HTTP_GET_VARS['order_id']) && !is_numeric($HTTP_GET_VARS['order_id']))) { tep_redirect(tep_href_link(FILENAME_ACCOUNT_HISTORY, '', 'SSL')); } $customer_info_query = tep_db_query("select customers_id from " . TABLE_ORDERS . " where orders_id = '". (int)$HTTP_GET_VARS['order_id'] . "'"); $customer_info = tep_db_fetch_array($customer_info_query); if ($customer_info['customers_id'] != $customer_id) { tep_redirect(tep_href_link(FILENAME_ACCOUNT_HISTORY, '', 'SSL')); } require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_ACCOUNT_HISTORY_INFO); //pour avoir un même numéro de commande (avoir et doit) $orders_id_query = tep_db_query("select orders_id, orders_avoir_id from " . TABLE_ORDERS . " where customers_id = '" . (int)$customer_id . "' and orders_id = '". (int)($HTTP_GET_VARS['order_id']) ."'"); while ($orders = tep_db_fetch_array($orders_id_query)) { if (tep_not_null($orders['orders_avoir_id'])) { $order_id = $orders['orders_avoir_id']; } else { $order_id = $orders['orders_id']; } } // pour pouvoir récuperer le statut partenaire et le coeff partenaire du client $customer_is_partner = tep_db_query("select is_partner, coeff_partner from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$customer_id."'"); $customer_partner = tep_db_fetch_array($customer_is_partner); //---------------------------------------------------------------------------------------------------- $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_ACCOUNT, '', 'SSL')); $breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_ACCOUNT_HISTORY, '', 'SSL')); $breadcrumb->add(sprintf(NAVBAR_TITLE_3, $order_id), tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $HTTP_GET_VARS['order_id'], 'SSL')); require(DIR_WS_CLASSES . 'order.php'); $order = new order($HTTP_GET_VARS['order_id']); ?> > <?php echo STORE_NAME; ?> - <?php echo HEADING_TITLE; ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ on déclare une petite variable, sous forme de tableau associatif, ce tableau servira à identifier la page (au lieu d'utiliser PHP_SELF etc..) et cette identification servira dans le nouveau fichier d'inclusion de design dynamique inclu en [2] c'est tout simple ! - 2/ inclusion du fichier PHP chargeur du design, ce sera à ce fichier inclu de décider quels assets (scripts, feuilles de styles, autres) charger! } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN // [RESPONSIVE_DESIGN_2020_IMPLEMENTATION_CARDBOARD_2020_SAPHYRA_INTERACTIVE_ETAPE_1] $_SI__NewDesign = array( 'pageFilepath' => '/account_history_info.php' ); // ([1])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([2])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END require_once('--SI--2020DesignInitializer.php'); /* [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************/ ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ on introduit un tout nouveau système d'impression (impression avec imprimantes) très intelligent l'idée est simple: on déclenche l'ouverture d'un popup à l'aide de window.open() on réouvre donc cette même page (enfin, si le paramètre url est la même adresse, mais cela devra être le cas) sauf que, cette fois, on a demandé à introduire un paramètre additionnel lors de l'ouverture de la page le système d'impression intelligent fonctionne en 3 étapes d'intégration (déclencheur de popup imprimable: voir CODETAG [SMART_PRINT_SYSTEM_ETAPE_1]) (nettoyeur et imprimeur intelligent: voir dans le fichier /js/cleanPrintForNewDesignIn2020_Mode_popupPrintReceiptV2020.js un exemple de comment implémenter le système intelligent d'impression, CODETAG [SMART_PRINT_SYSTEM_ETAPE_2]) (lien qui appelle le déclencheur: voir CODETAG [SMART_PRINT_SYSTEM_ETAPE_3]) dans le script chargé (le script JAVASCRIPT) on aura l'exécution intelligente de tout le processus de préparation de la page en masquant, affichant, modifiant des éléments HTML et même en injectant du code de