Jump to content

PS 1.6.1.4 page n'affiche que le panier


Recommended Posts

Bonjour, ayant fait la migration d'un site en 1.6.1.4 vers la dernière 1.7, j'avais sauvegardé les fichiers de l'ancienne install dans un sous-domaine. Par distraction, ayant souhaité faire un backup du nouveau site après son installation pour avoir une copie de developpement, j'ai envoyé tous les fichiers dans le dossier de la copie de l'ancien site ...(je me fouette tous les jours depuis ...)

Heureusement, les bdd étaient différentes donc pas de souci concernant les données.
Mais pour ce qui est des fichiers ...

J'ai donc créé un nouveau sous-domaine, dézippé une archive PS 1.6.1.4, supprimé le dossier d'installation, modifié le fichier de configuration pour le faire pointer vers la bdd, et récupéré le dossier du thème puisqu'il n'avait pas été écrasé lors de la copie malencontreuse (le thème étant différent).

Mais il doit manquer quelque chose que je ne vois pas car autant il n'y a aucun souci pour l'admin, autant le front n'affiche que 3 lignes : le panier,  "0 produits dans le panier", et "pas de produits".
Si je mets le thème par défaut, le site s'affiche correctement.

Quand c'est le thème installé, je vois par l'inspecteur que le head ne comprend quasi rien. Vous pouvez voir ce que cela donne ici.

J'ai cherché dans header.tpl dont voici le code :

