Jump to content

La fiche des produits ne s'affiche plus (RESOLU)


diange

Recommended Posts

Mon probleme est le suivant: Quand l'on souhaite aller sur la fiche d'un produit, la page s'affiche vide.

Voila l'historique: J'ai voulu supprimer le page "nos magasins" pour raison x et j'ai donc supprimé la page "magasins" "id-23".
Suite à cette boulette, plus moyen d'acceder au BO ou au site en tant que visiteur.
Pour reparer ma boulette, j'ai donc reinstallé Prestashop 1.4 RC5 en suivant la procédure de mise à jour.
Tout c'est bien passé, je me suis reconnecté au BO et travaillé normalement, tout paraissait normal et en allant visité mon site je me suis appercu qu'on ne pouvais plus voir la fiche des produits.

Apres de longues recherches je n'ai pas trouvé d'information qui correspondait à mon probleme meme si certain poste y ressemblait.

Je vous joint l'adresse de mon site afin de mieux comprendre http://www.lescharmesdangel.com

Je vous remerci par avance d'avoir pris le temps de me lire et peut etre de m'aider.

Link to comment
Share on other sites

Bonsoir,

Moi je commencerai d'abord par afficher les messages d'erreurs !
Editez votre fichier /config/config.inc.php, et passez les variables ainsi :

/* Debug only */
@ini_set('display_errors', 'on');
define('_PS_DEBUG_SQL_', true);



Rapportez nous votre message d'erreur.

Bien cordialement

Link to comment
Share on other sites

Tout dabord merci pour votre reponse.

Voici le message d'erreur apres modif de mon fichier setting.inc.php :

