Johnny JOUJOU Posted April 15, 2016 Share Posted April 15, 2016 Bonjour, Suite à l'installation d'un module qui me permet de vider mon cache , mon site s'est mis à avoir des problèmes j'ai l'impression que tout le css est parti. Voici le message d'erreur. FATAL ERROR: UNCAUGHT EXCEPTION 'SMARTYCOMPILEREXCEPTION' WITH MESSAGE 'SYNTAX ERROR IN TEMPLATE "/HOMEPAGES/5/D311436622/HTDOCS/MODULES/PRODUCTCOMMENTS//PRODUCTCOMMENTS.TPL" ON LINE 140 "{/IF}" UNCLOSED {IF} TAG' IN /HOMEPAGES/5/D311436622/HTDOCS/TOOLS/SMARTY/SYSPLUGINS/SMARTY_INTERNAL_TEMPLATECOMPILERBASE.PHP:431 STACK TRACE: #0 /HOMEPAGES/5/D311436622/HTDOCS/TOOLS/SMARTY/SYSPLUGINS/SMARTY_INTERNAL_SMARTYTEMPLATECOMPILER.PHP(64): SMARTY_INTERNAL_TEMPLATECOMPILERBASE->TRIGGER_TEMPLATE_ERROR('UNCLOSED {IF} T...') #1 /HOMEPAGES/5/D311436622/HTDOCS/TOOLS/SMARTY/SYSPLUGINS/SMARTY_INTERNAL_TEMPLATECOMPILERBASE.PHP(82): SMARTY_INTERNAL_SMARTYTEMPLATECOMPILER->DOCOMPILE('{*?* 2007-2011 ...') #2 /HOMEPAGES/5/D311436622/HTDOCS/TOOLS/SMARTY/SYSPLUGINS/SMARTY_INTERNAL_TEMPLATE.PHP(261): SMARTY_INTERNAL_TEMPLATECOMPILERBASE->COMPILETEMPLATE(OBJECT(SMARTY_INTERNAL_TEMPLATE)) #3 /HOMEPAGES/5/D311436622/HTDOCS/TOOLS/SMARTY/SYSPLUGINS/SMARTY_INTERNAL_TEMPLATE.PHP(423): SMARTY_INTERNAL_TEMPLATE->COMPILETEMPLATESOURCE() #4 /HOMEPAGES/5/D IN/HOMEPAGES/5/D311436622/HTDOCS/TOOLS/SMARTY/SYSPLUGINS/SMARTY_INTERNAL_TEMPLATECOMPILERBASE.PHPON LINE 431 Help me please Link to comment Share on other sites More sharing options...
Eolia Posted April 15, 2016 Share Posted April 15, 2016 Déjà, pourquoi installer un module quand Prestashop le propose nativement depuis les 1.5? Lorsque vous ne videz pas le cache, aucune des modification effectuées sur les tpl ne seront prises en considération. Si vous le videz, les templates sont recompilés... quand tout va bien. Dans votre cas, vous avez du modifier le template productcomments.tpl et vous avez supprimé une balise fermante {/if} donc smarty se plante comme une bouze et est incapable d'afficher quoi que ce soit 1 Link to comment Share on other sites More sharing options...
Johnny JOUJOU Posted April 15, 2016 Author Share Posted April 15, 2016 Bah justement le problème c'est que je suis sur une version ancienne prestashop 1.4.3. <div id="idTab5"> <script type="text/javascript" src="{$module_dir}js/jquery.rating.pack.js"></script> <script type="text/javascript"> $(function(){literal}[spam-filter]/literal} $('input[@type=radio].star').rating(); {literal[spam-filter]{/literal}); $(function(){literal}[spam-filter]/literal} $('.auto-submit-star').rating({literal}[spam-filter]/literal} callback: function(value, link){literal}[spam-filter]/literal} {literal[spam-filter]{/literal} {literal[spam-filter]{/literal}); {literal[spam-filter]{/literal}); //close comment form function closeCommentForm(){ldelim} $('#sendComment').slideUp('fast'); $('input#addCommentButton').fadeIn('slow'); {rdelim} </script> {if $comments} <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> {if $criterions|@count > 0} {if $criterions|@count > 0} <span class="hidden" itemprop="reviewCount">{$comments|@count}</span> <span class="hidden" itemprop="ratingValue">{$averageTotal|round}</span> <h2>{l s='Average grade' mod='productcomments'}</h2> <div style="float: left"> {l s='Average' mod='productcomments'}:<br /> {section loop=6 step=1 start=1 name=average} <input class="auto-submit-star" disabled="disabled" type="radio" name="average" {if $averageTotal|round neq 0 and $smarty.section.average.index eq $averageTotal|round}checked="checked"{/if} /> {/section} </div> <div style="float: left; margin-left: 40px; width: 400px"> {foreach from=$criterions item=c} <div style="float: left; margin-left: 20px; margin-bottom: 10px;"> {$c.name|escape:'html':'UTF-8'}<br /> {section loop=6 step=1 start=1 name=average} <input class="auto-submit-star" disabled="disabled" type="radio" name="{$c.name|escape:'html':'UTF-8'}_{$smarty.section.average.index}" value="{$smarty.section.average.index}" {if isset($averages[$c.id_product_comment_criterion]) AND $averages[$c.id_product_comment_criterion]|round neq 0 AND $smarty.section.average.index eq $averages[$c.id_product_comment_criterion]|round}checked="checked"{/if} /> {/section} </div> {/foreach} </div> {/if} <div class="clear table_block"> <table class="std" style="width: 100%"> <thead> <tr> <th class="first_item" style="width:80px;">{l s='From' mod='productcomments'}</th> <th class="item">{l s='Title' mod='productcomments'}</th> <th class="item">{l s='Comment' mod='productcomments'}</th> </tr> </thead> <tbody> {foreach from=$comments item=comment} {if $comment.content} <tr> <td style="vertical-align:top"> {dateFormat date=$comment.date_add|escape:'html':'UTF-8' full=0} {$comment.customer_name|escape:'html':'UTF-8'}. </td> <td style="vertical-align:top"> {$comment.title} </td> <td style="vertical-align: top"> {$comment.content|escape:'html':'UTF-8'|nl2br} </td> </tr> {/if} {/foreach} </tbody> </table> </div> </div> {else} <p class="align_center">{l s='No customer comments for the moment.' mod='productcomments'}</p> {/if} {if $too_early == true} <p class="align_center">{l s='You should wait' mod='productcomments'} {$delay} {l s='second(s) before posting a new comment' mod='productcomments'}</p> {elseif $cookie->isLogged() == true || $allow_guests == true} <p class="align_center"><input style="margin:auto;" class="button_large" type="button" id="addCommentButton" value="{l s='Add a comment' mod='productcomments'}" onclick="$('#sendComment').slideDown('slow');$(this).slideUp('slow');" /></p> <form action="{$action_url}" method="post" class="std" id="sendComment" style="display:none;"> <fieldset> <p class="align_right"><a href="javascript:closeCommentForm()">X</a></p> <p class="bold">{l s='Add a comment' mod='productcomments'}</p> {if $criterions|@count > 0} <table border="0" cellspacing="0" cellpadding="0"> {section loop=$criterions name=i start=0 step=1} <tr> <td> </td> <td> <input type="hidden" name="id_product_comment_criterion_{$smarty.section.i.iteration}" value="{$criterions.id_product_comment_criterion|intval}" /> {$criterions.name|escape:'html':'UTF-8'} </td> <td> </td> <td> <input class="star" type="radio" name="{$smarty.section.i.iteration}_grade" id="{$smarty.section.i.iteration}_grade" value="1" /> <input class="star" type="radio" name="{$smarty.section.i.iteration}_grade" value="2" /> <input class="star" type="radio" name="{$smarty.section.i.iteration}_grade" value="3" checked="checked" /> <input class="star" type="radio" name="{$smarty.section.i.iteration}_grade" value="4" /> <input class="star" type="radio" name="{$smarty.section.i.iteration}_grade" value="5" /> </td> </tr> {/section} </table> {/if} {if $allow_guests == true && $cookie->isLogged() == false}<p><label for="customer_name">{l s='Your name:' mod='productcomments'}</label><input type="text" name="customer_name" id="customer_name" /></p>{/if} <p><label for="comment_title">{l s='Title:' mod='productcomments'}</label><input type="text" name="title" id="comment_title" /></p> <p><label for="content">{l s='Comment:' mod='productcomments'}</label><textarea cols="46" rows="5" name="content" id="content"></textarea></p> <p class="submit"> <input class="button" name="submitMessage" value="{l s='Send' mod='productcomments'}" type="submit" /> </p> </form> {else} <p class="align_center">{l s='Only registered users can post a new comment.' mod='productcomments'}</p> {/if} Voici les donées de mon fichier tpl . Je suis au bout du rouleau Link to comment Share on other sites More sharing options...
Eolia Posted April 15, 2016 Share Posted April 15, 2016 au bout du rouleau ? Vous avez 2 fois la balise ouvrante {if $criterions|@count > 0}, supprimez-en une^^ Le problème se situe entre la chaise et le clavier, non ? Link to comment Share on other sites More sharing options...
Johnny JOUJOU Posted April 15, 2016 Author Share Posted April 15, 2016 J'ai réglé le problème précédent néanmoins j'ai un problème que je n'arrive pas à résoudre http://lecomptoirdescomposites.com/fr/gelcoat-finition/34-gelcoat-de-finition.html comme vous pouvez voir en suivant mon lien tout mes blocs sont en dessous de la description de mes produits , je ne sais pas pourquoi. Si quelqu'un peut m'expliquer comment je fais pour mettre un lien sur mon logo qui redirige vers ma page d'accueil , Merci beaucoup Link to comment Share on other sites More sharing options...
Eolia Posted April 16, 2016 Share Posted April 16, 2016 Déjà, on commence par dire merci, c'est la moindre des choses. Pour votre second problème, vous avez inclus la colonne de droite dans la colonne centrale, donc forcément... Je pense qu'avant de bidouiller les tpl, il faut commencer par réfléchir. Si vous supprimez un mur porteur dans la maison, il ne faudra pas se demander pourquoi elle s'effondre. Un lien sur un logo ou une image, cela s'appelle une valise a: <a href="http://maboutique.com><src="url_du_logo" /></a> 1 Link to comment Share on other sites More sharing options...
Mediacom87 Posted April 16, 2016 Share Posted April 16, 2016 Déjà, on commence par dire merci, c'est la moindre des choses. Pourquoi, c'ets pas le supermarché de l'aide gratuite ici. Tu devrais te satisfaire du fait que tu as aidé ton prochain franchement, cela devrait te suffire. Link to comment Share on other sites More sharing options...
Johnny JOUJOU Posted April 16, 2016 Author Share Posted April 16, 2016 je vous pris de m'excuser . En effet je n'avais pas remarqué que je n'avais pas dit merci. Néanmoins je vous remercie pour le temps que vous m'avez accorder. Comme je vous avais dit précédemment je n'ai bidouiller le fichier TPL c'est en vidant le cache que tout ces problèmes ont apparu. Link to comment Share on other sites More sharing options...
BoutikShop69 Posted April 16, 2016 Share Posted April 16, 2016 Bonjour, C´est pas pour rien qu´on conseille de dupliquer son site afin d´avoir une version de développement pour faire ses tests. Ce n´est pas une question de budget, on peut créer un sous-domaine sur son hébergement, ou prendre un hébergement soit gratuit (site-host), soit payant en tarif mutualisé, si l´on souhaite séparer les deux : boutique active et site de test sur un autre serveur. Mais en aucun cas faire des essais modules sur un site de vente en ligne, c´est de l´irresponsabilité. En cas de problème, vous le mettez en vrac et ça le décrédibilise. Dans votre cas, et puisque vous refusez de prendre en compte les corrections qu´on a pourtant eut la gentillesse de vous donner. Le meilleur conseil que je puisse vous donner et de supprimer ce dernier module que vous avez ajouté et qui ne sert à rien même sur une 1.4 Puisqu´il suffit d´aller sur votre ftp, puis répertoire cache / smarty / compile, supprimer tous les fichiers SAUF : index. Montre en main, ça prend 3 minutes, et encore je compte large. Et de restaurer votre site en arrière, au lieu de le laisser en vrac en attendant la solution miracle, personne ne le fera à votre place. Cordialement. Link to comment Share on other sites More sharing options...
Eolia Posted April 17, 2016 Share Posted April 17, 2016 Ok... Il y a forcément eu des modifications du fichier tpl, la ligne dupliquée {if $criterions|@count > 0} n'est pas arrivée là par magie. Tant que le cache n'était pas vidé, vous ne les voyez pas car elles n'étaient pas prises en compte. Cela peut remonter à quelques mois. Au moment du vidage du cache, Prestashop a été obligé de re-compiler à partir des templates (tpl) existants. Et si le code n'est pas conforme, l'affichage qui en résulte ne l'est pas non plus 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