Jump to content
sehp

block-order-detail problème d'opacité

Recommended Posts

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;">

Share this post


Link to post
Share on other sites

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é.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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)

Share this post


Link to post
Share on other sites

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}

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

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 by erouvier29 (see edit history)

Share this post


Link to post
Share on other sites

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à...

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

 

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

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More