sehp Posted April 24, 2016 Share Posted April 24, 2016 Bonjour, j'ai un problème sur mon site, quand un client se connecte et qu'il va dans l'historique de ses commande le texte devient trop clair. Quand j'inspecte la page avec google chrome je m'aperçoit que ça vient de l'opacité et qu'il faudrait mettre la valeur "1" mais je ne trouve pas le fichier à modifier. Quelqu'un peut m'aider? Merci <div id="block-order-detail" class="unvisible" style="display: block; opacity: 0.427456;"> Link to comment Share on other sites More sharing options...
erouvier29 Posted April 25, 2016 Share Posted April 25, 2016 Bonjour, Ça dépend de votre thème, mais vérifiez typiquement /themes/xxx/history.tpl et /themes/xxx/js/history.js Sinon, une URL pourrait aider à localiser l'origine de l'opacité. Link to comment Share on other sites More sharing options...
sehp Posted April 25, 2016 Author Share Posted April 25, 2016 Bonjour, Ça dépend de votre thème, mais vérifiez typiquement /themes/xxx/history.tpl et /themes/xxx/js/history.js Sinon, une URL pourrait aider à localiser l'origine de l'opacité. Merci, je vient de regarder mais ce n'est pas dans /themes/xxx/history.tpl et /themes/xxx/js/history.js Voici l'url de ma boutique mais il faut le comte d'un client qui a déjà passé une commande pour voir le bug et vous comprendrez que je ne peux fournir cela. Ce qui est curieux quand même c'est que l'opacité n'est jamais la même pou un même compte; comme si il y avait une réaction à la luminosité pourtant rien à voir avec l'écran... https://vibrationscristallines.fr/historique-des-commandes Link to comment Share on other sites More sharing options...
erouvier29 Posted April 26, 2016 Share Posted April 26, 2016 Il semble sur le site que la réponse AJAX lors de la sélection d'une commande de l'historique contienne un script JS qui inclut jQuery (et redéfinit $), mais sans les extensions initialement chargées, en particulier uniform, footable et easing. Du coup, après avoit visualisé une commande, il y a tout un tas d'erreurs JS (par exemple en retaillant la fenêtre). Quant à l'opacité je dirais qu'elle se bloque sur une valeur intermédiaire (lors du fadeOut) à cause de ces multiples erreurs. Je vous conseillerais d'éviter de charger jQuery plusieurs fois (vérifiez ce qui se passe à la fin de themes/xxx/order-detail.tpl, ou bien dans /controllers/front/OrderDetailController.php ou sa surcharge) Link to comment Share on other sites More sharing options...
sehp Posted April 26, 2016 Author Share Posted April 26, 2016 Il semble sur le site que la réponse AJAX lors de la sélection d'une commande de l'historique contienne un script JS qui inclut jQuery (et redéfinit $), mais sans les extensions initialement chargées, en particulier uniform, footable et easing. Du coup, après avoit visualisé une commande, il y a tout un tas d'erreurs JS (par exemple en retaillant la fenêtre). Quant à l'opacité je dirais qu'elle se bloque sur une valeur intermédiaire (lors du fadeOut) à cause de ces multiples erreurs. Je vous conseillerais d'éviter de charger jQuery plusieurs fois (vérifiez ce qui se passe à la fin de themes/xxx/order-detail.tpl, ou bien dans /controllers/front/OrderDetailController.php ou sa surcharge) Merci, cela viendrait de la version de java installée sur ma machine alors? Voici la fin de themes/xxx/order-detail.tpl : {/if} {if isset($errors) && $errors} <div class="alert alert-danger"> <p>{if $errors|@count > 1}{l s='There are %d errors' sprintf=$errors|@count}{else}{l s='There is %d error' sprintf=$errors|@count}{/if}</p> <ol> {foreach from=$errors key=k item=error} <li>{$error}</li> {/foreach} </ol> </div> {/if} {if isset($message_confirmation) && $message_confirmation} <p class="alert alert-success"> {l s='Message successfully sent'} </p> {/if} <form action="{$link->getPageLink('order-detail', true)|escape:'html':'UTF-8'}" method="post" class="std" id="sendOrderMessage"> <h3 class="page-heading bottom-indent">{l s='Add a message'}</h3> <p>{l s='If you would like to add a comment about your order, please write it in the field below.'}</p> <p class="form-group"> <label for="id_product">{l s='Product'}</label> <select name="id_product" class="form-control"> <option value="0">{l s='-- Choose --'}</option> {foreach from=$products item=product name=products} <option value="{$product.product_id}">{$product.product_name}</option> {/foreach} </select> </p> <p class="form-group"> <textarea class="form-control" cols="67" rows="3" name="msgText"></textarea> </p> <div class="submit"> <input type="hidden" name="id_order" value="{$order->id|intval}" /> <input type="submit" class="unvisible" name="submitMessage" value="{l s='Send'}"/> <button type="submit" name="submitMessage" class="button btn btn-default button-medium"><span>{l s='Send'}<i class="icon-chevron-right right"></i></span></button> </div> </form> {else} <p class="alert alert-info"><i class="icon-info-sign"></i>{l s='You cannot return merchandise with a guest account'}</p> {/if} {/if} Link to comment Share on other sites More sharing options...
erouvier29 Posted April 26, 2016 Share Posted April 26, 2016 Non, pas de problème de version (et encore moins de Java, on parle de JavaScript). Et le problème n'est pas dans le template ci-dessus, mais sans doute dans le controller. Il faudrait vérifier la classe OrderDetailController et sa hiérarchie (en n'oubliant pas les surcharges). Sauriez-vous faire? Link to comment Share on other sites More sharing options...
erouvier29 Posted April 26, 2016 Share Posted April 26, 2016 PS: Avez-vous la possibilité de contacter le développeur du thème? Link to comment Share on other sites More sharing options...
sehp Posted April 26, 2016 Author Share Posted April 26, 2016 PS: Avez-vous la possibilité de contacter le développeur du thème? C'est le theme 1.6 de prestashop modifié par mes soins... Link to comment Share on other sites More sharing options...
erouvier29 Posted April 26, 2016 Share Posted April 26, 2016 (edited) OK. Avez-vous fait des modis ou installé des overrides de OrderDetailController et/ou FrontController, typiquement pour ajouter votre JS à la fin des pages? Il faudrait éviter de le faire dans le cas d'une réponse à une requête AJAX. Edited April 26, 2016 by erouvier29 (see edit history) Link to comment Share on other sites More sharing options...
sehp Posted April 26, 2016 Author Share Posted April 26, 2016 J'avoue que c'est un peut du chinois pour moi mais ce qui est sure c'est que je n'ai rien modifié à cet endroit là... Link to comment Share on other sites More sharing options...
erouvier29 Posted April 26, 2016 Share Posted April 26, 2016 Pourtant, vous avez fait un boulot énorme au niveau du thème! Quelle version exacte de PS? Je regarderai plus précisément d'où peut venir ce doublon de jQuery dès que j'aurai un peu de temps... Link to comment Share on other sites More sharing options...
sehp Posted April 26, 2016 Author Share Posted April 26, 2016 Oui, je me débrouille avec le CSS quand il s'agit de changer certaines valeurs mais ça s'arrête là... Le version est 1.6.0.9 Merci beaucoup pour votre aide! Link to comment Share on other sites More sharing options...
erouvier29 Posted April 27, 2016 Share Posted April 27, 2016 J'ai trouvé, c'est un bug connu et corrigé entre PS 1.6.0 et PS.1.6.1: http://forge.prestashop.com/browse/PSCSX-2361 Editez le fichier /classes/controller/Controller.php et remplacez la ligne 430: echo ($defer ? $html.$javascript : str_replace($js_tag, $javascript, $html)).$live_edit_content.((!isset($this->ajax) || ! $this->ajax) ? '</body></html>' : ''); par: if ($defer && (!isset($this->ajax) || ! $this->ajax)) { echo $html.$javascript; } else { echo preg_replace('/(?<!\$)'.$js_tag.'/', $javascript, $html); } echo $live_edit_content.((!isset($this->ajax) || ! $this->ajax) ? '</body></html>' : ''); Cela évitera l'inclusion du JS dans les réponses AJAX Link to comment Share on other sites More sharing options...
sehp Posted May 2, 2016 Author Share Posted May 2, 2016 J'ai trouvé, c'est un bug connu et corrigé entre PS 1.6.0 et PS.1.6.1: http://forge.prestashop.com/browse/PSCSX-2361 Editez le fichier /classes/controller/Controller.php et remplacez la ligne 430: echo ($defer ? $html.$javascript : str_replace($js_tag, $javascript, $html)).$live_edit_content.((!isset($this->ajax) || ! $this->ajax) ? '</body></html>' : ''); par: if ($defer && (!isset($this->ajax) || ! $this->ajax)) { echo $html.$javascript; } else { echo preg_replace('/(?<!\$)'.$js_tag.'/', $javascript, $html); } echo $live_edit_content.((!isset($this->ajax) || ! $this->ajax) ? '</body></html>' : ''); Cela évitera l'inclusion du JS dans les réponses AJAX Un GRAND merci ça marche! Je ne met pas à jour prestashop car j'ai fait pas mal de modifications notamment du module configurateur de theme et j'ai peur de perdre mon travail... Bonne journée Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now