Index: www-lp/www/includes/header.php =================================================================== diff -u -r13 -r14 --- www-lp/www/includes/header.php (.../header.php) (revision 13) +++ www-lp/www/includes/header.php (.../header.php) (revision 14) @@ -1,1542 +1,1542 @@ - [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 -?>add('header', WARNING_INSTALL_DIRECTORY_EXISTS, 'warning'); - } - } - -// check if the configure.php file is writeable - if (WARN_CONFIG_WRITEABLE == 'true') { - if ( (file_exists(dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/includes/configure.php')) && (is_writeable(dirname($HTTP_SERVER_VARS['SCRIPT_FILENAME']) . '/includes/configure.php')) ) { - $messageStack->add('header', WARNING_CONFIG_FILE_WRITEABLE, 'warning'); - } - } - -// check if the session folder is writeable - if (WARN_SESSION_DIRECTORY_NOT_WRITEABLE == 'true') { - if (STORE_SESSIONS == '') { - if (!is_dir(tep_session_save_path())) { - $messageStack->add('header', WARNING_SESSION_DIRECTORY_NON_EXISTENT, 'warning'); - } elseif (!is_writeable(tep_session_save_path())) { - $messageStack->add('header', WARNING_SESSION_DIRECTORY_NOT_WRITEABLE, 'warning'); - } - } - } - -// check session.auto_start is disabled - if ( (function_exists('ini_get')) && (WARN_SESSION_AUTO_START == 'true') ) { - if (ini_get('session.auto_start') == '1') { - $messageStack->add('header', WARNING_SESSION_AUTO_START, 'warning'); - } - } - - if ( (WARN_DOWNLOAD_DIRECTORY_NOT_READABLE == 'true') && (DOWNLOAD_ENABLED == 'true') ) { - if (!is_dir(DIR_FS_DOWNLOAD)) { - $messageStack->add('header', WARNING_DOWNLOAD_DIRECTORY_NON_EXISTENT, 'warning'); - } - } - - if ($messageStack->size('header') > 0) { - echo $messageStack->output('header'); - } -?> -[SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - - 1/ on place aussi les liens de construction du menu (Mon Compte et Contact etc..), qui servira en mode non-responsive dans le nouveau design: une bande de couleur uniforme tout en haut du site) - à noter, dans le fichier: /includes/header.php (cherchez le CODETAG: [MY_ACCOUNT_MENU_IS_ALSO_HERE] et [CONTACT_MENU_IS_ALSO_HERE]), car les liens du menu/contact s'y trouve aussi! - à la différence du système de détection imaginé (et fonctionnel) pour la boite de recherche du site - on a pas besoin de charger de fichiers externes, donc, pas besoin de différencier les blocs, car, les deux blocs sont dans la même page! - donc on va juste différencier ici les éléments à afficher dans les différents modes: (Nested), (Tabled). - mais à l'aide de classe CSS. - ici, c'est le mode (Nested) qui sera construit, donc on ajoute la classe correspondante à ce mode dans le conteneur affichant le bloc désiré. - ainsi, on pourra aisément piloter via la nouvelle classe CSS son affichage ou pas (display: none ou block) ! - l'idée, c'est d'afficher la version (Nested) uniquement sur grand écran (genre en mode non-responsive). - l'idée, c'est d'afficher la version (Tabled) uniquement sur petit écran (genre en mode responsive). - - 2/ comme le système de traduction est géré par un script google traduction, il n'est pas obligatoire de créér des constantes de langages - donc, pour dire - l'infobulle "Du lundi au vendredi de 8h à 12 et de 13h à 17h" - "Téléphone: 03 69 57 64 36" - "Bienvenue" - on va l'écrire en brut dans le code, pas dynamique (ainsi, ne sera pas modifiable sans éditer le code source php). - - 3/ on ajoute aussi en dur, un nouveau lien "Créez votre compte" précédé du séparateur: "ou", pointant sur /create_account.php ! - de cette manière un visiteur peut rapidement créér un compte. - - 4/ on ajoute aussi en dur, "Connexion à", et on transforme alors le texte dans HEADER_TITLE_MY_ACCOUNT en miniscule (str_tolower()) et on y remplace 'Mon' par 'votre', c'est plus professionnel. -} -*/ -?> -[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN -/* [MY_ACCOUNT_MENU_IS_ALSO_HERE] - [CONTACT_MENU_IS_ALSO_HERE] */ ?> -
|
-
-
-
-
-
- [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?>
-
- phone_in_talk
- Téléphone: 03 69 57 64 36
-
-
- mail_outline
- Contacts
-
- [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
-
-
-
- - ' . VDPRO_HEADER_TITLE_TEXT . ''; - echo '|'; - } - ?> - ' . tep_output_string_protected($customer_first_name) . ' ・ '; - } else { - echo 'Bienvenue, '; - } - if (tep_session_is_registered('customer_id')) { - echo '(' . HEADER_TITLE_LOGOFF . ') ・ '; - } - echo ''; - if (tep_session_is_registered('customer_id')) { - echo 'Gérer mon compte'; - } else { - // ([4])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END - echo 'Connexion à '. strtolower(str_replace('Mon', 'votre', HEADER_TITLE_MY_ACCOUNT)). ''; - } - echo ''; - - // ([3])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN - if (!tep_session_is_registered('customer_id')) { - echo ' ou '; - echo 'Créez votre compte'; - } - // ([3])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END - ?> - | - |
|
-
- '
- // ([2])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
- . tep_image(
- // ([5])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
- // ([1])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- DIR_WS_DESIGN . '_BerenButtonHamburgerPlaneteCercle.svg',
- 'logo',
- // ([5])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
- '',
- '',
- // ([5])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
- 'class="size-img responsiveButton _berenIconeUtilisateurHoveredCraftedEffect" uk-toggle="target: #offcanvas-nav"'
- )
- // ([2])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
- . '' ;
- echo
- ''
- // ([2])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
- . tep_image(
- // ([5])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
- // ([1])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- DIR_WS_DESIGN . '_logo.svg',
- 'logo',
- // ([5])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
- '',
- '',
- // ([5])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
- 'class="size-logo-lp"'
- )
- // ([2])-->[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
-/*
-
- [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
- // CODETAG[USING_CARTINFOS] ?>
- count_contents() > 0)
- {
- $headerInclude__ephemereal['stringProductsInstances'] = sizeof($cart->get_products());
- if (tep_session_is_registered('customer_id')) {
- if ($is_partner == true OR is_pro_customer() == true) {
- $headerInclude__ephemereal['stringCartTotalPrice'] = ''
- // prix hors-taxe (ht):
- . ''
- . str_replace(
- 'EUR',
- '€',
- $currencies->format($cart->show_total( 'HT', $is_partner, $coeff_partner)) . ' ' . 'HT'
- )
- . '';
- } else {
- $headerInclude__ephemereal['stringCartTotalPrice'] = ''
- // prix hors-taxe (ht):
- . ''
- . str_replace(
- 'EUR',
- '€',
- $currencies->format($cart->show_total( 'TTC',$is_partner,$coeff_partner )) . ' ' . 'TTC'
- )
- . '';
- }
- } else {
- $headerInclude__ephemereal['stringCartTotalPrice'] = ''
- // prix toutes-taxes-comprises (ttc):
- . ''
- . str_replace(
- 'EUR',
- '€',
- $currencies->format($cart->show_total( 'TTC',$is_partner,$coeff_partner )) . ' ' . 'TTC'
- )
- . '';
- }
- ?>
-
-
-
-
-
- 1) { ?>
- produits:
-
- produit:
-
-
-
-
-
-
-
-
-
- [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
- /* [SHOPPING_CART_IS_ALSO_HERE] */
- // ([9])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
-
-
-
- [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
- if ($cart->count_contents() > 0) { ?>
-
-
-
- [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
- } ?>
- [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?>
- shopping_cart
-
- [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
-
-
-
- [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
- /* [PREVIEWING_SHOPPING_CART_IS_TRIGGERED_HERE] */ ?>
-
-
-
-
- [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 ?>
-
- BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
- // [DESTROY_EPHEMEREAL_VARIABLE_HERE_FOR_AVOID_CONFLICTS]
- $headerInclude__ephemereal = null; ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pré-visualisation du panier
-
-
- - - - -- [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN - $cart_contents_string = ''; - - if ($cart->count_contents() > 0) { - - $cart_contents_string = ' '
- // ([11])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
- // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- . ' ';
- // ([6])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
- ?>
- '
- . '|'
- // ([11])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
- // prix hors-taxe (ht):
- . ''
- . str_replace(
- 'EUR',
- '€',
- $currencies->format($cart->show_total( 'HT', $is_partner, $coeff_partner)) . ' ' . 'HT'
- )
- . ''
- // ([11])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
- . '/'
- // prix toutes-taxes-comprises (ttc):
- . ''
- . str_replace(
- 'EUR',
- '€',
- $currencies->format($cart->show_total( 'TTC',$is_partner,$coeff_partner )) . ' ' . 'TTC'
- )
- // ([10])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
- . ''
- . ' '
- . ' |
- [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?>
- - - | - [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END ?> - [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END - /* -), pour que Safari ne pose pas de problèmes, (alors que tout les autres navigateurs n'ont pas besoin de ça) - cela mène à la création d'une div spécialement pour permettre la reconnaissance de la valeur space-between sur Safari, marche aussi sur les autres navigateurs - - 4/ étape suggérée par Bérengère: - nous devons éviter que OSCommerce depuis sa fonction PHP de génération d'images HTML, à savoir, tep_image(), ne gère le redimensionnement des icones, (ceci est à contrôler, car, ce n'est pas le fonctionnement attendu par cette fonction PHP appartenant à OSCommerce), mais cela est important pour éviter de forcer le redimensionnement pour l'annuler ou le contrôler depuis le responsive - initialement, la taille était de 80x80 - - 5/ nous devons éviter que OSCommerce depuis sa fonction PHP de génération d'images HTML, à savoir, tep_image(), ne gère le balisage alt des icones, - (ceci est à contrôler, car, ce n'est pas le fonctionnement attendu par cette fonction PHP appartenant à OSCommerce), mais cela est important pour éviter d'afficher un texte de balisage inutile au survol - initialement, la valeur était un texte de remplacement au survol (sous forme d'étiquette navigateur) - - } - */ - // ([1])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?> - |
- [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?>
-
- [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
- echo
- ''
- . tep_image(
- DIR_WS_DESIGN . '_berenIconeAccesPro.svg',
- // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
- '',
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- 'class="position_acces_pro _berenIconeUtilisateurHoveredCraftedEffect _berenIconeAccesPro"'
- )
- . '';
-
- // ([2])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
- echo
- ''
- . tep_image(
- DIR_WS_DESIGN . '_berenIconeAccesPros.svg',
- // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
- '',
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- 'class="size-img _berenIconeUtilisateurHoveredCraftedEffect _berenIconeAccesPros"'
- )
- . '';
- echo
- ''
- . tep_image(
- DIR_WS_DESIGN . '_berenIconeTel.svg',
- // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
- '',
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- 'class="size-img _berenIconeUtilisateurHoveredCraftedEffect _berenIconeTel" uk-tooltip="title: 03 69 57 64 36; pos: bottom;"'
- )
- . '';
-
- echo
- ''
- . tep_image(
- DIR_WS_DESIGN . '_berenIconeContact.svg',
- // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
- '',
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- 'class="size-img _berenIconeUtilisateurHoveredCraftedEffect _berenIconeContact"'
- )
- . '';
- echo
- ''
- . tep_image(
- DIR_WS_DESIGN . '_berenIconeFacebook.svg',
- // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
- '',
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- 'class="size-img _berenIconeUtilisateurHoveredCraftedEffect _berenIconeFacebook"'
- )
- . '';
- echo
- ''
- . tep_image(
- DIR_WS_DESIGN . '_berenIconePanier.svg',
- // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
- '',
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- 'class="size-img _berenIconeUtilisateurHoveredCraftedEffect"'
- )
- . '';
- echo
- ''
- . tep_image(
- DIR_WS_DESIGN . '_berenIconeUtilisateur.svg',
- // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
- '',
- '',
- // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- 'class="size-img _berenIconeUtilisateurHoveredCraftedEffect"'
- )
- . '';
- // ([2])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- ?>
-
- [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END ?>
- |
- [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
- /*
-
| .. | pour créer une nouvelle cellule dans le tableau - - 4/ nous localisons désormais ici le fil d'arianne - à l'origine, il était situé ailleur (voir CODETAG[BREADCRUMB_BAR_WAS_INITIALLY_HERE]) - - 5/ désormais dans la nouvelle version de 2022, on va déplacer le système de traduction Google Translate Element Gadget ici - à l'origine, il était situé ailleur (voir CODETAG[GOOGLE_TRANSLATE_ELEMENT_GADGET_WAS_INITIALLY_HERE]) - autrement, rien n'a été changé ici, mais, il est important de préciser cela: - (voir le fichier /includes/footer.php, tag: [GOOGLE_TRANSLATE_ELEMENT_GADGET_ON_MATERIAL_DESIGN_ICONS_BUGFIX_HERE]) - car dans le fichier pré-cité.. - .. - ... il s'agit d'une réparation d'une énorme bêtise de Google Translate Element gadget.. - suite à ce problème: https://github.com/google/material-design-lite/issues/1721 - "Goggle translate destroying material-icons tags" - en effet: - ça bousille entièrement les icones Material Design Icons - pourtant, Google Translate Element gadget et Google Material Design Icons sont tout deux des produits.. Google.. : mais ils ne sont pas d'accord - voici une explication plus concise du problème (en anglais), par l'auteur du post-initial du problème: - * Sorry if I'm not doing this correctly, but I just joined GitHub to submit this issue! - * - * I'm using MDL for the first time on a new site and discovered some major problems when users use google translate to translate the page. - * Google translate replaces any text with it's translated version and surrounds it with double tags. - * - * First I thought the font tags where the problem, - * then I realized it's translating the icon label withing the tag, - * so MDL now has no idea which icon you want and it seems like the tags additionally mess with the layout. - * - * I'm working around the problem by adding the class "notranslate" to the tags which does seem to work, - * but it doesn't fix the problem for the "hamburger" drawer icon since that is injected by the JS. - * Is there a way to work around this so it's fixed out of the box for MDL? - * - * Seems like a big issue and unfortunate if the answer is that everyone has to had class="notranslate" to every tag. - * - * Also, any ideas on how to fix the hamburger icon? - un collaborateur de Google Material Design Icons est au courant de ce souci, voici sa réponse: - cf: https://github.com/google/material-design-lite/issues/1721#issuecomment-167230926 - * Commit 04beffa solves the menu icon being translated by using the codepoint. - * - * Either using notranslate with ligatures or the codepoints solves the problem, at least with icons. - * - * For other Translate issues... Probably best to wait for 2.x when we refactor loads of stuff including layout. - * - * We can clearly see layout and possibly grid are completely screwed in translate, but for no *apparent reason. - * - * Rather than spend time debugging this now we should do testing ahead of releasing 2.x to make sure it works better in these cases. - * - * Marking this as a 2.x milestone thing as a reminder. - sauf que.. ça n'a jamais été fixé.. depuis 2015... - 5 ans pu--.. - et toujours pas de patch de Google pour ce souci complètement idiot où Google Translate Element gadget s'entête à traduire les noms de codes des icones Material Design Icons... - bref, j'ai donc mis au point mon propre patch.. - c'est très simple: - j'associe une fois la page chargée à chaque élément du DOM qui possèdent une classe material-icons une seconde classe: notranslate, et cela, à l'aide d'un code Javascript et d'une boucle! - (car utiliser les Code Points, aurait été une plaie, dans le sens où j'aurait du reprendre chacun des fichiers 1 par 1 et donner un nom différent à l'icone en correspondance avec son Code Point - code-points material design icons: https://github.com/google/material-design-icons/blob/master/iconfont/codepoints) - l'effet est réussi: - toutes les icone Material Design Icons sont alors préservées, car chaque élément qui possède une classe material-icons sont en réalité des icones Material Design Icons - contre-coup: ça peut faire ramer la page si il y a plus de 10000 icones, mais.. on en est à milles lieues! - */ - ?> - [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?> - [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?> -|||
- [VTAB-TEAM-LINDER-PARTNER-1][OSC][AddClassDescription(headerNavigation)]:{" permet de cibler cet élément depuis une règle CSS "}
|
- [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END ?>
-
| ', '', 'ù'), htmlspecialchars(urldecode($HTTP_GET_VARS['error_message']))); ?> | -
| ', '', 'ù'), htmlspecialchars($HTTP_GET_VARS['info_message'])); ?> | -
|
+
+
+
+
+
+ [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?>
+
+ phone_in_talk
+ Téléphone: 03 69 57 64 36
+
+
+ mail_outline
+ Contacts
+
+ [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
+
+
+
+ + ' . VDPRO_HEADER_TITLE_TEXT . ''; + echo '|'; + } + ?> + ' . tep_output_string_protected($customer_first_name) . ' ・ '; + } else { + echo 'Bienvenue, '; + } + if (tep_session_is_registered('customer_id')) { + echo '(' . HEADER_TITLE_LOGOFF . ') ・ '; + } + echo ''; + if (tep_session_is_registered('customer_id')) { + echo 'Gérer mon compte'; + } else { + // ([4])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END + echo 'Connexion à '. strtolower(str_replace('Mon', 'votre', HEADER_TITLE_MY_ACCOUNT)). ''; + } + echo ''; + + // ([3])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN + if (!tep_session_is_registered('customer_id')) { + echo ' ou '; + echo 'Créez votre compte'; + } + // ([3])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END + ?> + | + |
|
+
+ '
+ // ([2])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
+ . tep_image(
+ // ([5])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
+ // ([1])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ DIR_WS_DESIGN . '_BerenButtonHamburgerPlaneteCercle.svg',
+ 'logo',
+ // ([5])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
+ '',
+ '',
+ // ([5])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
+ 'class="size-img responsiveButton _berenIconeUtilisateurHoveredCraftedEffect" uk-toggle="target: #offcanvas-nav"'
+ )
+ // ([2])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
+ . '' ;
+ echo
+ ''
+ // ([2])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
+ . tep_image(
+ // ([5])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
+ // ([1])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ DIR_WS_DESIGN . '_logo.svg',
+ 'logo',
+ // ([5])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
+ '',
+ '',
+ // ([5])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
+ 'class="size-logo-lp"'
+ )
+ // ([2])-->[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
+/*
+
+ [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
+ // CODETAG[USING_CARTINFOS] ?>
+ count_contents() > 0)
+ {
+ $headerInclude__ephemereal['stringProductsInstances'] = sizeof($cart->get_products());
+ if (tep_session_is_registered('customer_id')) {
+ if ($is_partner == true OR is_pro_customer() == true) {
+ $headerInclude__ephemereal['stringCartTotalPrice'] = ''
+ // prix hors-taxe (ht):
+ . ''
+ . str_replace(
+ 'EUR',
+ '€',
+ $currencies->format($cart->show_total( 'HT', $is_partner, $coeff_partner)) . ' ' . 'HT'
+ )
+ . '';
+ } else {
+ $headerInclude__ephemereal['stringCartTotalPrice'] = ''
+ // prix hors-taxe (ht):
+ . ''
+ . str_replace(
+ 'EUR',
+ '€',
+ $currencies->format($cart->show_total( 'TTC',$is_partner,$coeff_partner )) . ' ' . 'TTC'
+ )
+ . '';
+ }
+ } else {
+ $headerInclude__ephemereal['stringCartTotalPrice'] = ''
+ // prix toutes-taxes-comprises (ttc):
+ . ''
+ . str_replace(
+ 'EUR',
+ '€',
+ $currencies->format($cart->show_total( 'TTC',$is_partner,$coeff_partner )) . ' ' . 'TTC'
+ )
+ . '';
+ }
+ ?>
+
+
+
+
+
+ 1) { ?>
+ produits:
+
+ produit:
+
+
+
+
+
+
+
+
+
+ [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
+ /* [SHOPPING_CART_IS_ALSO_HERE] */
+ // ([9])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
+
+
+
+ [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
+ if ($cart->count_contents() > 0) { ?>
+
+
+
+ [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
+ } ?>
+ [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?>
+ shopping_cart
+
+ [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
+
+
+
+ [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
+ /* [PREVIEWING_SHOPPING_CART_IS_TRIGGERED_HERE] */ ?>
+
+
+
+
+ [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 ?>
+
+ BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
+ // [DESTROY_EPHEMEREAL_VARIABLE_HERE_FOR_AVOID_CONFLICTS]
+ $headerInclude__ephemereal = null; ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Pré-visualisation du panier
+
+
+ + + + ++ [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN + $cart_contents_string = ''; + + if ($cart->count_contents() > 0) { + + $cart_contents_string = ' '. $products[$i]['quantity'] .' ' . ''
+ // ([11])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
+ // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ . ' ';
+ // ([6])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
+ ?>
+ '
+ . '|'
+ // ([11])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN
+ // prix hors-taxe (ht):
+ . ''
+ . str_replace(
+ 'EUR',
+ '€',
+ $currencies->format($cart->show_total( 'HT', $is_partner, $coeff_partner)) . ' ' . 'HT'
+ )
+ . ''
+ // ([11])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
+ . '/'
+ // prix toutes-taxes-comprises (ttc):
+ . ''
+ . str_replace(
+ 'EUR',
+ '€',
+ $currencies->format($cart->show_total( 'TTC',$is_partner,$coeff_partner )) . ' ' . 'TTC'
+ )
+ // ([10])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END
+ . ''
+ . ' '
+ . ' |
+ [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?>
+ + + | + [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END ?> + [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END + /* +), pour que Safari ne pose pas de problèmes, (alors que tout les autres navigateurs n'ont pas besoin de ça) + cela mène à la création d'une div spécialement pour permettre la reconnaissance de la valeur space-between sur Safari, marche aussi sur les autres navigateurs + - 4/ étape suggérée par Bérengère: + nous devons éviter que OSCommerce depuis sa fonction PHP de génération d'images HTML, à savoir, tep_image(), ne gère le redimensionnement des icones, (ceci est à contrôler, car, ce n'est pas le fonctionnement attendu par cette fonction PHP appartenant à OSCommerce), mais cela est important pour éviter de forcer le redimensionnement pour l'annuler ou le contrôler depuis le responsive + initialement, la taille était de 80x80 + - 5/ nous devons éviter que OSCommerce depuis sa fonction PHP de génération d'images HTML, à savoir, tep_image(), ne gère le balisage alt des icones, + (ceci est à contrôler, car, ce n'est pas le fonctionnement attendu par cette fonction PHP appartenant à OSCommerce), mais cela est important pour éviter d'afficher un texte de balisage inutile au survol + initialement, la valeur était un texte de remplacement au survol (sous forme d'étiquette navigateur) + + } + */ + // ([1])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?> + |
+ [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?>
+
+ [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
+ echo
+ ''
+ . tep_image(
+ DIR_WS_DESIGN . '_berenIconeAccesPro.svg',
+ // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
+ '',
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ 'class="position_acces_pro _berenIconeUtilisateurHoveredCraftedEffect _berenIconeAccesPro"'
+ )
+ . '';
+
+ // ([2])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
+ echo
+ ''
+ . tep_image(
+ DIR_WS_DESIGN . '_berenIconeAccesPros.svg',
+ // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
+ '',
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ 'class="size-img _berenIconeUtilisateurHoveredCraftedEffect _berenIconeAccesPros"'
+ )
+ . '';
+ echo
+ ''
+ . tep_image(
+ DIR_WS_DESIGN . '_berenIconeTel.svg',
+ // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
+ '',
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ 'class="size-img _berenIconeUtilisateurHoveredCraftedEffect _berenIconeTel" uk-tooltip="title: 03 69 57 64 36; pos: bottom;"'
+ )
+ . '';
+
+ echo
+ ''
+ . tep_image(
+ DIR_WS_DESIGN . '_berenIconeContact.svg',
+ // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
+ '',
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ 'class="size-img _berenIconeUtilisateurHoveredCraftedEffect _berenIconeContact"'
+ )
+ . '';
+ echo
+ ''
+ . tep_image(
+ DIR_WS_DESIGN . '_berenIconeFacebook.svg',
+ // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
+ '',
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ 'class="size-img _berenIconeUtilisateurHoveredCraftedEffect _berenIconeFacebook"'
+ )
+ . '';
+ echo
+ ''
+ . tep_image(
+ DIR_WS_DESIGN . '_berenIconePanier.svg',
+ // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
+ '',
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ 'class="size-img _berenIconeUtilisateurHoveredCraftedEffect"'
+ )
+ . '';
+ echo
+ ''
+ . tep_image(
+ DIR_WS_DESIGN . '_berenIconeUtilisateur.svg',
+ // ([5])-->BEGIN[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN
+ '',
+ '',
+ // ([4])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ 'class="size-img _berenIconeUtilisateurHoveredCraftedEffect"'
+ )
+ . '';
+ // ([2])-->[VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ ?>
+
+ [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END ?>
+ |
+ [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END
+ /*
+
| .. | pour créer une nouvelle cellule dans le tableau + - 4/ nous localisons désormais ici le fil d'arianne + à l'origine, il était situé ailleur (voir CODETAG[BREADCRUMB_BAR_WAS_INITIALLY_HERE]) + - 5/ désormais dans la nouvelle version de 2022, on va déplacer le système de traduction Google Translate Element Gadget ici + à l'origine, il était situé ailleur (voir CODETAG[GOOGLE_TRANSLATE_ELEMENT_GADGET_WAS_INITIALLY_HERE]) + autrement, rien n'a été changé ici, mais, il est important de préciser cela: + (voir le fichier /includes/footer.php, tag: [GOOGLE_TRANSLATE_ELEMENT_GADGET_ON_MATERIAL_DESIGN_ICONS_BUGFIX_HERE]) + car dans le fichier pré-cité.. + .. + ... il s'agit d'une réparation d'une énorme bêtise de Google Translate Element gadget.. + suite à ce problème: https://github.com/google/material-design-lite/issues/1721 + "Goggle translate destroying material-icons tags" + en effet: + ça bousille entièrement les icones Material Design Icons + pourtant, Google Translate Element gadget et Google Material Design Icons sont tout deux des produits.. Google.. : mais ils ne sont pas d'accord + voici une explication plus concise du problème (en anglais), par l'auteur du post-initial du problème: + * Sorry if I'm not doing this correctly, but I just joined GitHub to submit this issue! + * + * I'm using MDL for the first time on a new site and discovered some major problems when users use google translate to translate the page. + * Google translate replaces any text with it's translated version and surrounds it with double tags. + * + * First I thought the font tags where the problem, + * then I realized it's translating the icon label withing the tag, + * so MDL now has no idea which icon you want and it seems like the tags additionally mess with the layout. + * + * I'm working around the problem by adding the class "notranslate" to the tags which does seem to work, + * but it doesn't fix the problem for the "hamburger" drawer icon since that is injected by the JS. + * Is there a way to work around this so it's fixed out of the box for MDL? + * + * Seems like a big issue and unfortunate if the answer is that everyone has to had class="notranslate" to every tag. + * + * Also, any ideas on how to fix the hamburger icon? + un collaborateur de Google Material Design Icons est au courant de ce souci, voici sa réponse: + cf: https://github.com/google/material-design-lite/issues/1721#issuecomment-167230926 + * Commit 04beffa solves the menu icon being translated by using the codepoint. + * + * Either using notranslate with ligatures or the codepoints solves the problem, at least with icons. + * + * For other Translate issues... Probably best to wait for 2.x when we refactor loads of stuff including layout. + * + * We can clearly see layout and possibly grid are completely screwed in translate, but for no *apparent reason. + * + * Rather than spend time debugging this now we should do testing ahead of releasing 2.x to make sure it works better in these cases. + * + * Marking this as a 2.x milestone thing as a reminder. + sauf que.. ça n'a jamais été fixé.. depuis 2015... + 5 ans pu--.. + et toujours pas de patch de Google pour ce souci complètement idiot où Google Translate Element gadget s'entête à traduire les noms de codes des icones Material Design Icons... + bref, j'ai donc mis au point mon propre patch.. + c'est très simple: + j'associe une fois la page chargée à chaque élément du DOM qui possèdent une classe material-icons une seconde classe: notranslate, et cela, à l'aide d'un code Javascript et d'une boucle! + (car utiliser les Code Points, aurait été une plaie, dans le sens où j'aurait du reprendre chacun des fichiers 1 par 1 et donner un nom différent à l'icone en correspondance avec son Code Point + code-points material design icons: https://github.com/google/material-design-icons/blob/master/iconfont/codepoints) + l'effet est réussi: + toutes les icone Material Design Icons sont alors préservées, car chaque élément qui possède une classe material-icons sont en réalité des icones Material Design Icons + contre-coup: ça peut faire ramer la page si il y a plus de 10000 icones, mais.. on en est à milles lieues! + */ + ?> + [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?> + [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?> +|||
+ [VTAB-TEAM-LINDER-PARTNER-1][OSC][AddClassDescription(headerNavigation)]:{" permet de cibler cet élément depuis une règle CSS "}
|
+ [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END ?>
+
| ', '', 'ù'), htmlspecialchars(urldecode($HTTP_GET_VARS['error_message']))); ?> | +
| ', '', 'ù'), htmlspecialchars($HTTP_GET_VARS['info_message'])); ?> | +