Fatal error: Smarty error: [in /homez.341/dgminfor/charmeangel/modules/mailalerts/product.tpl line 74]: syntax error: unrecognized tag: $('#oos_customer_email').bind('keypress', function(e) { if(e.keyCode == 13) { addNotification(); return false; (Smarty_Compiler.class.php, line 446) in /homez.341/dgminfor/charmeangel/tools/smarty_v2/Smarty.class.php on line 1095

.

Je vais voir ce que je peut en faire et si quelqu'un a une idée je suis preneur (le php ce n'est pas mon truc...)

Merci

Link to comment
Share on other sites

Merci pour votre reponse.

Dans quel fichier dois-je mettre cette balise setting.inc.php, Smarty_Compiler.class.php, ou Smarty.class.php...?


Dans le fichier qui est donné par le message d'erreur : /modules/mailalerts/product.tpl

Bien cordialement
Link to comment
Share on other sites

Cette balise est déja présente:

[removed]{literal}
// <![CDATA[
oosHookJsCodeFunctions.push('oosHookJsCodeMailAlert');

function clearText() {
   if ($('#oos_customer_email').val() == '[email protected]')
       $('#oos_customer_email').val('');
}

function oosHookJsCodeMailAlert() {
   $.ajax({
       type: 'POST',
       url: '{/literal}{$base_dir}{literal}modules/mailalerts/mailalerts-ajax_check.php',
       data: 'id_product={/literal}{$id_product}{literal}&id;_product_attribute='+$('#idCombination').val(),
       success: function (msg) {
           if (msg == '0') {
               $('#mailalert_link').show();
               $('#oos_customer_email').show();
           }
           else {
               $('#mailalert_link').hide();
               $('#oos_customer_email').hide();
           }
       }
   });
}

function  addNotification() {
   $.ajax({
       type: 'POST',
       url: '{/literal}{$base_dir}{literal}modules/mailalerts/mailalerts-ajax_add.php',
       data: 'id_product={/literal}{$id_product}{literal}&id;_product_attribute='+$('#idCombination').val()+'&customer;_email='+$('#oos_customer_email').val()+'',
       success: function (msg) {
           if (msg == '1') {
               $('#mailalert_link').hide();
               $('#oos_customer_email').hide();
               $('#oos_customer_email_result').html("{/literal}{l s='Request notification registered' mod='mailalerts'}{literal}");
               $('#oos_customer_email_result').css('color', 'green').show();
           }
           else {
               $('#oos_customer_email_result').html("{/literal}{l s='Your e-mail address is invalid' mod='mailalerts'}{literal}");
               $('#oos_customer_email_result').css('color', 'red').show();
           }
       }
   });
   return false;
}{/literal}

$(document).ready(function() {
   $('#oos_customer_email').bind('keypress', function(e) {
       if(e.keyCode == 13) 
       {
           addNotification();
           return false;
       }
   });
});
//]]>
[removed]

<!-- MODULE MailAlerts -->
{if isset($email) AND $email}
   <input type="text" id="oos_customer_email" name="customer_email" size="20" value="[email protected]" class="mailalerts_oos_email"><br />
{/if}
{l s='Notify me when available' mod='mailalerts'}

<!-- END : MODULE MailAlerts -->



Dreamwever me dit qu'il y a une erreur de syntaxe à la ligne 72 qui correspond à: }{/literal}

Merci pour votre aide

Link to comment
Share on other sites

Dans votre code, il faut englober cette partie :

{literal}
$(document).ready(function() {
   $('#oos_customer_email').bind('keypress', function(e) {
       if(e.keyCode == 13) 
       {
           addNotification();
           return false;
       }
   });
});
{/literal}

Link to comment
Share on other sites

voila ce que j'ai maintenant:

[removed]{literal}
// <![CDATA[
oosHookJsCodeFunctions.push('oosHookJsCodeMailAlert');

function clearText() {
   if ($('#oos_customer_email').val() == '[email protected]')
       $('#oos_customer_email').val('');
}

function oosHookJsCodeMailAlert() {
   $.ajax({
       type: 'POST',
       url: '{/literal}{$base_dir}{literal}modules/mailalerts/mailalerts-ajax_check.php',
       data: 'id_product={/literal}{$id_product}{literal}&id;_product_attribute='+$('#idCombination').val(),
       success: function (msg) {
           if (msg == '0') {
               $('#mailalert_link').show();
               $('#oos_customer_email').show();
           }
           else {
               $('#mailalert_link').hide();
               $('#oos_customer_email').hide();
           }
       }
   });
}

function  addNotification() {
   $.ajax({
       type: 'POST',
       url: '{/literal}{$base_dir}{literal}modules/mailalerts/mailalerts-ajax_add.php',
       data: 'id_product={/literal}{$id_product}{literal}&id;_product_attribute='+$('#idCombination').val()+'&customer;_email='+$('#oos_customer_email').val()+'',
       success: function (msg) {
           if (msg == '1') {
               $('#mailalert_link').hide();
               $('#oos_customer_email').hide();
               $('#oos_customer_email_result').html("{/literal}{l s='Request notification registered' mod='mailalerts'}{literal}");
               $('#oos_customer_email_result').css('color', 'green').show();
           }
           else {
               $('#oos_customer_email_result').html("{/literal}{l s='Your e-mail address is invalid' mod='mailalerts'}{literal}");
               $('#oos_customer_email_result').css('color', 'red').show();
           }
       }
   });
   return false;
}{/literal}
{literal}
$(document).ready(function() {
   $('#oos_customer_email').bind('keypress', function(e) {
       if(e.keyCode == 13) 
       {
           addNotification();
           return false;
       }
   });
});
//]]>
{/literal}
[removed]

<!-- MODULE MailAlerts -->
{if isset($email) AND $email}
   <input type="text" id="oos_customer_email" name="customer_email" size="20" value="[email protected]" class="mailalerts_oos_email"><br />
{/if}
{l s='Notify me when available' mod='mailalerts'}

<!-- END : MODULE MailAlerts -->



et le message d'erreur:

Fatal error: Smarty error: [in /homez.341/dgminfor/charmeangel/themes/Angel Theme 1.4.0.10/product.tpl line 291]: syntax error: invalid attribute name: '/' (Smarty_Compiler.class.php, line 1550) in /homez.341/dgminfor/charmeangel/tools/smarty_v2/Smarty.class.php on line 1095

Link to comment
Share on other sites

Il vous suffit d'avancer pas à pas pour résoudre les messages d'erreur :

/product.tpl
line 291
syntax error: invalid attribute name: '/'


Il faudrait surtout savoir ce que vous avez modifiez pour en arriver la.

Bien cordialement
Link to comment
Share on other sites

Voila ce que j'ai dans le fichier Smarty_Compiler.class.php vers la ligne 1550

  /* If the token is a valid identifier, we set attribute name
                      and go to state 1. */
                   if (preg_match('~^\w+$~', $token)) {
                       $attr_name = $token;
                       $state = 1;
                   } else
                       $this->_syntax_error("invalid attribute name: '$token'", E_USER_ERROR, __FILE__, __LINE__);
                   break;

               case 1:
                   /* If the token is '=', then we go to state 2. */
                   if ($token == '=') {
                       $state = 2;
                   } else
                       $this->_syntax_error("expecting '=' after attribute name '$last_token'", E_USER_ERROR, __FILE__, __LINE__);                  break;

               case 2:
                   /* If token is not '=', we set the attribute value and go to
                      state 0. */
                   if ($token != '=') {
                       /* We booleanize the token if it's a non-quoted possible
                          boolean value. */
                       if (preg_match('~^(on|yes|true)$~', $token)) {
                           $token = 'true';
                       } else if (preg_match('~^(off|no|false)$~', $token)) {
                           $token = 'false';
                       } else if ($token == 'null') {
                           $token = 'null';
                       } else if (preg_match('~^' . $this->_num_const_regexp . '|0[xX][0-9a-fA-F]+$~', $token)) {




Je ne vois pas (avec mon oeil d'amateur) où est le probleme, et je n'ai pas de ligne 292 dans mon fichier product.tpl

Link to comment
Share on other sites

  • 4 weeks later...

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