{*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2012 PrestaShop SA
*  @version  Release: $Revision: 6594 $
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html lang="fr">
    <head>
        <title>{$meta_title|escape:'htmlall':'UTF-8'}</title>
        {hook h="displayAfterTitle"}
        {if isset($smarty.get.p) && $smarty.get.p>1}
             {assign var="metaDesc2" value="{$meta_description} - Page {$smarty.get.p}"}
             {$meta_description = $metaDesc2}
        {/if}
{if isset($meta_description) AND $meta_description}
        <meta name="description" content="{$meta_description|escape:html:'UTF-8'}" />
{/if}
{if isset($meta_keywords) AND $meta_keywords}
        <meta name="keywords" content="{$meta_keywords|escape:html:'UTF-8'}" />
{/if}

        <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
        <meta http-equiv="content-language" content="{$meta_language}" />
        <meta name="generator" content="PrestaShop" />
        <meta name="robots" content="{if isset($nobots)}no{/if}index,{if isset($nofollow) && $nofollow}no{/if}follow" />
        <link rel="icon" type="image/vnd.microsoft.icon" href="{$favicon_url}?{$img_update_time}" />
        <link rel="shortcut icon" type="image/x-icon" href="{$favicon_url}?{$img_update_time}" />
        <script type="text/javascript">
            var baseDir = '{$content_dir}';
            var baseUri = '{$base_uri}';
            var static_token = '{$static_token}';
            var token = '{$token}';
            var priceDisplayPrecision = {$priceDisplayPrecision*$currency->decimals};
            var priceDisplayMethod = {$priceDisplay};
            var roundMode = {$roundMode};
        </script>
{if isset($css_files)}
    {foreach from=$css_files key=css_uri item=media}
    <link href="{$css_uri}?v3" rel="stylesheet" type="text/css" media="{$media}" />
    {/foreach}
{/if}
{if isset($js_files)}
    {foreach from=$js_files item=js_uri}
    <script type="text/javascript" src="{$js_uri}"></script>
    {/foreach}
{/if}

    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <link rel="stylesheet" type="text/css" media="screen" href="{$css_dir}responsive.css" />
    <link rel="stylesheet" type="text/css" media="screen" href="{$css_dir}slicknav.min.css" />
    <script src="{$js_dir}jquery.slicknav.min.js"></script>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script type="text/javascript">

    </script>

        {$HOOK_HEADER}

    <!--[if IE 8]><link rel="stylesheet" type="text/css" media="screen" href="{$css_dir}ie8.css" /><![endif]-->
    <!--[if IE 7]><link rel="stylesheet" type="text/css" media="screen" href="{$css_dir}ie7.css" /><![endif]-->

{* NQ > RM #24778
    <!-- canonical -->
    {if $page_name == 'index' or $page_name == 'search'}
      <link rel="canonical" href="{$base_dir}" />
    {elseif $page_name == 'category' or $page_name == 'best-sales' or $page_name == 'cart' or $page_name == 'discount' or $page_name == 'manufacturer' or $page_name == 'new-products' or $page_name == 'prices-drop'}
      <link rel="canonical" href="{$base_dir}{$request_uri|substr:1|regex_replace:'/\/(.*)/':''|regex_replace:'/\?(.*)/':''}" />
    {else}
      <link rel="canonical" href="{$base_dir}{$request_uri|substr:1}" />
    {/if}
    <!-- /canonical -->
*}
{if isset($canonical_url) && $canonical_url}
    <link rel="canonical" href="{$canonical_url}" />
{/if}

{if isset($page_name) && $page_name == 'index'}
<script type="application/ld+json">
{literal}
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "url": "http://copie.mon-site.com/",
  "logo": "http://copie.mon-site.com/img/logo-1.jpg",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "http://copie.mon-site.com/recherche?controller=search&orderby=position&orderway=desc&search_query={search_term}&submit_search=Rechercher",
    "query-input": "required name=search_term"
  }
}
{/literal}
</script>
{/if}

    </head>

    <body {if isset($page_name)}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if} class="{if isset($PS_THEME_NOEL) && $PS_THEME_NOEL == 1}noel {/if}{if $hide_left_column}hide-left-column{/if} {if $hide_right_column}hide-right-column{/if}{* NQ Thib > RM #37913 *}{if isset($PS_THEME_SOLDES)  && $PS_THEME_SOLDES == '1'} body_soldes{/if}">

    {hook h="displayAfterBodyOpeningTag"} 

    {if isset($PS_THEME_NOEL)  && $PS_THEME_NOEL == '1'}
        <img src="/img/noel/fondGauche.png" id="fond-noel-image-gauche" alt="audilo-noel-gauche"/>
        <img src="/img/noel/fondDroit.png" id="fond-noel-image-droite" alt="audilo-noel-droite"/>
        <style>
            #header { background: transparent; z-index: 99; border-bottom: none; }
            #header_inner { border-bottom: 10px solid #FFFFFF; }
        </style>
    {/if}

    {* NQ Thib > RM #37913 --- *}
    {if isset($PS_THEME_SOLDES)  && $PS_THEME_SOLDES == '1'}
        <img src="/img/soldes/fond_gauche.png" id="fond-soldes-image-gauche" alt="audilo-soldes-gauche" />
        <img src="/img/soldes/fond_droit.png" id="fond-soldes-image-droite" alt="audilo-soldes-droite" />
        <style>
            #header { background: transparent; z-index: 99; border-bottom: none; }
            #header_inner { border-bottom: 10px solid #FFFFFF; }
        </style>
    {/if}
    {* --- *}



{if !$content_only}
        {if isset($restricted_country_mode) && $restricted_country_mode}
        <div id="restricted-country">
            <p>{l s='You cannot place a new order from your country.'} <span class="bold">{$geolocation_country}</span></p>
        </div>
        {/if}
        <div id="page" class="clearfix">


            <div id="header">

                <div id="header_inner" class="border4b">

                    <div id="header_cnt" class="border4b">

                        <div id="headline">

                            <div id="headline_inner">

                                {if isset($phone_num) && $phone_num}

                                <a href="{$link->getPageLink('contact', true)}" title="{l s='Nous contacter'}" class="header_tel border4">
                                    <span class="sprite sprite_header_tel"></span>
                                    {$phone_num}
                                </a>

                                <span>-</span>
                                {/if}

                                <a href="{$link->getPageLink('contact', true)}" title="{l s='Nous contacter'}">
                                    {l s='Nous contacter'}
                                </a>

                            </div>



                        </div>
                        <!-- headline -->


                        <a id="logo_audilo" href="{$base_dir}" title="{$shop_name|escape:'htmlall':'UTF-8'}">

                            {if isset($PS_THEME_NOEL)  && $PS_THEME_NOEL == '1'}
                                <img src="/img/noel/logo_audilo_noel.png" width="160" alt="{$shop_name|escape:'htmlall':'UTF-8'}"/>
                            {else}
                                <img src="{$logo_url}" alt="{$shop_name|escape:'htmlall':'UTF-8'}" {if $logo_image_width}width="{$logo_image_width}"{/if} {if $logo_image_height}height="{$logo_image_height}" {/if} />
                            {/if}

                        </a>

                        <div id="header_link_slogan">
                            {if $smarty.server.REQUEST_URI=='/' || $smarty.server.REQUEST_URI=='/guide-achat'}
                            <h1 id="header_slogan">
                                {l s='Le spécialiste de l’audition et de la protection auditive'}
                            </h1>
                            {else}
                            <div id="header_slogan">
                                {l s='Le spécialiste de l’audition et de la protection auditive'}
                            </div>
                            {/if}
                            <!-- header_slogan -->

                            {$HOOK_TOP_SEARCH}

                        </div>
                        <!-- header_link_slogan -->

                        <div id="header_user_panier">
                            {$HOOK_TOP}
                        </div>
                        <!-- header_user_panier -->
                                                {if $page_name != 'blog'}
                        <div id="header_nav" class="border4">
                            {$HOOK_NAVIGATION}
                        </div>
                                                {/if}
                        <!-- header_nav -->


                    </div>
                    <!-- header_cnt -->

                    <div class="border_img_br border_img sprite sprite_border_br"></div>
                    <div class="border_img_bl border_img sprite sprite_border_bl"></div>

                </div>
                <!-- header_inner -->



            </div>
            <!-- header -->
						<div id="slicknav_container"></div>

            <div id="sub_header">
                {if $page_name != 'category' && $page_name != 'index'}
                    {if $page_name == 'blog'}
                        {include file="$tpl_dir./breadcrumb_blog.tpl"}
                    {elseif $page_name == 'guide'}
                        {include file="$tpl_dir./breadcrumb_guide.tpl"}
                    {else}
                        {include file="$tpl_dir./breadcrumb_product.tpl"}
                    {/if}

                {else}
                    {if $page_name == 'index' && isset($HOOK_SUB_HEADER_SLIDER)}
                        {$HOOK_SUB_HEADER_SLIDER}
                    {/if}
                    {if $page_name == 'category'}
                        {include file="$tpl_dir./category_header.tpl"}
                    {/if}
                {/if}
            </div>
            <!-- sub_header -->


            <div id="container">

                <div id="container_inner">

                    <div id="container_cnt">

                        <div id="columns">

                            <div id="left_column">
                                {$HOOK_LEFT_COLUMN}
                            </div>
                            <!-- left_column -->

                            <div id="center_column" class="clearfix">
    {/if}

J'ai remplacé le fichier par celui du thème par défaut, mais cela ne change rien (cache vidé, recompilation forcée du thème, ...)

Ai désactivé certains modules (comme google analytics, Avis vérifiés, ...)

Afin de vérifier que ce n'était pas un fichier dans override, j'ai renommé les dossiers inclus dedans (mais de toute façon, je suppose que ces overrides sont aussi actifs quand le thème par défaut est activé et là ça fonctionne)

Si quelqu'un pouvait me donner une piste où chercher, car là j'y perds mon latin !

 

Mille mercis d'avance !

 

Link to comment
Share on other sites

Salut Doekia, merci de me répondre. Dans les positions, il y avait des modules indiqués comme greffés mais dont le nom n'apparaissait pas dans les positions appelées dans le header. En cherchant dans la bdd quel module pour quel hook j'ai remis les dossiers manquants et ils apparaissent à nouveau dans le BO. Sans que cela n'ait rien changé en front. Mais même s'ils n'étaient pas greffés, il me semble qu'on devrait quand même voir doctype, les liens vers les css etc dans le header, non ? Et là, à part deux var, il est vide !

Bon, je viens de voir qu'il manquait aussi des dossiers de modules pour des hook action (hooks masqués) , vais voir si je peux les récupérer, qui sait ...

Mais à première vue, ne ne vois pas ce qu'ils ont comme lien avec le header.

Link to comment
Share on other sites

tu ne vas pas me croire, mais je l'ai activé plusieurs fois avant aujourd'hui, le mode debug ! sans que cela n'indique quoique ce soit. J'ai réenvoyé les fichiers du thème au cas où il y aurait une cagade lors de la première fois et je viens de réactiver le debug. Et là, miracle, un message (est-ce par le renvoi du thème, ou parce que j'ai désactivé des modules, ou envoyé les dossiers des modules manquants ?? no se)  

otice: Trying to get property of non-object in /(site)/classes/Tools.php on line 1222

Le code correspondant est

    /**
    * Tokenize a string
    *
    * @param string $string string to encript
    */
    public static function getAdminToken($string)
    {
        return !empty($string) ? Tools::encrypt($string) : false;
    }

    public static function getAdminTokenLite($tab, Context $context = null)
    {
        if (!$context) {
            $context = Context::getContext();
        }
        return Tools::getAdminToken($tab.(int)Tab::getIdFromClassName($tab).(int)$context->employee->id);
    }

    public static function getAdminTokenLiteSmarty($params, &$smarty)
    {
        $context = Context::getContext();
        return Tools::getAdminToken($params['tab'].(int)Tab::getIdFromClassName($params['tab']).(int)$context->employee->id);
    }

Dans laquelle la ligne 1222 est : 

return Tools::getAdminToken($tab.(int)Tab::getIdFromClassName($tab).(int)$context->employee->id);

Je ne comprends pas ce que vient faire admintoken dans le front mais peut-être qu'à toi ça dit quelque chose ?

 

Link to comment
Share on other sites

Comme dit dans mon premier message, ce sont les fichiers d'une installation neuve de PS que j'ai raccordée ensuite à l'ancienne bdd et à laquelle j'ai rajouté le dossier du thème.
Bon là je viens de réactiver le thème par défaut et j'ai la même erreur. J'ai vérifié le fichier dans l'archive dézippée sur le pc et c'est bien celui de PS, non modifié. Et le même message d'erreur s'affiche sur la page produit, liée au module allinone_rewards de Prestaplugin. Mais quand je le désactive, cela ne supprime pas le message d'erreur en haut de page.

Je ne vois pas pourquoi le thème appelle cette fonction en front, mais en tout cas, vu que le site s'affiche avec le thème par défaut malgré cette erreur, ce n'est pas là l'origine du problème avec le thème_NQ

Par contre, avec le thème par défaut, je remarque que tous les appels aux fichiers css etc sont dans body et pas dans head (avec l'inspecteur). Alors que dans header.tpl, ils sont bien dans head.
J'ai déjà eu ça sur un site et avais trouvé pourquoi mais ça fait un bail !

Bon, qu'est-ce qui pourrait interférer sur un thème et pas sur l'autre ? Un module ? Ce que je ne comprends pas c'est d'où sort ce panier !

Link to comment
Share on other sites

Le hook header crash, emet des caractère, les navigateurs ferment le head (qui ne peux contenir de text) et ouvrent un body

<br />
<b>Notice</b>:  Trying to get property of non-object in <b>/var/www/vhosts/audilo.com/copie.audilo.com/classes/Tools.php</b> on line <b>1222</b><br />
<!DOCTYPE HTML>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="fr-fr"><![endif]-->
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8 ie7" lang="fr-fr"><![endif]-->
<!--[if IE 8]><html class="no-js lt-ie9 ie8" lang="fr-fr"><![endif]-->
<!--[if gt IE 8]> <html class="no-js ie9" lang="fr-fr"><![endif]-->
<html lang="fr-fr">

Il semble que ce soit ton context qui est vide

Mais finalement en relisant ton topic depuis l'origine je me demande si des mélanges de fichiers ne sont pas la cause de toutes ces réaction étranges

Supprime tes répertoires classes tools js css controllers et récupère ces dernier depuis l'archive prestashop - vide cache/class_index.php et voyons ce qi se passe

Link to comment
Share on other sites

normalement je n'ai pas touché à ces dossiers puisque j'ai installé les fichiers d'un PS vierge auquel j'ai juste ajouté le dossier du thème et relié à la bdd existante. De plus, pourquoi alors le thème de base fonnctionne-t-il ? mais ok, je vais faire ce que tu me dis et je reviens. merci pour ta patience !

Link to comment
Share on other sites

hélas, pas de changement ... sauf que la ligne suivante, en plus de l'erreur précédente, s'affiche je ne sais combien de fois (theme custom activé) puis le panier. 

Avec lle thème par défaut, il s'affiche(le thème)  mais cette erreur aussi.

Notice: Undefined index: live_edit in /chemin_du_site/classes/Hook.php on line 548

 

Link to comment
Share on other sites

Pour info, j'ai mis le header.tpl du custom thème dans le thème par défaut et le site s'affiche (moche bien sûr mais s'affiche).

Je suppose que si j'avais fait des mélanges de fichiers ailleurs que dans le thème, même le thème par défaut ne s'afficherait pas ? Me trompe-je ?

Serait-ce au niveau des modules ajoutés par le custom thème que je devrais chercher ?

Merci.

Link to comment
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...