[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 ?>set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } // if there is nothing in the customers cart, redirect them to the shopping cart page if ($cart->count_contents() < 1) { tep_redirect(tep_href_link(FILENAME_SHOPPING_CART)); } // needs to be included earlier to set the success message in the messageStack require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_PAYMENT_ADDRESS); $error = false; $process = false; if (isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'submit')) { // process a new billing address if (tep_not_null($HTTP_POST_VARS['firstname']) && tep_not_null($HTTP_POST_VARS['lastname']) && tep_not_null($HTTP_POST_VARS['street_address'])) { $process = true; if (ACCOUNT_GENDER == 'true') $gender = tep_db_prepare_input($HTTP_POST_VARS['gender']); if (ACCOUNT_COMPANY == 'true') $company = tep_db_prepare_input($HTTP_POST_VARS['company']); // -> TVAINT if (ACCOUNT_COMPANY == 'true') $tva_intracom = tep_db_prepare_input($HTTP_POST_VARS['tva_intracom']); // <- TVAINT $firstname = tep_db_prepare_input($HTTP_POST_VARS['firstname']); $lastname = tep_db_prepare_input($HTTP_POST_VARS['lastname']); $street_address = tep_db_prepare_input($HTTP_POST_VARS['street_address']); if (ACCOUNT_SUBURB == 'true') $suburb = tep_db_prepare_input($HTTP_POST_VARS['suburb']); $postcode = tep_db_prepare_input($HTTP_POST_VARS['postcode']); $city = tep_db_prepare_input($HTTP_POST_VARS['city']); $country = tep_db_prepare_input($HTTP_POST_VARS['country']); if (ACCOUNT_STATE == 'true') { if (isset($HTTP_POST_VARS['zone_id'])) { $zone_id = tep_db_prepare_input($HTTP_POST_VARS['zone_id']); } else { $zone_id = false; } $state = tep_db_prepare_input($HTTP_POST_VARS['state']); } if (ACCOUNT_GENDER == 'true') { if ( ($gender != 'm') && ($gender != 'f') ) { $error = true; $messageStack->add('checkout_address', ENTRY_GENDER_ERROR); } } if (strlen($firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) { $error = true; $messageStack->add('checkout_address', ENTRY_FIRST_NAME_ERROR); } if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) { $error = true; $messageStack->add('checkout_address', ENTRY_LAST_NAME_ERROR); } if (strlen($street_address) < ENTRY_STREET_ADDRESS_MIN_LENGTH) { $error = true; $messageStack->add('checkout_address', ENTRY_STREET_ADDRESS_ERROR); } // -> TVAINT if (ACCOUNT_COMPANY == 'true') { if ( (strlen($company) != 0) && (strlen($company) < ENTRY_COMPANY_MIN_LENGTH) ) { $error = true; $messageStack->add('checkout_address', ENTRY_COMPANY_ERROR); } if ( ENTRY_TVA_INTRACOM_CHECK == 'true') { if (strlen($tva_intracom) != 0) { // Begin update for TVA_INTRACOM_v3.9 if (is_numeric($country)) { $country_code = tep_get_countries_with_iso_codes($country); if ( (array_search($country_code['countries_iso_code_2'], array_keys(tep_get_tva_intracom_array())) === false) || ($country_code['countries_iso_code_2'] != substr(strtoupper(trim($tva_intracom)),0,2)) ) { $error = true; $messageStack->add('checkout_address', ENTRY_CONTROL_TVA_INTRACOM_COUNTRY); } } // End update for TVA_INTRACOM_v3.9 $result_tva = tep_verif_tva(strtoupper(rtrim($tva_intracom))); if ($result_tva == 'false') { $error = true; $messageStack->add('checkout_address', ENTRY_CONTROL_TVA_INTRACOM); } elseif ($result_tva == 'no_verif') { $error = true; $messageStack->add('checkout_address', ENTRY_NO_VERIF_TVA_INTRACOM); } } } else { if ( (strlen($tva_intracom) != 0) && (strlen($tva_intracom) < ENTRY_TVA_INTRACOM_MIN_LENGTH) ) { $error = true; $messageStack->add('checkout_address', ENTRY_TVA_INTRACOM_ERROR); } } } // <- TVAINT if (strlen($postcode) < ENTRY_POSTCODE_MIN_LENGTH) { $error = true; $messageStack->add('checkout_address', ENTRY_POST_CODE_ERROR); } if (strlen($city) < ENTRY_CITY_MIN_LENGTH) { $error = true; $messageStack->add('checkout_address', ENTRY_CITY_ERROR); } if (ACCOUNT_STATE == 'true') { $zone_id = 0; $check_query = tep_db_query("select count(*) as total from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country . "'"); $check = tep_db_fetch_array($check_query); $entry_state_has_zones = ($check['total'] > 0); if ($entry_state_has_zones == true) { $zone_query = tep_db_query("select distinct zone_id from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country . "' and (zone_name like '" . tep_db_input($state) . "%' or zone_code like '%" . tep_db_input($state) . "%')"); if (tep_db_num_rows($zone_query) == 1) { $zone = tep_db_fetch_array($zone_query); $zone_id = $zone['zone_id']; } else { $error = true; $messageStack->add('checkout_address', ENTRY_STATE_ERROR_SELECT); } } else { if (strlen($state) < ENTRY_STATE_MIN_LENGTH) { $error = true; $messageStack->add('checkout_address', ENTRY_STATE_ERROR); } } } if ( (is_numeric($country) == false) || ($country < 1) ) { $error = true; $messageStack->add('checkout_address', ENTRY_COUNTRY_ERROR); } if ($error == false) { $sql_data_array = array('customers_id' => $customer_id, 'entry_firstname' => $firstname, 'entry_lastname' => $lastname, 'entry_street_address' => $street_address, 'entry_postcode' => $postcode, 'entry_city' => $city, 'entry_country_id' => $country); if (ACCOUNT_GENDER == 'true') $sql_data_array['entry_gender'] = $gender; if (ACCOUNT_COMPANY == 'true') $sql_data_array['entry_company'] = $company; // -> TVAINT if (ACCOUNT_COMPANY == 'true') $sql_data_array['entry_tva_intracom'] = $tva_intracom; // <- TVAINT if (ACCOUNT_SUBURB == 'true') $sql_data_array['entry_suburb'] = $suburb; if (ACCOUNT_STATE == 'true') { if ($zone_id > 0) { $sql_data_array['entry_zone_id'] = $zone_id; $sql_data_array['entry_state'] = ''; } else { $sql_data_array['entry_zone_id'] = '0'; $sql_data_array['entry_state'] = $state; } } if (!tep_session_is_registered('billto')) tep_session_register('billto'); tep_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array); $billto = tep_db_insert_id(); if (tep_session_is_registered('payment')) tep_session_unregister('payment'); tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } // process the selected billing destination } elseif (isset($HTTP_POST_VARS['address'])) { $reset_payment = false; if (tep_session_is_registered('billto')) { if ($billto != $HTTP_POST_VARS['address']) { if (tep_session_is_registered('payment')) { $reset_payment = true; } } } else { tep_session_register('billto'); } $billto = $HTTP_POST_VARS['address']; $check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . $customer_id . "' and address_book_id = '" . $billto . "'"); $check_address = tep_db_fetch_array($check_address_query); if ($check_address['total'] == '1') { if ($reset_payment == true) tep_session_unregister('payment'); tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } else { tep_session_unregister('billto'); } // no addresses to select from - customer decided to keep the current assigned address } else { if (!tep_session_is_registered('billto')) tep_session_register('billto'); $billto = $customer_default_address_id; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); } } // -> CSSEL133fix if (isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'refresh')) { if (ACCOUNT_GENDER == 'true') $gender = tep_db_prepare_input($HTTP_POST_VARS['gender']); if (ACCOUNT_COMPANY == 'true') $company = tep_db_prepare_input($HTTP_POST_VARS['company']); $firstname = tep_db_prepare_input($HTTP_POST_VARS['firstname']); $lastname = tep_db_prepare_input($HTTP_POST_VARS['lastname']); $street_address = tep_db_prepare_input($HTTP_POST_VARS['street_address']); if (ACCOUNT_SUBURB == 'true') $suburb = tep_db_prepare_input($HTTP_POST_VARS['suburb']); $postcode = tep_db_prepare_input($HTTP_POST_VARS['postcode']); $city = tep_db_prepare_input($HTTP_POST_VARS['city']); $country = tep_db_prepare_input($HTTP_POST_VARS['country']); if (ACCOUNT_STATE == 'true') { if (isset($HTTP_POST_VARS['zone_id'])) { $zone_id = tep_db_prepare_input($HTTP_POST_VARS['zone_id']); } else { $zone_id = false; } $state = tep_db_prepare_input($HTTP_POST_VARS['state']); } } else // if no billing destination address was selected, use their own address as default if (!tep_session_is_registered('billto')) { $billto = $customer_default_address_id; } if ($HTTP_POST_VARS['action'] == 'refresh') {$state = '';} if (!isset($country)){$country = DEFAULT_COUNTRY;} // <- CSSEL133fix $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL')); $breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_CHECKOUT_PAYMENT_ADDRESS, '', 'SSL')); $addresses_count = tep_count_customer_address_book_entries(); ?> > <?php echo 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' => '/checkout_payment_address.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][AddClassDescription(isPage--CheckoutPaymentAddress isResponsive--Main)]:{" ATTENTION (ne pas oublier cette ligne!) servira à cibler cette page précise dans un sélecteur css.. // [RESPONSIVE_DESIGN_2020_IMPLEMENTATION_CARDBOARD_2020_SAPHYRA_INTERACTIVE_ETAPE_2] "} ?> [SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" on requière l'inclusion unique du tout nouveau fragment contenant le tout nouveau fil d'ariane correspondant aux étapes du processus de commande, et cela invalide l'entièreté de l'ancien fil d'arianne des étapes du processus de commande (voir CODETAG[VTAB_1_OLD_BREADCRUMBAR_ORDER_STEPS]) "} ?> [SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" on modifie la taille de cette cellule, qui est celle de gauche (avant) gérée via la constante PHP BOX_WIDTH de OSCommerce, (désormais), gérée par une valeur en dur, pourquoi? (1) la valeur initiale est gérée par une constante PHP, mais sa valeur... est aussi la modificatrice de la cellule de droite.. Ce qui pose problème quand on veut juste modifier celle de gauche et ne pas intervenir sur celle de droite, donc, ici, on modifie le echo BOX_WIDTH par une valeur fixée plus souple et enfin, on ajoute une classe pour pouvoir cibler cette cellule de tableau afin de la masquer en responsive ou autres ! // [RESPONSIVE_DESIGN_2020_IMPLEMENTATION_CARDBOARD_2020_SAPHYRA_INTERACTIVE_ETAPE_3] "} ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ on va revoir les éléments de boutons, tout simplement par ici - 2/ remplacement de l'ancien bouton (lien) ou (soumission), pour l'avoir désormais géré par UI Kit, mais aussi, avec une classe précise } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ on va pas se mentir, cette partie de code mixant html et php a une structure de code affreuse pour la relecture développeur, mais, de toutes façons, on restructurera quelques morceaux clefs! au lieu de cela, on va ajouter un tas de petites modifications, des classes, des styles, et peut-être du comportement à différents éléments de ce tableau - 2/ on va ajouter une classe au tableau (
size('checkout_address') > 0) { ?> [SI-LINDER-PARTNER-2][OSC][AddClassDescription(--messageStackCell)]:{" perméttra plus tard de cibler le bloc de messages d'avertissement/erreur/succès du site "} ?> 1) { ?>
[SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ petits changements sur la structure et sur le texte sert uniquement à restyliser l'élément pour le centrer par exemple et le re-marger - 2/ à l'origine, ici, il y avait une image, désormais, en attendant d'éventuellement lui trouver une belle image, on va alors la commenter } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?>
output('checkout_address'); ?>
[SI-LINDER-PARTNER-2][OSC][AddClassDescription(--pageCheckoutPaymentAddressSubCellCategorySection)]:{" perméttra plus tard de cibler le bloc de catégories de sections "} ?>
[SI-LINDER-PARTNER-2][OSC][AddClassDescription(--pageCheckoutPaymentAddressSubCellCategorySectionDescription)]:{" perméttra plus tard de cibler le bloc de description de sections "} ?>
[SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" on ajoute une classe ici pour cibler le bloc plus tard, et on commente l'image, puis on ajoute un nom de classe CSS qui nous servira à spécifiquement cibler cet élément en responsive "} ?> [SI-LINDER-PARTNER-2][OSC][AddClassDescription(--pageCheckoutPaymentAddressSubCellCategorySectionMainAdress)]:{" perméttra plus tard de cibler le bloc de description de sections "} ?>
' . TITLE_PAYMENT_ADDRESS . '
'/* . tep_image(DIR_WS_IMAGES . 'arrow_south_east.gif') */; ?>
'); ?>
[SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" à cet emplacement, on va juste donner une classe à la cellule et remplacer le texte par défaut par une chaîne précise afin de moins induire l'utilisateur en confusion "} ?>
, et on va pas y aller de mains-mortes: on va ajouter une classe à la ligne du tableau (..) cette classe servira à pouvoir cibler plus efficacement cette partie sensible du design, autant en affichage normal qu'en responsive on va aussi reformater la structure HTML, car là, c'est pas très lisible pour un développeur qui éditerai le code plus tard on utilisera différentes balises pour symboliser la valeur de l'élément listé avec des classes différentes, car certains doivent afficher des informations "statiques" d'autres dynamiques - 4/ on va aussi donner une classe à la cellule ici, de manière à forcer son style d'affichage visuel, sa taille aussi, on va la limiter à 80% de son conteneur parent - 5/ on va aussi donner une classe à la cellule ici, de manière à le cibler plus tard - 6/ on place un ici afin de pouvoir restyliser précisemment CET élément, ce qui nous oblige à lui donner une classe pour l'occasion, ici on affiche l'indication de valeur de l'adresse et on modifie le formatage de l'adresse qui à l'origine était ', ' au lieu de '
' - 7/ exceptionnellement ici dans ce fichier, on a besoin de recréér un tableau qui va contenir LE tableau de listing, (se comporter comme si), sans ça, c'est très mal ciblable! on ajoute dans donc une structure HTML:
, la structure complètement rajoutée est visible dans le code, le colspan est requis pour effectuer des fusions de cellules - 8/ on ajoutes des classes UI-Kit à l'élément de formulaire afin de lui donner plus de style, et on le restructure un peu - 9/ ici on rajoute la fonction de protection des chaînes de caractères destinées à s'inscrire via PHP dans la page, et donc, à éviter l'injection de codes HTML néfastes, c'était présent dans le fichier: /checkout_shipping_address.php donc, il vaut aussi mieux en faire logiquement la protection ici même la fonction de protection se nomme: tep_output_string_protected() } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END /* [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?>
[SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" on ajoute une classe ici pour cibler le bloc plus tard, puis on ajoute un nom de classe CSS qui nous servira à spécifiquement cibler cet élément en responsive "} ?> [SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" à cet emplacement, on va juste donner une classe à la cellule et y afficher un icone à l'aide de Material Icons, et on commente l'image "} ?> TVAINT $addresses_query = tep_db_query("select address_book_id, entry_firstname as firstname, entry_lastname as lastname, entry_company as company, entry_tva_intracom as tva_intracom, entry_street_address as street_address, entry_suburb as suburb, entry_city as city, entry_postcode as postcode, entry_state as state, entry_zone_id as zone_id, entry_country_id as country_id from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . $customer_id . "'"); // <- TVAINT while ($addresses = tep_db_fetch_array($addresses_query)) { $format_id = tep_get_address_format_id($addresses['country_id']); ?>[SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ on va ajouter un tas de petites modifications, des classes, des styles, et peut-être du comportement à différents éléments de ce tableau à noter que ce tableau contient le contenu visuel de la page. - 2/ on va ajouter une classe au tableau (
' . TITLE_PLEASE_SELECT . '
add_location'/* . tep_image(DIR_WS_IMAGES . 'arrow_east_south.gif') */; ?>
..
) cette classe servira à pouvoir cibler plus efficacement cette partie sensible du design, autant en affichage normal qu'en responsive - 3/ à la différence des autres pages, ici, on va restyliser chaque
BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?>
[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?>
' . "\n"; } else { echo ' ' . "\n"; } ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
[SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" à cet emplacement, on va juste donner une classe à la cellule et remplacer le texte par défaut par une chaîne précise afin de moins induire l'utilisateur en confusion "} ?>
[SI-LINDER-PARTNER-2][OSC][AddClassDescription(--pageCheckoutPaymentAddressSubCellCategorySectionDescription)]:{" perméttra plus tard de cibler le bloc de description de sections "} ?>
[SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ on va ajouter le même ancien bloc conteneur du fichier de création d'une adresse dans le carnet d'adresse depuis le processus de commandes, mais entres de nouveaux commentaires HTML, afin de montrer plus tard à quel moment il est inclu dans la page (code source HTML) } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?>
[SI-LINDER-PARTNER-2][OSC][AddClassDescription(--pageCheckoutPaymentAddressMainTableCategorySectionPhase)]:{" perméttra plus tard de cibler le bloc de catégories de sections "} ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ ici, nous allons faire un certain nombre d'étapes d'adaptation - 2/ on ajoute un nom de classe CSS dans un span qui nous servira à spécifiquement cibler cet élément et on restructure son code } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ on va revoir les éléments de boutons, tout simplement par ici - 2/ remplacement de l'ancien bouton (lien) ou (soumission), pour l'avoir désormais géré par UI Kit, mais aussi, avec une classe précise [VTAB-TEAM-LINDER-PARTNER-1][OSC][MultiTaskDescriptions] - Revue de la charte Graphique: - 1/ ajout du nouveau bouton vtab à la place de l'ancien bouton, géré par la fonction vtab_tep_button() qui se trouve dans le fichier vtab_html_output.php cela remplace l'étape [2] de la tâche [SI-LINDER-PARTNER-2][OSC] } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?> [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?>
[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> ' . TITLE_CONTINUE_CHECKOUT_PROCEDURE . '
' . '' . TEXT_CONTINUE_CHECKOUT_PROCEDURE . ''; ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
..
) cette classe servira à pouvoir cibler plus efficacement cette partie sensible du design, autant en affichage normal qu'en responsive - 3/ on va ajouter une classe à cette cellule (..) cette classe servira à pouvoir cibler plus efficacement cette partie sensible du design, autant en affichage normal qu'en responsive - 4/ ici, une incohérence de cette page, et surtout de nativement OSCommerce doit être réglée.. en effet, OSCommerce veut créér un pixel (à l'époque c'était requis pour cette connerie de Internet Explorer), pour correctement positionner le tableau, sauf que.. ben, ça utilise: tep_draw_separator('pixel_silver.gif', ....) au lieu de: tep_draw_separator('pixel_trans.gif', ....) ce qui cause le pixel imagé, à s'afficher (très estompé, mais visible quand même!) donc, on remplace ici: pixel_silver.gif par pixel_trans.gif ça fonctionnait.. mais, on avait un décalage au final avec notre bel icone Material Icons, désormais implémenté en [5] résultat des courses, on va juste... placer un style="display: none !important;" sur chaque cellule contenant un pixel_silver de manière à dissimuler la cellule et réagencer proprement l'icone Material Icons - 5/ ici, on va utiliser un icone material icone à la place de l'ancienne image que l'on va virer, pas commenter, elle n'ira jamais dans le nouveau design de par sa vieillesse visuelle - 6/ on va juste recentrer la cellule, cela centre proprement l'icone Material Icons désormais avec le Texte de l'étape actuelle dans la procédure de commande - 7/ on donne une classe CSS aux liens href et éventuellement on modifie leur texte et leur classe initiales [VTAB-TEAM-LINDER-PARTNER-1][OSC][MultiTaskDescriptions] - Revue de la charte Graphique: - 1/ on invalide l'affichage (on le commente pour l'instant) de tout l'ancien système de fil d'arianne correspondant aux étapes du processus de commande (voir CODETAG[VTAB_1_OLD_BREADCRUMBAR_ORDER_STEPS]) il s'affiche désormais différemment en haut de page, ailleurs (voir CODETAG[VTAB_1_NEW_FRAGMENT_BREADCRUMBAR_ORDER_STEPS]) } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> check
[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> person_pin_circle
[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> ' . str_replace('livraison', 'd\'expédition', CHECKOUT_BAR_DELIVERY) . ''; ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?>
[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> */ ?> [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?> [SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" on ajoute une classe pour pouvoir cibler cette cellule de tableau afin de la masquer en responsive ou autres ! // [RESPONSIVE_DESIGN_2020_IMPLEMENTATION_CARDBOARD_2020_SAPHYRA_INTERACTIVE_ETAPE_4] "} ?>
[SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" on ajoute un élément HTML et une classe pour pouvoir cibler cette zone afin de la styliser en responsive ou autres ! "} ?>